besynx
Secure, local-first, peer-to-peer browser history and cookie synchronization service powered by Rust, SQLite, and WebExtensions.
Why it exists
Modern browsers isolate history and session credentials into separate silos, while cloud sync tools transmit unencrypted or centralized browsing data to third-party servers. besynx provides private, zero-cloud synchronization directly between local browsers and trusted devices.
How it works
- Runs a lightweight background daemon written in Rust backed by a local SQLite database with locked filesystem permissions (`0600`).
- Couples with Manifest-V3 browser extensions for Chromium and Firefox featuring offline visit event queues.
- Synchronizes cookies bidirectionally with anti-loop protection and strict Origin header validation to prevent Cross-Site WebSocket Hijacking (CSWSH).
- Authenticates remote peer daemons using mutual Ed25519 cryptographic identity keypairs.
What happened
Preventing infinite cookie feedback loops between Firefox and Chromium required careful timestamp and domain debouncing. Once stabilized, switching between browsers kept session logins active without touching the cloud.
What I'd change
I'd add local mDNS peer discovery and WireGuard tunnel integration so mobile Firefox instances on Android sync seamlessly over local Wi-Fi.