The internet is constantly changing, and so are the rules for how websites and apps work. For years, people have used tools to block annoying ads, making web browsing faster and cleaner. But a big change was coming from Google, and it threatened to break many of these tools. This is the story of how one company decided to tackle this challenge head-on.
It all started when Google announced a new set of rules for browser extensions, called Manifest V
- This update was meant to improve security and privacy for users. However, it also made it much harder for ad blockers to work the way they used to. Many ad blockers relied on older methods that would no longer be allowed.
A Brewing Storm for Ad Blockers
For a long time, ad blockers have been a popular way to improve the online experience. They stop pop-ups, banner ads, and other distractions. This not only makes websites load faster but also saves data. Many people consider ad blockers essential tools for a good internet experience.
However, the shift to Manifest V3 was seen by many in the ad-blocking community as a threat. The new rules changed how extensions could interact with web pages. Specifically, they limited the way ad blockers could intercept and block network requests, which is a core function for most blockers. This created a lot of worry about the future of ad blocking.
Google's reasoning for Manifest V3 focused on making the web safer. They wanted to reduce the risk of malicious extensions stealing user data or performing unwanted actions. By restricting certain powerful APIs, they aimed to create a more controlled environment for extensions. But for ad blockers, this felt like a step backward.
The
Challenge of Manifest V3
AdGuard, a well-known name in the ad-blocking world, saw this change coming. They understood the technical hurdles that Manifest V3 would create. The new rules meant that old methods of blocking ads simply wouldn't work anymore. Developers had to find entirely new ways to achieve the same results.
One of the main changes in Manifest V3 was the move away from the webRequest API for blocking. This API was a powerful tool that allowed extensions to see and modify network requests before they were sent or received. Ad blockers used it to identify and block requests to ad servers.
Manifest V3 introduced a new API called declarativeNetRequest. This API works differently. Instead of an extension actively blocking requests, developers must provide a set of rules to the browser. The browser then uses these rules to block requests on its own. This approach is considered more efficient and secure by Google, as the extension doesn't get direct access to all network data.
AdGuard's Bold Move
Faced with this significant shift, AdGuard decided not to wait. They wanted to be the first to offer a working ad blocker that fully supported Manifest V
- This was a difficult technical challenge, requiring a complete rethink of their blocking engine.
Instead of just updating their existing blocker, AdGuard essentially had to rebuild it from the ground up for the new system. They had to figure out how to translate their extensive list of blocking rules into the format required by the declarativeNetRequest API. This involved creating a new system that could efficiently manage and apply these rules.