v0.2.0
Native ad-blocking — no extension, Manifest-V3-immune
gjoa now blocks ads, trackers, and cosmetic page junk natively in the engine, off the in-tree Brave adblock-rust filtering engine. No uBlock, no WebExtension, nothing for Manifest V3 to take away.
Download
macOS — Apple Silicon (M1–M4): gjoa-152.0.en-US.mac.dmg
Open the .dmg, drag Gjoa into Applications. First launch only: right-click Gjoa.app → Open → Open (unsigned build, one-time Gatekeeper step). Intel Macs not supported.
Linux — x86_64 (glibc: Pop!_OS / Ubuntu / Fedora / Arch / …): gjoa-152.0.linux-x86_64.portable
Self-contained and relocatable — no install, no Nix on the target:
chmod +x gjoa-152.0.linux-x86_64.portable
./gjoa-152.0.linux-x86_64.portable
What's blocked
- Network — ad/tracker requests killed before they load (EasyList + EasyPrivacy, ~137k rules).
- Cosmetic — leftover ad containers, banners, and placeholders hidden via element-hiding rules (the
##.selectorhalf of uBlock), both at page load and for dynamically-injected ads.
How it works
A native XPCOM service feeds filter lists to adblock-rust; a JSWindowActor injects a page-CSS-proof user stylesheet (display:none!important) for cosmetic hiding. A global toggle (Disable Blocking in the drawer) and per-site allow-listing are wired in.
Notes
- Includes everything from v0.1.x: tree-style tabs, vim keys, workspaces, dark mode.
- First-party blocking and scriptlet injection are intentionally off (site-breakage / provenance boundaries).
- Built on Firefox 152.0. Licensed MPL-2.0, same as Firefox.