ValenceLink

A local-only, Bluetooth-powered notification and messaging integration bridge between Linux and Android.

Device Sync GPL-3.0-only Rust / Kotlin Active Status

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), or auto-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

bash - CLI Usage
# List all verified cryptographic peer signatures cargo run -p valencelink-linux-daemon -- trust list # Revoke access key for a specific device signature cargo run -p valencelink-linux-daemon -- trust revoke <device-fingerprint> # Clear all pairing registries and start fresh cargo run -p valencelink-linux-daemon -- trust reset

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:

bash - Event Follow
VALENCELINK_RUN_EVENT_INSPECTOR=1 VALENCELINK_EVENT_INSPECTOR_FOLLOW=1 \ cargo run -p valencelink-linux-daemon