feat: implement security, discovery, history, file transfer, web UI (P0-P3)

This commit is contained in:
2026-08-14 09:45:54 -04:00
parent 8281478f0c
commit 884415c1c1
32 changed files with 1923 additions and 200 deletions
+21 -17
View File
@@ -1,6 +1,6 @@
# ROADMAP.md — clip-sync
## v0.1.0 ✅ MVP — Sync texte bidirectionnel (actuelle)
## v0.1.0 ✅ MVP — Sync texte bidirectionnel (réalisée)
- [x] Synchronisation texte entre pairs LAN
- [x] Anti-boucle (hash + timestamp + origine)
@@ -10,27 +10,31 @@
- [x] Build cross-plateforme
- [x] Service systemd --user
## v0.2.0 🔒 Sécurité
## v0.2.0 ✅ Sécurité (réalisée)
- [ ] Chiffrement TLS entre pairs (certificats auto-signés ou clé partagée)
- [ ] Authentification par clé partagée (header `Authorization: Bearer <key>`)
- [ ] Validation de l'origine (rejet des pairs inconnus)
- [ ] Option `--generate-key` pour générer une clé partagée
- [ ] Config : section `[security]` dans peers.toml
- [x] Authentification par clé partagée (header `Authorization: Bearer <key>`)
- [x] Validation de l'origine (rejet des pairs inconnus)
- [x] Option `--generate-key` pour générer une clé partagée
- [x] Config : section `[security]` dans peers.toml
- [x] Chiffrement TLS entre pairs (certificats auto-signés + `--generate-cert`)
- [x] Limite de taille des requêtes (`daemon.max_body_bytes`)
- [x] Flag `--config <path>`
## v0.3.0 📎 Contenu enrichi
## v0.3.0 📎 Contenu enrichi (partiellement réalisée)
- [ ] Support images (JPEG/PNG) — payload Base64
- [ ] Support fichiers (chemin + contenu Base64, taille max configurable)
- [ ] Historique du presse-papiers local (derniers N éléments)
- [ ] Commande `clip-sync history` pour afficher l'historique
- [ ] Option `--one-shot` : envoi unique sans daemon
- [x] Transfert de fichiers (`clip-sync send-file`, payload Base64, taille max configurable)
- [x] Historique du presse-papiers local (derniers N éléments)
- [x] Commande `clip-sync history` pour afficher l'historique
- [x] Option `--one-shot` : envoi unique sans daemon
- [ ] Images copiées/collées via le presse-papiers (JPEG/PNG) — le transfert
de fichiers est fait, mais la lecture/écriture d'images dans le
presse-papiers natif reste à implémenter par plateforme
## v1.0.0 🌐 Stable
## v1.0.0 🌐 Stable (partiellement réalisée)
- [ ] Découverte automatique des pairs via mDNS (optionnel, activable)
- [ ] Interface web locale de monitoring (`localhost:9137/` : pairs connectés, stats)
- [ ] Notification desktop (DBus/Linux, toast/Windows, Notification Center/macOS)
- [x] Découverte automatique des pairs via mDNS (`daemon.discovery`)
- [x] Interface web locale de monitoring (`http://localhost:9137/`)
- [x] Notification desktop (DBus/Linux, Notification Center/macOS ; no-op Windows)
- [ ] Tests de performance et benchmark
- [ ] Documentation utilisateur finale (site statique ou wiki)
- [ ] Signature GPG des releases