The first ad blocker extension for Chrome that is compatible with Google's Manifest V3 is now available.
An extension manifest outlines the permissions and abilities a developer includes in an extension for Chrome browser.
In version 3 of the manifest, Google changes the webRequest API to block extensions from modifying the data before it's shown to the user, which renders ad-blockers useless.
The new ad-blocking extension that complies with Manifest V3 requirements comes from AdGuard, a developer of ad-blocking software. The extension is in an experimental stage.
It was released to help identify margins for improvement and solutions to limitations. Even so, it highlights the restricting nature of Manifest V3.
In the release announcement, AdGuard analyzes the workarounds they had to implement to comply to the latest requirements, the problems that still exist, and ideas for making the final version as functional as possible.
Manifest V3 impact
Manifest V3 was first announced in 2020 and became available with the release of Chrome 88, which came out in January 2021.
The Chrome Web Store stopped accepting extensions built on Manifest V2 in January 2022. All extensions using the previous version will stop working by January 2023.
From Google's perspective, Manifest V3 comes to enhance user privacy and security by:
- Limiting extension access to user network requests.
- Forcing authors to include all functionality within the extension, ending the practice of hosting code remotely.
- Moving network request modifications from the extensions to the browser.
- Replacing background pages with dedicated service workers to improve browser performance.
Inevitably, the above features introduce severe limitations to special-purpose extensions like ad-blockers.
Limited ad-blocking actions
The new AdGuard extension is technically weaker than its predecessor. According to the vendor, compliance to the new protocol is the only reason for this backward step.
First, the new extension has to abide by a limit of 30,000 filtering rules and 5,000 dynamic rules set by the users themselves.
If the user has installed multiple ad-blocking extensions on their browser, a global limit of 330,000 filtering rules is applied, so AdGuard might have even smaller leeway.
The second problem is the inability to load rules to the filtering engine from the extension's server. AdGuard now has to define a set of declarative rules and let Chrome handle the network request filtering process.
Because the new syntax for the rules is very limiting, not all existing rules can be converted, including Cookie rules that block certain trackers.
"negative lookahead" is often used in filters. A quick search showed that there are currently 43 rules with this expression in AdGuard filters. At first glance, this is not many, but keep in mind that most of these rules are supposed to work on many different domains, so I'd say this limitation alone cripples ad blocking on 1000+ websites. - AdGuard
The inability to refresh rules directly from the server will also cause delays in updating them and responding to new blocking requirements from website changes. AdGuard estimates these rule updates will now be "several days" apart.
The third issue ad-blockers face with Manifest V3 is that users can no longer look at the filtering logs (present in manifest V2) because the browser is now blocking the ads.
The only workaround is to unpack and install the extension in Developer Mode, which gives the software access to debugging options required to accept statistical data from the browser.
Finally, replacing the background page with a service worker causes performance issues, as the latter goes dormant when there's no browser activity.
Once a new page loads, the worker requires up to two seconds to wake up. While the declarative rules will still work to block the ads, there's a delay in applying the cosmetic filter to make the ads disappear.
"Although the experimental extension is not as effective as its predecessor, most users won't feel the difference," says AdGuard.
"The only thing you might notice is ad flickering due to the lag in the application of cosmetic rules," the developer adds.
Testing the experimental version of AdGuard is possible by installing it from the Chrome Web Store or by getting the source code from GitHub, where developers expect user feedback.
Comments
NoneRain - 1 year ago
One alternative for those that like Chrome, it to buy the Adguard app (desktop and mobile). It's really cheap and works great. I've being using it for years.
xafase - 1 year ago
Yeah, no thanks. I am not paying a subscription fee for a Chrome variant that is worse at blocking ads than Waterfox and uBlock Origin.
NoneRain - 1 year ago
What? Adguard isn't a browser. They have free extensions, but the application is another league. It is not limited by any browser API.
xafase - 1 year ago
Ok. I was more remembering the phone app.
But it is still trash. Just installed it.
Slower, blocks less, breaks pages by default and causes cert errors on each site I go to.
NoneRain - 1 year ago
Not my experience with the app at all. Working flawless filtering browsers and other apps as well, on Windows and Android, including those that browser's extensions can't get around.
Maybe you are using iOS? If that is the case, then you'll always be limited.
https://adguard.com/pt_br/adguard-windows/overview.html
https://adguard.com/pt_br/adguard-android/overview.html
d-reaper - 1 year ago
Or, just stop using Chrome based web browsers, people. That, and set up a PI Hole server. I use Pi Hole and I use Librewolf with ad block. Perfect combo.
Once you give any corporation their monopoly, they have the all the cards to do what they want, when they want (just like Microsoft; which is also why I will never use Windows again and will only use Linux).
Nighthawk658 - 1 year ago
"One alternative for those that like Chrome, it to buy the Adguard app (desktop and mobile). It's really cheap and works great. I've being using it for years."
I have the adguard app on my mobile phone also and it has been pretty good at blocking ads system wide and prevents websites from opening new tabs
For me it has done very well in apps that often keep popping up ads every so often and one thing I hate the most is those 30 second videos often enough scam ads for some fake PayPal winnings
The only issue I have with adguard is it doesn't block ads in the YouTube app on my mobile but I watch YouTube on laptop and ABP does the job
And another good point about adguard is they have a private DNS link so if you don't have the app or don't want to pay for it. Just add the link to private DNS on your mobile under network and internet settings and that is actually just as good
xafase - 1 year ago
"The only thing you might notice is ad flickering due to the lag in the application of cosmetic rules," the developer adds.
That is a pretty big downgrade. That will be forever noticed unless that all takes less than 10ms.
Ignus - 1 year ago
Gentleman, there is a solution here you are obviously not seeing, use Firefox!