Introduction
In a surprising yet welcome development for privacy-conscious users, Firefox has quietly integrated Brave’s high-performance adblock-rust engine. This significant, albeit initially hidden, change in Firefox 149 brings a powerful new dimension to content blocking, leveraging the efficiency of Rust programming language. While not yet active by default, this integration paves the way for advanced, native ad and tracker blocking within Firefox, offering an exciting future for Firefox privacy, especially for those running the browser on Linux systems. Dive in to understand the technical details, the implications for your browsing experience, and how to activate this experimental open-source ad blocker today.
Firefox Integrates Brave’s Open-Source Ad Blocker: A Game Changer for Linux Users
While Firefox 149’s release in March introduced notable features like a built-in VPN and Split View, a more subtle, yet profoundly impactful, addition went largely unnoticed: the integration of adblock-rust. This isn’t just any ad blocker; it’s Brave’s high-performance, open-source Rust-based engine, designed for robust ad and tracker blocking.
The Silent Revolution: Adblock-Rust Lands in Firefox
Shivan Kaul Sahib, VP of Privacy and Security at Brave, revealed this significant move in a blog post, highlighting a collaboration that didn’t even make it into Firefox 149’s official release notes. The integration landed via Bugzilla Bug 2013888, titled “Add a prototype rich content blocking engine,” which was diligently handled by Mozilla engineer Benjamin VanderSloot.
Currently, the engine remains disabled by default, without any user interface or pre-loaded filter lists. This cautious approach underscores its experimental nature, allowing for thorough testing and development before a broader rollout.
Unpacking Adblock-Rust: The Power of Rust for Content Blocking
For the tech-savvy, adblock-rust is the same formidable engine powering Brave’s native content blocker. Written in the highly performant and memory-safe Rust programming language and licensed under MPL-2.0, it offers comprehensive capabilities:
- Network Request Blocking: Stops ads and trackers at the network level.
- Cosmetic Filtering: Hides elements that ad blockers can’t prevent from loading, cleaning up web pages.
- uBlock Origin-Compatible Filter List Syntax: Ensures broad compatibility with popular filter lists, making it highly adaptable.
The adoption of adblock-rust isn’t limited to Firefox; Waterfox, a popular Firefox fork, has also integrated this engine, building directly upon Firefox’s initial implementation. This cross-browser adoption signals a growing recognition of Rust’s advantages in delivering fast, secure, and efficient content blocking.
Unique Linux Tip: For Linux users, the performance benefits of a Rust-based engine are particularly noteworthy. Rust’s focus on speed and memory efficiency means less resource consumption, a boon for older hardware or when running Firefox in a virtual machine or containerized environment on your desktop.
Enabling and Testing This Experimental Open-Source Ad Blocker
Eager to experience this new engine? Here’s how you can activate and test adblock-rust within Firefox. Remember, this is an experimental feature, so proceed with caution.
Pre-requisite: Before you begin, head to the Enhanced Tracking Protection’s shield icon in your address bar and turn it off for the website you intend to test. This ensures adblock-rust is doing the work, not Firefox’s existing ETP feature.
🚧 Important: We strongly recommend testing this experimental feature on a throwaway installation of Firefox. Consider using a dedicated Firefox profile, a fresh installation in a virtual machine (like using GNOME Boxes or VirtualBox on Linux), or even a live USB environment to isolate any potential issues.
- Open a new tab and navigate to
about:config. Accept the warning that appears. - In the search bar, type
privacy.trackingprotection.content.protection.enabledand set it to"true"by clicking on the toggle. 👇 - Next, search for
privacy.trackingprotection.content.protection.test_list_urls. Click the “Edit” button. - Paste the following value to add the widely used EasyList and EasyPrivacy filter lists to Firefox:
https://easylist.to/easylist/easylist.txt|https://easylist.to/easylist/easyprivacy.txt - Remember to click on the blue “Save” button before proceeding.
Testing the Results: Now, visit a site known for its advertisements, such as Yahoo. If the engine is working correctly, you’ll observe that while ad slots might still render within the page layout, the actual ad content will be blocked. In our tests, banner ads on Yahoo displayed only “Advertisement” text, with the intrusive content stripped out effectively.
Left: advertisement shown; Right: advertisement blocked
The Future of Firefox Privacy and Content Blocking
This integration marks a significant step forward for Firefox privacy. By incorporating a performant, open-source ad blocker like adblock-rust directly into its core, Firefox is signaling its commitment to empowering users with robust tools against invasive tracking and advertisements. As this feature evolves from experimental to fully integrated, it promises a faster, cleaner, and more private web experience for its vast user base, particularly benefiting the discerning Linux community.
Back in March, Firefox 149 was released with many changes, like a free built-in VPN, a Split View that allows the loading of two pages side by side, and the XDG portal file picker as the new default on Linux.However, an interesting addition had gone mostly unnoticed until now.Firefox has Some Brave in it nowShivan Kaul Sahib, the VP of Privacy and Security at Brave, has put out a blog post about something that didn’t make it into the Firefox 149 release notes at all. The browser now ships adblock-rust, Brave’s open source Rust-based ad and tracker blocking engine.The change landed via Bugzilla Bug 2013888, which was filed and handled by Mozilla engineer Benjamin VanderSloot. The bug is titled “Add a prototype rich content blocking engine,” and keeps the engine disabled by default with no user interface or filter lists included.For informational purposes, adblock-rust is the engine behind Brave’s native content blocker (aka ad blocker). It is written in Rust and licensed under MPL-2.0, handling network request blocking, cosmetic filtering, and features a uBlock Origin-compatible filter list syntax.Shivan also mentions that Waterfox, the popular Firefox fork, has adopted adblock-rust, building directly upon Firefox’s own implementation.Want to test it?Before starting, head to Enhanced Tracking Protection’s shield icon in the address bar and turn it off for the website you will be testing this with. This way, adblock-rust is doing the work, not Firefox’s existing feature.🚧I suggest testing this experimental feature on a throwaway installation of Firefox.Now open a new tab and go to about:config. Accept the warning when it shows up. Search for privacy.trackingprotection.content.protection.enabled and set it to “true” by clicking on the toggle. 👇Next, search for privacy.trackingprotection.content.protection.test_list_urls, click on the “Edit” button, and paste the following value to add the EasyList and EasyPrivacy filter lists to Firefox:https://easylist.to/easylist/easylist.txt|https://easylist.to/easylist/easyprivacy.txtRemember to click on the blue-colored “Save” button before moving on.Left: advertisement shown; Right: advertisement blockedNow visit a site with known ads, like Yahoo (as I did above). If it’s working, ad slots will still render in the page layout, but the actual ad content will be blocked. In my test, the banner on Yahoo came up showing only the text “Advertisement” with the advert bit stripped out.
FAQ
Question 1: Why is this integration significant for Linux users?
Answer 1: For Linux users, this move means Firefox is adopting a highly efficient and performant open-source ad blocker written in Rust. This aligns well with the Linux philosophy of open source and system efficiency. Rust’s memory safety and speed can lead to a more responsive browsing experience, especially on systems where resources are optimized, which is often the case in the Linux ecosystem.
Question 2: Is this equivalent to a full ad blocker like uBlock Origin right now?
Answer 2: No, not yet. While adblock-rust is a powerful engine, it’s currently integrated as a prototype, disabled by default, and lacks a user interface or pre-configured filter lists out of the box. Users must manually enable it and add filter lists via about:config. It lays the groundwork for a native, high-performance ad blocker but isn’t a complete, user-ready solution like uBlock Origin at this stage.
Question 3: What are the primary benefits of a Rust-based ad blocker?
Answer 3: The main benefits of a Rust-based ad blocker like adblock-rust are its exceptional performance and memory efficiency. Rust is known for creating highly optimized software that consumes fewer system resources while maintaining high speeds. This translates to faster page loading, reduced CPU usage, and less battery drain, contributing to a smoother, more energy-efficient browsing experience for users, particularly relevant on power-constrained devices or when multitasking on Linux.

