master
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
Languages
Rust
55.6%
JavaScript
31.4%
CSS
7.3%
HTML
3.8%
Shell
1.9%