v0.0.16
Present the browser as Chrome, Firefox, Safari, Edge, or a mobile browser (Chrome Android, Safari iOS, Samsung Internet, Firefox Android) plus Googlebot/Bingbot, at both the User-Agent and JavaScript level. - src/fingerprint.rs: 15 internally-consistent presets, resolve(), JS config - www/js/fingerprint-spoof.js: stealthy overrides for navigator.*, userAgentData (Client Hints), screen, devicePixelRatio, outer size, touch points, matchMedia, WebGL vendor/renderer, window.chrome - Engine UA via Settings::set_user_agent with site-specific quirks disabled - Settings UI (Browser Identity section), hamburger submenu, and a sovereign://fingerprint debug page comparing spoofed vs real values - Settings persist and sync via NIP-78 Verified in real WebKitGTK 2.52.6 across six presets; sovereign:// pages are never spoofed. Sec-CH-UA request headers are deferred (needs a WebKitGTK web-process extension).
sovereign_browser (Rust)
A Linux x86 web browser built on WebKitGTK and Rust, designed around
sovereign identity instead of the traditional web's permissioned
infrastructure. Identity, messaging, and relay operations are handled through
Nostr, powered by the local
rust_core_lib workspace crates.
Note: This project is a port to Rust from the original C99 project
Sovereign_Browser. The Nostr functionality previously provided by the C librarynostr_core_libis now provided by the Rust workspace crates (nostr_core,nostr_relay,nostr_nips,nostr_signer,nostr_services).
Features
- WebKitGTK-based browser shell with tabs, bookmarks, history, and search
- Sovereign identity via Nostr keys (local + nsigner support)
- Custom
nostr://andlocal://URL schemes - Tor integration (
tor_control+tor_scheme) - Built-in agent system: chat, conversations, skills, tools, MCP, LLM bridge, and an agent server
- Site downloader and offline content embedding
- FIPS / process / profile / settings management UIs
Architecture
The browser is organized into the following modules (see src/lib.rs):
- Browser shell —
tab_manager,menu,session,web_context,webkit_data - Nostr integration —
nostr_bridge,nostr_inject,nostr_scheme,nostr_url,relay_fetch,key_store - Agent system —
agent_loop,agent_chat,agent_conversations,agent_skills,agent_tools,agent_mcp,agent_server,agent_llm - Services —
tor_control,net_services,site_downloader,settings_sync,fips_control
Building
Requirements: Rust (stable), GTK3, WebKitGTK 4.1, and the local
rust_core_lib workspace at /home/user/lt/nostr_core_lib_rust.
cargo build --release
License
MIT