Files
clip-sync/ROADMAP.md
T
bruno 736c9024f3 feat: clip-sync v1.0 — daemon de sync clipboard bidirectional en Go
- Daemon Go ~150 lignes, zéro dépendance hors stdlib + toml
- Watch clipboard local (poll 500ms, hash-based dedup)
- Serveur HTTP POST /clip pour réception des pairs
- Anti-boucle d'écho (lastHash + host+TS filtering)
- Cross-platform: Linux (xclip/wl-paste), macOS, Windows
- Configuration TOML statique des pairs
- install.sh one-liner multi-OS
- ARCHITECTURE.md + ROADMAP.md + README.md
2026-08-08 12:02:58 -04:00

2.1 KiB

clip-sync — Roadmap

v1.0 — Le strict nécessaire (main)

  • Watch clipboard local (poll 500ms, hash-based dedup)
  • Serveur HTTP POST /clip pour recevoir les clips des pairs
  • Anti-boucle d'écho (lastHash + host+TS filtering)
  • Cross-platform clipboard: Linux (xclip/wl-paste), macOS (pbpaste), Windows (PowerShell)
  • Configuration TOML statique des pairs
  • install.sh one-liner multi-OS
  • Build cross-platform (GOOS=linux|windows|darwin)

v1.1 — Robustesse

  • Retry HTTP avec backoff exponentiel (pair down → réessayer)
  • Health check /health endpoint
  • Logging structuré (timestamp, niveau, pair)
  • Timeout HTTP (5s) — éviter de bloquer si un pair est down
  • systemd --user unit file + nssm config Windows
  • GoReleaser pour publier les binaires sur les releases Gitea

v2.0 — Fonctionnalités

  • mDNS discovery automatique (alternative à la config statique)
  • cb history — ring buffer local des 50 derniers clips
  • cb push <machine> / cb pull <machine> — mode explicite en plus du sync auto
  • TLS entre pairs (certificats auto-signés)
  • Token d'authentification partagé
  • Filtrage par type (texte seulement, pas d'images/binaire en v1)
  • Support images (base64 dans le payload JSON, avec taille max configurable)

v3.0 — Intégrations

  • Intégration Ditto (Windows) — lecture de Ditto.db SQLite, push automatique
  • Bridge MQTT pour intégration domotique (Home Assistant)
  • Web UI minimale pour voir l'état des pairs
  • API WebSocket pour push temps réel (alternative au polling HTTP)

Non-goals (volontairement exclus)

  • Cloud relay / sync hors-LAN — utiliser Syncthing ou un autre outil
  • Chiffrement bout-en-bout — le LAN est le périmètre de confiance
  • Gestionnaire de presse-papier complet — Ditto, CopyQ, Ringboard existent déjà
  • App mobile — hors scope

Calendrier indicatif

Version Effort Cible
v1.0 1 session Août 2026
v1.1 1 session Septembre 2026
v2.0 2-3 sessions 2027
v3.0 Au besoin Quand Ditto devient prioritaire