Installation en une ligne
Rapide, sans dépendance à compiler : un binaire unique téléchargé puis exécutable.
Linux / macOS
curl -fsSL https://git.dracodev.net/Projets/clip-sync/raw/branch/main/install.sh | bash
Windows (PowerShell)
irm https://git.dracodev.net/Projets/clip-sync/raw/branch/main/install.ps1 | iex
Le script détecte OS + architecture, télécharge le binaire, l'installe dans
votre répertoire utilisateur et crée une configuration par défaut. Pour choisir
une version précise : CLIP_SYNC_VERSION=v0.2.0 (Linux/macOS) ou
$env:CLIP_SYNC_VERSION='v0.2.0' (Windows).
Démarrage rapide
- Éditez
~/.config/clip-sync/peers.tomlet ajoutez vos machines (voir ci-dessous). - Lancez
clip-syncsur chaque machine. - Copiez du texte ou une image (Ctrl+C), collez sur l'autre machine (Ctrl+V).
Configuration minimale
# ~/.config/clip-sync/peers.toml
[daemon]
port = 9137
poll_interval_ms = 500
[[peers]]
name = "portable"
addr = "192.168.1.20:9137"
Sur l'autre machine, inversez l'adresse. Vous pouvez aussi activer la
découverte automatique (discovery = true) pour ne plus configurer
d'adresse du tout.
Commandes
| Commande | Description |
|---|---|
clip-sync | Lancer le daemon |
clip-sync --config <path> | Config personnalisée |
clip-sync --version | Afficher la version |
clip-sync history | Afficher l'historique local |
clip-sync --one-shot [text] | Envoyer le presse-papiers (ou texte) une fois |
clip-sync send-file <path> | Envoyer un fichier aux pairs |
clip-sync --generate-key | Générer une clé partagée |
clip-sync --generate-cert | Générer un certificat TLS auto-signé |
Configuration
| Clé | Défaut | Description |
|---|---|---|
daemon.port | 9137 | Port d'écoute HTTP(S) |
daemon.poll_interval_ms | 500 | Intervalle de scrutation (ms) |
daemon.max_body_bytes | 10485760 | Taille max d'une requête |
daemon.history_size | 50 | Entrées d'historique conservées |
daemon.discovery | false | Découverte mDNS des pairs |
daemon.notify | false | Notifications desktop |
daemon.sync_images | false | Sync d'images (PNG) |
daemon.receive_files | false | Accepter les transferts de fichiers |
security.shared_key | — | Clé partagée (Bearer token) |
security.allowed_origins | — | Hôtes autorisés |
security.tls | false | Chiffrement TLS entre pairs |
Variables d'environnement : CLIP_SYNC_PORT,
CLIP_SYNC_POLL_MS, CLIP_SYNC_KEY,
CLIP_SYNC_MAX_BODY_BYTES.
Sécurité
Sur un réseau partagé, activez au minimum une clé partagée :
clip-sync --generate-key # copier la clé sur toutes les machines
[security]
shared_key = "LA_CLÉ_GÉNÉRÉE"
Pour chiffrer le trafic, générez un certificat (clip-sync --generate-cert),
copiez cert.pem/key.pem sur chaque machine, puis
tls = true et insecure_skip_verify = true.
Fonctionnalités
- Sync bidirectionnelle (texte + images PNG)
- Anti-boucle (hash SHA-256 + timestamp + origine)
- Clé partagée, validation d'origine, TLS optionnel
- Découverte mDNS, historique, transfert de fichiers
- Interface web locale :
http://localhost:9137/ - Linux (X11/Wayland), Windows, macOS — binaire unique, zéro runtime
Service au démarrage
Linux (systemd) : voir le fichier clip-sync.service.
Windows : utiliser NSSM. macOS : un LaunchAgent
(voir le README pour les détails complets).