Clipboardwire. Clipboard sync between your devices

Copy on one machine, paste on another. Text and images. No cloud account, no SaaS — just a small Rust binary that lives on your LAN or VPN.

Clipboardwire is an open-source tool (GPL-3.0) that synchronises the clipboard between your devices over WebSocket. It runs as a system tray icon, keeps live connection status, and only trusts the path between your own machines — the “hub” (the relay) you run yourself on any always-on machine: a NAS, a workstation, a Raspberry Pi. It started as a Rust rewrite of ClipCascade, but the wire protocol, threat model and operational shape were redesigned for single-user / personal-use deployment on a trusted network.

Right-click menu: live status, hub controls, quick access to settings.
Icon tooltip: current state and the server it’s pointed at.
Settings dialog: a GUI for the config TOML, no editor required.


What it does

  • One binary, three modes (connect / host / serve). About 7 MiB statically linked.
  • System-tray app with live connection status (Connecting / Connected / Disconnected — retrying in N s), a Settings GUI, and Start/Stop/Restart controls for the embedded hub. Linux (X11 and Wayland via GTK + libayatana-appindicator) and Windows. macOS coming.
  • Auto-TLS by default. First time the hub starts, it generates a self-signed certificate under ~/.config/clipboardwire/ and logs its SHA-256 fingerprint. Clients pin it with tls_ca_file, or skip verification with tls_insecure = true on trusted networks.
  • Embedded-hub mode: your always-on workstation can both be the relay and a clipboard participant — no separate serve install needed.
  • Native packages: .deb, .rpm and .msi on every release. The .deb ships a systemd unit (for headless server use) and a .desktop entry.
  • Tests, not vibes: tier-1 smoke tests, Linux DBus-driven menu interaction tests, Windows UI-Automation tray-discovery tests, egui_kittest UI tests for the Settings dialog, an integration test that proves the singleton-lock catches duplicate launches. CI runs all of them on Linux and Windows on every push.

Threat model

Clipboardwire is meant to be used on networks you control (LAN or VPN). The hub sees clipboard contents in plaintext after TLS termination — transport encryption (rustls) protects against attackers on the path between client and hub, not against the hub operator. For sync over the public internet to untrusted infrastructure, the current version is not the right tool; the roadmap includes end-to-end encryption with TOFU device pairing.


Technology

Rust 1.89+. Hub built with tokio + axum. Clipboard adapter via arboard. Tray via tao. Settings dialog via eframe/egui. TLS via rustls.


Status and downloads

Current version: 0.3.3. Source code, packages and releases at github.com/davefx/clipboardwire. Licence: GPL-3.0-or-later.

Shares
Scroll to Top