Initial vault setup
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user