New Update AdGuard Manifest V3 Extension v0.3.12

Gandalf_The_Grey

Level 84
Verified
Honorary Member
Top Poster
Content Creator
Well-known
Apr 24, 2016
7,421
Hi, when will a new version be released?
Currently, we are focused on the mv2 version. We will continue to work on mv3 later. In a month or two. Keep tuned.
After adding some custom user rules I can't access the options. · Issue #29 · AdguardTeam/AdGuardMV3

Almost certainly because of this:

Chrome Extensions Manifest V2 support timeline - Chrome Developers

If the extension is not updated (such as filter lists) it is recommended to disable it.
 
F

ForgottenSeer 97327

Despite the performance improvements, the 'optimized' AG MV3 still loads websites 0,3 to 0,5 second slower than uBO MV2 (first uncached access). I had not expected this and I did not intent to measure it, but it was a noticeable delay after switching from uBO MV2 to AG MV3. So it seems that the performance justification of Google is nonsense. Because extensions still inject script into pages (to evade rules functionality limitations) the security goal of MV2 had already sunk :confused:
 
F

ForgottenSeer 97327

Why doesn't AdGuard MV3 have an option to export and import settings?
My Guess: It is an experimental version to develop a 'working' adblocker with the MV3 restrictions. Main focus was to get the filtering engine working. AdGuard moved the filtering engine outof their products (AG for Windows, AG DNS and AG extension). For what I understand from their blog this was a generic filtering engine capable of simple ABP filtering (which is quite a feat when you consider that at DNS level only host file blocking rules were possible). Next they also moved the advanced filtering rules (think of cosmetic filtering etc) to a Separate filtering engine and encapsulated them with their own API. The latter to move seamlessly from MV2 to MV3 API.

When MV3 updates, it is hard to say that it was only done for static filters update or real software update.
 

silversurfer

Super Moderator
Verified
Top Poster
Staff Member
Malware Hunter
Aug 17, 2014
11,264
Just for the record, new version 0.3.30 available on Chrome web store, as usual since months no info about changes on GitHub. I can't see any difference to previous version(s).

 

silversurfer

Super Moderator
Verified
Top Poster
Staff Member
Malware Hunter
Aug 17, 2014
11,264
Just noticed another update: AdGuard MV3 Experimental Version 0.3.34

34.png

 

Virtuoso

Level 3
Well-known
Feb 21, 2022
109
Despite the performance improvements, the 'optimized' AG MV3 still loads websites 0,3 to 0,5 second slower than uBO MV2 (first uncached access). I had not expected this and I did not intent to measure it, but it was a noticeable delay after switching from uBO MV2 to AG MV3. So it seems that the performance justification of Google is nonsense. Because extensions still inject script into pages (to evade rules functionality limitations) the security goal of MV2 had already sunk :confused:

Any improvements in the performance of Adguard MV3? How is it now compared to uBO MV2 and also uBOL MV3?
 

Virtuoso

Level 3
Well-known
Feb 21, 2022
109
Massive update: 0.40:


It’s been almost a year and a half since we released the MV3-based extension, and it’s time for a major update. After all, we are living in the MV3 reality. The extension now relies on our updated filter engines, TSWebExtension and TSUrlFilter. For a look back at how we managed to create the first extension that works with Manifest V3, see our blog.

Introducing our new rule prioritization scheme​

In the past, we had 4 different priorities for rules, but the selection and prioritization of rules within a group was not clear. With our new scheme, we calculate the weight of a rule based on the modifiers it contains. These modifiers are ranked by priority, from lowest to highest, and their impact on a rule’s scope determines its overall priority weight. This new approach allows you to set a declarative priority for a rule at the conversion stage, which is particularly useful for the new MV3. More details about the new priority scheme can be found in our Knowledge Base.

Support for rules with the $badfilter modifier​

The $badfilter modifier has the power to disable any other rule. Here’s how it works: filter developers add a rule with this modifier, and when the extension receives a dynamic update, the rule with the $badfilter modifier takes precedence over the rule it was applied to.

In the past, it wasn’t possible to disable a previously added rule in MV3. As a result, we initially added $badfilter support only for rules that were already present in the same file. If you had a rule in one file and added $badfilter to it in another file, it just wouldn’t work.

However, thanks to feedback from extension developers, the W3C Working Group has listened and introduced a new API that allows you to disable other declarative rules. This opened the door for us to add $badfilter support for all rules in all files. To achieve this, we revamped the rule conversion scheme to generate additional metadata for filters and dynamically find the rules that need to be disabled.

Support for the $cookie modifier​

The $cookie modifier allows you to specify the time to live (TTL) of cookies. The current MV3 functionality is not sufficient for this modifier to work properly, so we've made some improvements:

  • If the MV3 API is sufficient for the filtering rule to work, we convert the rule to a declarative one and add it to the static ruleset
  • Otherwise, we additionally process cookies in our TSUrlFilter engine and use the browser.cookies API to remove cookies that should not be set or to reduce the lifetime of the cookies

Support for the $elemhide, $generichide, $specifichide exception modifiers​

These modifiers help us to turn off cosmetic filtering for certain websites. MV3 doesn’t have such tools yet, so we added support for the modifiers through our TSUrlFilter filtering engine. This engine matches blocking rules to exception rules and sends only not excluded rules to the content script.

And some other modifiers as well​

We’ve included support for the following modifiers:

  • $method limits the rule scope to requests that use the specified set of HTTP methods
  • $to limits the rule scope to requests made to the specified domains and their subdomains
  • $removeheader: rules with this modifier are intended to remove headers from HTTP requests and responses
  • Sall modifier is made of all content-types modifiers and $popup
  • $csp completely changes the rule behavior. When applied to a rule, the rule won’t block the matching request. Instead, response headers will be modified
 
Last edited by a moderator:

silversurfer

Super Moderator
Verified
Top Poster
Staff Member
Malware Hunter
Aug 17, 2014
11,264

5 reasons why the extension is better now​


Reason #1: the new rule priority scheme​

In the past, we had 4 different priorities for rules, but the selection and prioritization of rules within a group was not clear. With our new scheme, we calculate the weight of a rule based on the modifiers it contains. These modifiers are ranked by priority, from lowest to highest, and their impact on a rule’s scope determines its overall priority weight. This new approach allows you to set a declarative priority for a rule at the conversion stage, which is particularly useful for the new MV3. More details about the new priority scheme can be found in our Knowledge Base.


Reason #2: $badfilter support​

The $badfilter modifier has the power to disable any other rule. Here’s how it works: filter developers add a rule with this modifier, and when the extension receives a dynamic update, the rule with the $badfilter modifier overrides the rule it was applied to.

In the past, it wasn’t possible to disable a previously added rule in MV3. As a result, we initially added $badfilter support only for rules that were already in the same file. If you had a rule in one file and added $badfilter to it in another file, it simply wouldn’t work.

However, thanks to feedback from extension developers, the W3C Working Group has listened and introduced a new API that allows you to disable other declarative rules. This opened the door for us to add $badfilter support for all rules in all files. To achieve this, we revamped the rule conversion scheme to generate additional metadata for filters and dynamically find the rules that need to be disabled.


Reason #3: support for the $cookie modifier​

The $cookie modifier allows you to specify the time to live (TTL) of cookies. The current MV3 functionality is not sufficient for this modifier to work properly, so we’ve made some improvements:
  • If the MV3 API is sufficient for the filtering rule to work, we convert the rule to a declarative one and add it to the static ruleset
  • Otherwise, we additionally process cookies in our TSUrlFilter engine and use the browser.cookies API to remove cookies that should not be set or to reduce the lifetime of the cookies


Reason #4: support for the $elemhide, $generichide, $specifichide modifiers​

These modifiers help us to turn off cosmetic filtering for certain websites. MV3 doesn’t have such tools yet, so we added support for the modifiers through our TSUrlFilter filtering engine. This engine matches blocking rules to exception rules and only sends rules that are not excluded to the content script.


Reason #5: everything else​

We’ve added support for the following modifiers:
  • $method limits the rule scope to requests that use the specified set of HTTP methods
  • $to limits the rule scope to requests made to the specified domains and their subdomains
  • $removeheader: rules with this modifier are intended to remove headers from HTTP requests and responses
  • The Sall modifier is made of all content-types modifiers and $popup
  • The $csp modifier completely changes the rule behavior. When applied to a rule, the rule won’t block the matching request. Instead, response headers will be modified
 

About us

  • MalwareTips is a community-driven platform providing the latest information and resources on malware and cyber threats. Our team of experienced professionals and passionate volunteers work to keep the internet safe and secure. We provide accurate, up-to-date information and strive to build a strong and supportive community dedicated to cybersecurity.

User Menu

Follow us

Follow us on Facebook or Twitter to know first about the latest cybersecurity incidents and malware threats.

Top