Skip to content

v0.1.0

Choose a tag to compare

@jegly jegly released this 29 Jul 23:53
· 14 commits to main since this release
Immutable release. Only release title and notes can be modified.

www 0.1.0

First public release. www is a private, security-hardened Android browser built on
android.webkit.WebView, forked from RSS — the feed reader is
gone, replaced by a full browser built on the same encrypted-storage, biometric-lock foundation.

Highlights

  • Sandboxed rendering, verified not assumed — the WebView renderer runs under a distinct
    Android UID (sandboxed_process0), confirmed directly on-device via process inspection, not
    taken on faith
  • Encrypted local history and bookmarks — SQLCipher AES-256, passphrase-gated, never touches
    disk unencrypted
  • App Lock — PIN, password, or pattern as an alternative to biometric-only, wrapping the real
    database passphrase rather than sitting in front of it as a UI-only gate
  • Per-domain overrides — user-agent, JavaScript, cookies, and images can be set per-site,
    independent of global defaults
  • Advanced Protection Mode aware — detects Android's device-wide Advanced Protection Mode
    (API 36+) and locks Safe Browsing, Force HTTPS Only, Block Downloads, and Screenshot Protection
    on while it's active
  • Local network access closed by default — no ACCESS_LOCAL_NETWORK declared (Android 17+),
    verified live: page content cannot reach the device's own LAN or router at all

Privacy controls

  • Block third-party requests, per-toggle
  • Strip tracking parameters (utm_*, fbclid, gclid, and similar) from every URL before load
  • Choice of DNS-over-HTTPS resolver (Cloudflare 1.1.1.1 by default)
  • Incognito mode — cookies, storage, and cache wiped after every page load, not just on close
  • Granular clear-on-exit (cookies, site data, cache, this app's own logcat buffer, independently)
  • IDN homograph protection — punycode conversion and script-mixing detection against lookalike
    domains
  • Site Info panel — tap the address-bar shield for certificate issuer, validity dates, and
    per-page blocked-request count
  • Block Downloads — refuse all file downloads outright, matching the AOSP reference WebView
    shell's behaviour

Security

  • Camera, microphone, and geolocation denied outright — no per-site prompt, because nothing is
    ever declared to grant
  • No JavaScript bridge exposed to page content
  • allowFileAccess/allowContentAccess disabled — pages cannot reach local files
  • network-security-config trusts system CAs only — rejects user-installed CAs, closing the
    common MITM-via-sideloaded-certificate path most browsers leave open
  • Cleartext traffic forbidden at the OS level, independent of the in-app HTTPS-only toggle
  • StrongBox / TEE hardware key isolation on supported devices; AES-256-GCM via Google Tink
  • Signing-certificate tamper detection — refuses to run if re-signed with an unexpected key
  • R8/ProGuard minification and resource shrinking enabled; reflection-dependent libraries
    (SQLCipher, Tink, Room, EncryptedSharedPreferences) verified to survive shrinking intact

Appearance

  • Themes: System / Catppuccin / Dracula / Ptyxis, multiple accent palettes
  • Force-dark web content, wide viewport, swipe-to-refresh
  • Collapsible Settings sections

Known limitations

  • No extensions, no about:config, no true per-profile incognito storage isolation — inherent to
    building on WebView rather than a standalone engine
  • Request interception limited to shouldInterceptRequest (no POST body access, no net-stack
    hooks)
  • No find-in-page, no filter-list (EasyList/EasyPrivacy) parsing, no certificate pinning, no
    Tor/Orbot proxying yet

Requirements

Android 13+ (minSdk 33). Built against compileSdk 37 / targetSdk 37.