Hacker News new | ask | show | jobs
by GioM 749 days ago
This is true. Extensions currently (manifest v2) are able to evaluate net requests dynamically, and are able to modify requests according to a dynamic ruleset that the extension can retrieve from some filter list published on the internet.

Under manifest v3, extensions are not able to dynamically inspect requests, instead, they may only apply rules to net requests. Even worse, there is a limitation of only 5000 rules per extension!! [1]

Even WORSE worse, under Chrome's manifest v3 rules, the extension cannot load any external code! Meaning that blocklists must be packaged with the extension. [2] Now, one might consider the reading of that link to no affect block lists, it's not a "library" and it's not "code" so long as it's just a list of textual rules.... however, google considers the following to be a violation: "Building an interpreter to run complex commands fetched from a remote source, even if those commands are fetched as data". [3]

Sneaky sneaky. An extension update (and hence new app store submission) is required to update filter lists.

In other words, dynamic net requests are banned, and remotely-updated blocklists are banned as well.

[1] https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Web...

[2] https://developer.chrome.com/docs/extensions/develop/migrate...

[3] https://developer.chrome.com/docs/webstore/program-policies/...

3 comments

Chrome allows at least 30000 static rules + 30000 dynamic rules[1].

[1] https://developer.chrome.com/docs/extensions/reference/api/d...

That's not enough. Just uBlock Origin's default list "uBlock filters – Ads" already accounts for over 38,000 rules. EasyList is over 87,000!
10x more https://blog.chromium.org/2024/05/manifest-v2-phase-out-begi...

"Based on input from the extension community, we also increased the number of rulesets for declarativeNetRequest, allowing extensions to bundle up to 330,000 static rules and dynamically add a further 30,000."

If Manifest v3 is really this bad then it's probably still possible to build adblockers by DLL hooking the browser. It should also not affect browsers with built-in adblocking like Brave and Vivaldi.
> it's probably still possible to build adblockers by DLL hooking the browser.

I like this. or possibly the COM API. but I'm not a Windows expert.

How complex is to revert changes to manifest to bring supporting v2 back to Chromium? Or is it intentionally made super complex by Google?
Microsoft decided it was prohibitive for them. So probably overly difficult.
I would say it just works for them. Considering they show ads in the Windows Start menu now.