---
title: PairDrop
created: 2026-06-08
updated: 2026-06-08
type: app
tags: [catalogue, local-file-sharing, webrtc, typescript, app-marathon3-rattrapage-a]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=File+Sharing, https://pairdrop.net/]
---

# 🔗 PairDrop

> **Partage de fichiers P2P nouvelle génération** : fork moderne de Snapdrop avec Docker, écran de room, notifications, et mode "public" pour Internet.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | [pairdrop.net](https://pairdrop.net) |
| **GitHub** | [schlagmichander/PairDrop](https://github.com/schlagmichander/PairDrop) |
| **License** | GPL-3.0 |
| **Langage** | TypeScript |
| **Étoiles GitHub** | 6.5k ⭐ |
| **Catégorie** | [[cat-local-file-sharing|Local File Sharing]] |

## 📝 Description

**PairDrop** est le **fork moderne de Snapdrop** par schlagmichander, qui ajoute des fonctionnalités attendues : Docker natif, TURN server, QR codes, et mode "rooms" pour partager entre pairs à distance.

Fonctionnalités :
- ✅ **P2P via WebRTC** : pas de serveur de fichiers
- ✅ **Mode "Same Network"** : LAN-only (comme Snapdrop)
- ✅ **Mode "Public"** : utilise un TURN server pour traverser Internet
- ✅ **Rooms** : créez un salon et partagez le lien/QR code
- ✅ **Pair via URL** : envoyez un lien, le destinataire accepte
- ✅ **Auto-pairing** : basé sur le navigateur/IP
- ✅ **Notifications web** : push pour nouveaux pairs
- ✅ **Historique des transferts**
- ✅ **Multi-fichiers et dossiers**
- ✅ **Self-hostable** : Docker officiel

**Différence vs Snapdrop original** : PairDrop = Docker natif, TURN server intégré, rooms, notifications, sécurité durcie. Snapdrop = démo plus simple.

**Pour qui** : équipes distantes, freelances qui partagent avec clients, ateliers en présentiel, communautés en ligne.

## 🚀 Installation

### Docker Compose (recommandé)

```yaml
version: '3.8'
services:
  pairdrop:
    image: ghcr.io/schlagmichander/pairdrop:latest
    container_name: pairdrop
    restart: unless-stopped
    ports:
      - "3000:3000"
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.pairdrop.rule=Host(`drop.example.com`)"
      - "traefik.http.routers.pairdrop.tls.certresolver=letsencrypt"
    environment:
      - RTC_CONFIG_IPV4=stun.l.google.com:19302
      - RTC_CONFIG_IPV6=stun.l.google.com:19302
```

### Option : TURN server (pour le mode public)

```yaml
version: '3.8'
services:
  pairdrop:
    image: ghcr.io/schlagmichander/pairdrop:latest
    container_name: pairdrop
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      - RTC_CONFIG_IPV4=turn:turn.example.com:3478
      - RTC_CONFIG_IPV4_USERNAME=pairdrop
      - RTC_CONFIG_IPV4_CREDENTIAL=changeme
    depends_on:
      - coturn

  coturn:
    image: coturn/coturn:latest
    container_name: pairdrop-turn
    restart: unless-stopped
    ports:
      - "3478:3478/udp"
      - "3478:3478/tcp"
    command: >
      -n
      --realm=turn.example.com
      --user=pairdrop:changeme
      --listening-port=3478
      --no-tls
      --no-dtls
```

## 🔄 Alternatives

### Open Source
- [[app-snapdrop]] — original
- [[app-localsend]] — apps natives
- **ShareDrop** — concept originel
- **WebWormhole** — E2E chiffré
- **Wormhole** — CLI magic-wormhole
- **Send** — version Send spécifique

### Propriétaires
- **WeTransfer** — cloud freemium
- **Firefox Send** — déprécié
- **Send Anywhere** — code à 6 chiffres
- **Dropbox Transfer** — jusqu'à 100 MB

## 🔐 Sécurité
- **WebRTC DTLS** : chiffrement E2E P2P
- **TURN server** : pour traverser les NAT en mode public
- **Auth via room** : code unique par session
- **Pas de log serveur** : conçu pour la vie privée
- **HTTPS obligatoire** : WebRTC
- **Rate limiting** : protection contre abus
- **CSP headers** : protection XSS

## 📚 Ressources
- [Documentation](https://github.com/schlagmichander/PairDrop)
- [GitHub](https://github.com/schlagmichander/PairDrop)
- [Démo](https://pairdrop.net/)

## Pages Liées
- [[cat-local-file-sharing]] — Catégorie File Sharing
- [[app-snapdrop]] — Original
- [[recettes-docker-compose]] — Templates Docker
