clip-sync

Daemon de synchronisation bidirectionnelle du presse-papiers sur réseau local. Copier sur une machine → coller sur une autre.

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

  1. Éditez ~/.config/clip-sync/peers.toml et ajoutez vos machines (voir ci-dessous).
  2. Lancez clip-sync sur chaque machine.
  3. 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

CommandeDescription
clip-syncLancer le daemon
clip-sync --config <path>Config personnalisée
clip-sync --versionAfficher la version
clip-sync historyAfficher 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-keyGénérer une clé partagée
clip-sync --generate-certGénérer un certificat TLS auto-signé

Configuration

CléDéfautDescription
daemon.port9137Port d'écoute HTTP(S)
daemon.poll_interval_ms500Intervalle de scrutation (ms)
daemon.max_body_bytes10485760Taille max d'une requête
daemon.history_size50Entrées d'historique conservées
daemon.discoveryfalseDécouverte mDNS des pairs
daemon.notifyfalseNotifications desktop
daemon.sync_imagesfalseSync d'images (PNG)
daemon.receive_filesfalseAccepter les transferts de fichiers
security.shared_key—Clé partagée (Bearer token)
security.allowed_origins—Hôtes autorisés
security.tlsfalseChiffrement 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

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).