privacy-browser Svelte Themes

Privacy Browser

Privacy-focused browser built with Tauri v2 + Svelte + adblock-rust

Glass

See through the web.

Glass is a transparent privacy browser that doesn't just block trackers — it shows you exactly what it's protecting you from. Built with Tauri, Svelte, and adblock-rust.

Features

  • Real-time tracker blocking — Powered by Brave's adblock-rust engine with 140k+ filter rules (EasyList + EasyPrivacy)
  • Live tracker feed — See every blocked request as it happens, categorized by type (Advertising, Analytics, Social, Fingerprinting, etc.)
  • Tracker intelligence — Click any tracker to see who owns it, what data it collects, and its risk level
  • Investigation mode — Full-screen dashboard for deep-diving into what sites are doing behind the scenes
  • Fingerprint protection — Randomizes Canvas, WebGL, and Navigator APIs
  • HTTPS upgrade — Automatically upgrades insecure connections
  • Cosmetic filtering — Hides ad elements and tracking pixels from the DOM
  • Custom new tab page — Clean, minimal start page with search and shortcuts

Architecture

┌──────────────────────────────────────────┐
│  Svelte Frontend (Browser Chrome)        │
│  TabBar · AddressBar · PrivacyPanel      │
├──────────────────────────────────────────┤
│  Tauri IPC Bridge                        │
├──────────────────────────────────────────┤
│  Rust Backend                            │
│  ├── blocker/   adblock-rust engine      │
│  ├── tabs/      multi-webview lifecycle  │
│  ├── privacy/   categorization + FP      │
│  └── scripts/   injected content scripts │
└──────────────────────────────────────────┘

Each browser tab is a native Tauri child webview. The main window renders the browser chrome (tab bar, address bar, panels) in Svelte, while tab content runs in separate webview processes.

Getting Started

Prerequisites

  • Node.js 18+
  • Rust 1.77+
  • Tauri CLInpm install -g @tauri-apps/cli
  • macOS 12+ (Windows/Linux support planned)

Development

# Clone
git clone https://github.com/Atomics-hub/privacy-browser.git
cd privacy-browser

# Install dependencies
npm install

# Run in dev mode
npm run tauri dev

Build

# Build release binary
npm run tauri build

The built app will be at src-tauri/target/release/bundle/macos/Glass.app.

How It Works

Tracker blocking: On macOS, Glass uses a dual approach. Filter rules are converted to Apple's WKContentRuleList format for engine-level blocking. A content script (PerformanceObserver + error events) detects blocked resources and reports counts back to the Rust backend.

Cosmetic filtering: A MutationObserver in each tab collects DOM class and ID selectors, sends them to the adblock-rust engine, and injects CSS to hide matching elements.

Fingerprint protection: Injected scripts randomize Canvas getImageData, WebGL renderer strings, and Navigator/Screen properties to prevent cross-site fingerprinting.

Blocked count: Displayed as approximate (~N) since WebKit's content blocking API doesn't provide per-block callbacks.

Tech Stack

Layer Technology
Desktop framework Tauri v2
Frontend Svelte 5 + TypeScript
Backend Rust
Ad blocking adblock-rust (Brave's engine)
Filter lists EasyList + EasyPrivacy
Build Vite 7

Roadmap

  • Local AI integration (Ollama) for page summarization and tracker explanations
  • Reader mode
  • Custom filter list support
  • Windows and Linux builds
  • Keyboard shortcuts and command palette
  • Dark/light theme toggle
  • Extension support

License

MIT

Top categories

Loading Svelte Themes