A security-focused web browser built in C++ with Qt6 WebEngine.
- Sandboxed Tabs — Each tab runs in an isolated process with OS-level sandboxing
- Ad & Tracker Blocking — Built-in EasyList/EasyPrivacy filtering, no extensions needed
- DNS-over-HTTPS — Encrypted DNS via Cloudflare or Quad9, preventing ISP snooping
- Zero Telemetry — No analytics, no crash reports, no data collection whatsoever
- Strict TLS — Certificate pinning, TLS 1.2+ only, certificate transparency checks
- Security Indicator — Lock icon in the address bar shows connection security at a glance
- CSP Enforcement — Content Security Policy headers injected and enforced
- Ephemeral by Default — All browsing data wiped on exit; no persistent cookies, cache, or history. Right-click any tab to save its session and persist cookies, cache, and local storage across restarts
- Dark Theme — Custom dark UI with SVG icons, styled tabs, toolbar, and address bar
- Configurable Settings — DNS provider, search engine, ad blocking, JavaScript, and privacy options via a built-in settings dialog
- Download Manager — Built-in download handling with progress tracking, configurable download directory, and toolbar indicator
- Favorites — Full-featured bookmarks system with groups, pinning, drag-and-drop reordering, search, and persistent storage; star button in toolbar, Ctrl+D to toggle, Ctrl+B for panel
- Live Log Viewer — Built-in log panel with syntax-highlighted output, dockable as a vertical or horizontal pane via the View menu
macOS (Homebrew Cask):
brew tap scowser/scowser
brew install --cask scowserLinux (Homebrew Formula):
brew tap scowser/scowser
brew install scowser- C++20 compiler (Clang 14+ or GCC 12+)
- CMake 3.22+
- Qt6 6.5+ with WebEngine module
macOS:
brew install qt@6 cmakeLinux (Debian/Ubuntu):
sudo apt install qt6-webengine-dev qt6-base-dev libqt6svg6-dev cmake g++Linux (Fedora):
sudo dnf install qt6-qtwebengine-devel qt6-qtbase-devel qt6-qtsvg-devel cmake gcc-c++cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --parallel
./build/scowsercmake -B build -DBUILD_TESTING=ON
cmake --build build --parallel
ctest --test-dir build --output-on-failurescowser embeds Chromium via Qt6 WebEngine and layers security controls on top:
┌─────────────────────────────────┐
│ scowser UI │
│ (MainWindow, Tabs, AddressBar) │
├─────────────────────────────────┤
│ Security Layer │
│ AdBlocker · DoH · CertPinner │
│ CSP Enforcer · SessionManager │
├─────────────────────────────────┤
│ Request Interceptor │
│ (filters all network traffic) │
├─────────────────────────────────┤
│ Qt6 WebEngine (Chromium) │
│ (rendering, JS, sandboxing) │
└─────────────────────────────────┘
| Threat | Mitigation |
|---|---|
| Ad/tracker surveillance | Request-level blocking via filter lists |
| DNS snooping | DNS-over-HTTPS with trusted resolvers |
| Data exfiltration | Zero telemetry, ephemeral sessions |
| MITM attacks | Certificate pinning, strict TLS, CT checks |
| XSS / injection | CSP enforcement on all pages |
| Tab compromise | Process isolation + OS-level sandboxing |
See LICENSE for details.
