Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
+136
View File
@@ -0,0 +1,136 @@
---
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