Overview
ValenceLink is designed to act as a lightweight, secure, and modern replacement for KDE Connect / GS Connect, focused entirely on a local-only scope. By rejecting Wi-Fi and WAN network connections, it ensures that device communications never leak onto local network routers or the public internet.
The stack is split into a background Rust daemon on Linux, a desktop interface built with GTK4/libadwaita, and a foreground notification listener service on Android.
Core Capabilities
Local BLE & RFCOMM Transport
- Bluetooth Core: Discovers target endpoints via Bluetooth Low Energy (BLE) advertisements and sets up dedicated RFCOMM channels for payload transfer.
- No Wi-Fi Needed: Operates fully in public places, offices, and cafes without requiring shared network permissions or router routing configs.
Integration Features
- Notification Sync: Forwards incoming Android notification popups directly to the Linux desktop shell (using native D-Bus notification protocols).
- SMS Sync & Reply: List and read mobile SMS inbox message feeds, and compose reply messages directly from the Linux desktop app.
High Security & Trust Management
- Cryptographic Pairing: Handshake pairing challenge occurs on every negotiation session. Peer trusts are pinned using cryptographic public key fingerprints, rendering Bluetooth MAC address spoofing impossible.
- Android Policies: Choose how pairing is handled:
auto-accept(for pre-trusted devices),prompt(actionable mobile prompt notifications), orauto-reject(hardened).
Operations & CLI
ValenceLink features a rich Command-Line Interface (CLI) baked into the daemon binary for handling system pairings and checking device histories:
Trust Management CLI
Daemon Logs & Events Journal
Event trails and active frame data are recorded as JSON Lines records, ideal for audits or developer inspections:
- Active state configuration:
~/.config/valencelink/daemon-state.json - Real-time event logging feed:
~/.config/valencelink/incoming_frames.jsonl - Authentication audits record:
~/.config/valencelink/trust-audit.jsonl
Launch the built-in event logs inspector in follow-mode: