--- 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