Zero cloud dependency • MIT & Apache 2.0

Cross-device clipboard and file sync that doesn't touch the cloud.

CDUS connects your Linux, Windows, macOS, and Android devices directly over your local Wi-Fi. Authenticated with the Noise Protocol. A single native Rust binary running quietly in the background under 18 MB of RAM.

curl -fsSL https://cdus.dev/install.sh | bash

How CDUS operates

No cloud servers, no account logins, and no complex network setup.

1. Pairing

Out-of-band QR authentication with Noise XX

When pairing two untrusted devices, your desktop displays an ephemeral QR code encoding its local socket and temporary public key. Pointing your phone's camera at the screen initiates a 3-way Noise_XX Diffie-Hellman handshake.

Both screens display matching 6-digit confirmation numbers derived from the cryptographic transcript. Once accepted, devices store public keys in the operating system's native hardware keychain.

Read the cryptographic specification →
Terminal • Pairing Handshake
$ cdus pair --qr
Listening on 192.168.1.104:4242
[+] Received Noise XX message 1 from 192.168.1.182
[+] Sent Noise XX message 2 (e, s, ee, se)
[+] Mutual authentication verified.
Confirm 6-digit SAS matches on peer: [ 849 203 ]
[+] Device 'Pixel 8a' added to OS keychain.
2. Concurrency

Thread-pipelined sync without async runtime starvation

Heavy asynchronous frameworks can suffer from thread-pool starvation when gigabyte disk I/O shares an executor with real-time socket events.

CDUS uses dedicated OS threads linked by bounded Flume channels. Sockets, decryption stages, disk writers, and clipboard pollers run on isolated pipelines. A 50 GB file transfer running at max wire speed will never add even 5 milliseconds of delay to your clipboard sync.

Explore the thread pipeline architecture →
Engine Metrics
$ cdus status --verbose
Daemon: Running (pid 14201, uptime 4d 12h)
Memory RSS: 14.2 MB (sustained)
Channels:
  • rx_socket_queue: 0 / 128 (empty)
  • decrypt_stage:   0 / 64  (empty)
  • disk_chunk_pool: 4 / 64  (streaming)
Clipboard latency: 14 ms (p99)
3. Transport

Direct LAN sockets with zero-knowledge relay fallback

Whenever possible, devices stream directly across local Wi-Fi or Ethernet at native NIC speeds. But if you connect through a mobile hotspot or hotel Wi-Fi with client isolation enabled, CDUS falls back to an open-source TURN relay.

The relay forwards encrypted Noise packets blindly without holding private keys. Every 1 MB chunk is tree-hashed with BLAKE3. If your laptop drops off the network, the transfer resumes instantly from the exact missing chunk upon reconnection.

Review network fallback mechanics →
Resume Integrity Check
$ cdus transfer resume 9f84a2
Target: /home/user/Downloads/backup.tar.zst (4.2 GB)
Scanning existing chunks on disk...
[========================] 3,410 / 3,410 verified (BLAKE3)
Requesting missing chunks: 3,411..4,200
Reconnected via LAN Direct (192.168.1.182:4242)
Transfer completed in 6.4s without full retransmission.

Comparison with alternatives

A transparent look at architectural tradeoffs across popular tools.

Feature / CapabilityCDUSAirDropKDE ConnectLocalSendCloud Sync
Operating SystemsLinux, Win, Mac, AndroidApple devices onlyLinux, Android (Win/Mac partial)Cross-platformCross-platform
End-to-End EncryptionNoise XX & IK (ChaChaPoly)TLS / Apple IdentityTLS (RSA/ECDSA)HTTPS / TLSVaries / Cloud-managed keys
Zero Cloud Upload100% Local-FirstLocal P2PLocal P2PLocal P2PUploads to Cloud Servers
NAT / Firewall FallbackEncrypted TURN RelayFails outside LAN/BTFails if LAN blockedFails if LAN blockedCloud routed
Background Sync Footprint< 18 MB RAM (Native Rust)Native OS Daemon50–120 MB (Qt / JVM)70–160 MB (Flutter)120–400 MB (Sync Clients)
Requires Account / LoginNo account neededRequires Apple IDNo account neededNo account neededMandatory Account
Chunked Transfer ResumeYes (BLAKE3 1MB chunks)Restarts from 0%Restarts from 0%Restarts from 0%Chunked upload

Supported platforms

Direct native installers built from our continuous integration matrix.

Linux

.deb, .AppImage, AUR, systemd service

Get Linux

Windows

Windows 10/11 64-bit, NSIS & MSI

Get Windows

macOS

Universal binary for Apple Silicon & Intel

Get macOS

Android

Android 10+, Jetpack Compose, KeyStore

Get Android