Loading repository data…
Loading repository data…
ChinmayyK / repository
A blazing-fast, decentralized device ecosystem. Connect an unlimited number of macOS, Android, Windows, and Linux machines to securely relay clipboards, files, and system states over your local network.
Deskdrop is a production-grade, zero-server shared clipboard and peer-to-peer file transfer engine. Designed to replace bloated cloud-dependent clipboard syncing tools, it keeps your data entirely within your local area network (LAN) or private VPN. Powered by a shared Rust core, Deskdrop is blazing fast, light on system resources, and offers premium native integrations for macOS, Android, Linux, and Windows.
Unlike generic clipboard managers or complex sync utilities, Deskdrop focuses on three core pillars:
Deskdrop employs a modular, decoupled architecture centered around a high-performance Rust Engine Library (deskdrop-core). Native platforms interface with the core via direct C FFI, JNI (Android), or Named Pipe IPC (CLI & Daemons).
┌───────────────────────────────────────────────────────────────────────────────────────────┐
│ PLATFORM LAYER │
│ macOS (Swift UI) Android (Kotlin/JNI) Windows (C#/WinUI) Linux (GTK) │
└───────────┬───────────────────────┬─────────────────────────┬──────────────────────┬──────┘
│ │ │ │
│ Native C FFI │ JNI Direct │ Named Pipe IPC │ Unix IPC
▼ ▼ ▼ ▼
┌───────────────────────────────────────────────────────────────────────────────────────────┐
│ DESKDROP-CORE (RUST) │
│ │
│ ┌───────────────────────┐ ┌───────────────────────┐ ┌───────────────────────────┐ │
│ │ COORDINATOR │ │ NETWORKING │ │ SECURITY SUITE │ │
│ │ • engine.rs │ │ • network.rs │ │ • crypto.rs │ │
│ │ • engine_support.rs │ │ • network_manager.rs│ │ - X25519 Ephemeral │ │
│ │ • peer_manager.rs │ │ • discovery.rs │ │ - HKDF-SHA256 │ │
│ └───────────┬───────────┘ │ - mDNS Private │ │ - ChaCha20-Poly1305 │ │
│ │ └───────────┬───────────┘ │ • pairing.rs │ │
│ ▼ ▼ │ - PINmod10^6 │ │
│ ┌───────────────────────┐ ┌───────────────────────┐ │ • trust.rs (TOFU) │ │
│ │ DATA STORES │ │ SYNC CONTEXT │ └───────────────────────────┘ │
│ │ • history.rs │ │ • sync_controller.rs│ ┌───────────────────────────┐ │
│ │ • activity.rs │ │ • dedup.rs │ │ FILE TRANSFER │ │
│ │ • settings.rs │ │ • filter.rs │ │ • chunked.rs (256KB) │ │
│ └───────────────────────┘ │ • throttle.rs │ │ • probe.rs (Adaptive) │ │
│ └───────────────────────┘ └───────────────────────────┘ │
└───────────────────────────────────────────────────────────────────────────────────────────┘
_deskdrop._tcp.local. using mDNS. Incompatible versions are pruned early, and IPv4/IPv6 connections are prioritized dynamically.HelloFrame / HelloAckFrame): Peers establish identity and platform metadata. Ephemeral X25519 ECDH keys are exchanged in plaintext.ClipboardPush, FileChunk, CallStateUpdate, BatteryStatus) are encrypted with ChaCha20-Poly1305 using strictly monotonic counter nonces.CRIT-02): Memory containing Diffie-Hellman shared secret bytes is explicitly zeroized in RAM immediately after HKDF expansion to eliminate cold-boot vulnerabilities.PairingPin).TRU-06): Friendly device names are never broadcast in plain-text mDNS TXT records. Only opaque UUIDs are published. Canonical device names and OS telemetry are exchanged only after a successful encrypted handshake.FILE_CHUNK_SIZE), capped strictly at 512 MB per payload to prevent resource exhaustion attacks.last_confirmed_chunk + 1.Downloads directory across all platforms, shielding against path-traversal attacks (../).ProcessInfo.beginActivity to prevent Apple's App Nap from throttling background daemon syncs.SetThreadExecutionState to halt Modern Standby sleep transitions during active file transfers.ringing, offhook, idle) and relay them to macOS peers, bringing premium glassmorphic notification controls to remote screens..exe, .sh), and sensitive-text heuristics to aggressively block OTPs, API keys, or passwords from bleeding out to other devices.The deskdrop-cli binary communicates with the background Rust daemon over local IPC channels (Unix Domain Sockets / Windows Named Pipes). It offers a powerful admin utility for power users and automation scripts.
# Start the core background daemon natively
cargo run -p deskdrop-core --bin deskdrop-daemon
# Check the health of the daemon
cargo run -p deskdrop-cli -- status
# Expected Output: Daemon is running. Active Connections: 3, Uptime: 4h 23m
# Safely shut down the background daemon
cargo run -p deskdrop-cli -- stop
# Ping the daemon to test IPC latency
cargo run -p deskdrop-cli -- ping
# Expected Output: PONG (1.2ms)
# View real-time metrics (latency p50/p95, bandwidth throughput)
cargo run -p deskdrop-cli -- metrics
# Query the most recent 20 items in the clipboard history
cargo run -p deskdrop-cli -- history --last 20
# Pin an item in the history so it isn't evicted
cargo run -p deskdrop-cli -- history pin <id>
# Add a custom tag to an item for searching later
cargo run -p deskdrop-cli -- history tag <id> "work"
# Export the entire history feed to a JSON file for backup
cargo run -p deskdrop-cli -- history export json > backup.json
# Clear all historical payloads from the ring buffer
cargo run -p deskdrop-cli -- history clear
# List all discovered and paired devices
cargo run -p deskdrop-cli -- devices list
# Manually trust a device via its UUID (TOFU bypass)
cargo run -p deskdrop-cli -- devices trust <device-id>
# Temporarily pause or resume synchronization with a specific peer
cargo run -p deskdrop-cli -- devices peer-settings <device-id> pause
cargo run -p d