Firefox browser has started shipping Brave's adblock-rust engine
Mozilla is experimenting with Brave's adblock engine, here's how to turn it on.
Mozilla bundled adblock-rust (Brave’s Rust-based adblock engine, the same one my team works on) into Firefox. Pretty exciting to see them finally start taking ad & tracker blocking seriously; I didn’t think I’d see the day where adblock-rust would be bundled into Firefox. It landed in Firefox 149 via Bugzilla Bug 2013888. It’s clearly still an experiment: disabled by default, no usable UI, no filter lists, and as far as I can tell, no press coverage.
I previously tweeted posted about Waterfox adopting adblock-rust. It looks like Waterfox is piggy-backing off of Firefox’s implementation (great!). Thanks to Moritz for the pointer to Firefox’s bug linked to from Waterfox’s adblock-rust implementation issue.
How to enable Brave’s adblocking engine in Firefox
Open about:config in Firefox 149+ and set:
privacy.trackingprotection.content.protection.enabled = true
Then point it at some filter lists. It currently ships with no filter lists by default; you have to supply them yourself. To add EasyList and EasyPrivacy filter lists:
privacy.trackingprotection.content.protection.test_list_urls = https://easylist.to/easylist/easylist.txt|https://easylist.to/easylist/easyprivacy.txt
Changing the test_list_urls pref triggers a full reload, but the lists seem to be cached in my testing.
All prefs
Just search for privacy.trackingprotection.content in about:config. I found the following:
privacy.trackingprotection.content.protection.enabled: Enable blockingprivacy.trackingprotection.content.annotation.enabled: Enable annotation (tagging without blocking)privacy.trackingprotection.content.protection.test_list_urls: Pipe-delimited list URLs for blockingprivacy.trackingprotection.content.annotation.test_list_urls: Pipe-delimited list URLs for annotationprivacy.trackingprotection.content.testing: Fire observer notifications when lists load (for devs)
It looks like Firefox’s bundling supports two modes:
- Protection: matches and blocks requests against filter lists.
- Annotation: matches and tags requests for telemetry/UI, but doesn’t block.
I’m curious to see where this experiment goes!