Serious Discussion AdGuard Browser Extension - General Discussions

It seems more responsive to me, so I can only assume that they have improved the service worker.
But of course, that's just a guess.

Even the automatic updates, which are not incremental as they are in uBo, and which occur even when you disable/re-enable the extension, contribute to making the extension more efficient, such as lists updated by default, compared to both uBo and, above all, uBoL.
I have, of course, verified this behavior myself.

P.S.

Now we just need to check whether the extension update coincides with the filter list updates or is separate, in the absence of information from the AG team.

Today AG updated to version 5.2.500.7.
Only a manual update updated my EasyPrivacy (minified) custom filter list to version 202512011142 December 1.
But now we are at version 202512011152.

So updates depend on the version of the extension sent to the Chrome Web Store.

However, it is positive that the custom filter list update feature works.;)
 
Is it possible to convert these rules:

Code:
/^(?!.*\.(com|org|it|eu|info|ms|net|io|edu)$).*/##+js(noeval)
/^(?!.*\.(com|org|it|eu|info|ms|net|io|edu)$).*/##+js(aeld, keydown)
/^(?!.*\.(com|org|it|eu|info|ms|net|io|edu)$).*/##+js(aeld, submit)

into syntax for the AG browser extension?

Only the first rule can be exported to AG syntax:

Code:
~com,~org,~it,~eu,~info,~ms,~net,~io,~edu#%#//scriptlet('noeval')


The other two rules do not have corresponding functions.
 
  • Like
Reactions: lokamoka820
I was using incorrect syntax; all rules can be converted to AG syntax:

Code:
~com,~org,~it,~eu,~info,~ms,~net,~io,~edu#%#//scriptlet('noeval')
~com,~org,~it,~eu,~info,~ms,~net,~io,~edu#%#//scriptlet('abort-on-property-read', 'sendBeacon')
~com,~org,~it,~eu,~info,~ms,~net,~io,~edu#%#//scriptlet('abort-on-property-read', 'XMLHttpRequest')
~com,~org,~it,~eu,~info,~ms,~net,~io,~edu#%#//scriptlet('aeld', 'keydown')
~com,~org,~it,~eu,~info,~ms,~net,~io,~edu#%#//scriptlet('aeld', 'submit')
 
This syntax is more correct:


Code:
~com,~org,~it,~eu,~info,~ms,~net,~io,~edu#%#//scriptlet('noeval')
~com,~org,~it,~eu,~info,~ms,~net,~io,~edu#%#//scriptlet('abort-on-property-read', 'sendBeacon')
~com,~org,~it,~eu,~info,~ms,~net,~io,~edu#%#//scriptlet('abort-on-property-read', 'XMLHttpRequest')
~com,~org,~it,~eu,~info,~ms,~net,~io,~edu#%#//scriptlet('prevent-addEventListener', 'keydown')
~com,~org,~it,~eu,~info,~ms,~net,~io,~edu#%#//scriptlet('prevent-addEventListener', 'submit')
 
  • Applause
Reactions: LinuxFan58
With great effort, I had the AI create this comparative table (but it made a mistake and I corrected it manually with graphics software).
There is no ‘nostif’ scriptlet in AG, so it cannot be applied.
In AG the estimated decrease in client-side protection should be around -1-3% if we consider a strict comparison with the rules.
It is obvious that such a small percentage can be compensated for by other factors.

UBO vs AG.png

My work is done.;)
 
Last edited:
It is interesting to note that a filter list added to your personal filters can be manually updated to the latest available version.

All other filter lists are updated to the latest available version when sent.

Considering that privacy filter lists are more important than ad blocking filter lists, you can maximize AG's efficiency by choosing a DNS-level filter list such as AG Tracking Protection filter, which will have the advantage of daily updates, plus a privacy filter list added to your custom filters, which will integrate those rules that cannot be applied at the DNS level.

AG will have “normal” static protection for the 9 TLDs excluded from dynamic filtering.

AG will have “super” protection entrusted to static filtering + dynamic filtering (in my case, Hard Mode + 5 script injection rules written above for all websites outside the 9 TLD exceptions).
 
To understand you correctly: the hard mode dynamic filtering applies to third-party resources and the 5 scriptlet static rules also for first party?

That is really impressive: (y)(y)(y) but I have a question for further investigation (hope this does not ruin your day) :)

How would this impact on a first party resource linking to a webbundle? Inizia a utilizzare i web bundle | Web Platform | Chrome for Developers
 
  • Like
Reactions: Sampei.Nihira
It's impressive.
I don't know about webbundles, I haven't looked into that aspect.
Remember the problems with the rule in uBoL for websockets + webtransport?;)
Well, I stopped there.
 
  • Like
Reactions: LinuxFan58
If you meant the AdGuard Tracking Protection filter list in the AG browser extension, it is disabled because I have this filter list enabled at the DNS level.
The main reason is that it is updated more frequently.
But not all trackers can be blocked at the DNS level:

View attachment 293377

That's why I added the custom EasyPrivacy (minified) filter list.

I also use 3 extensions alternately (uBo, UboL, AG), so I need to have an almost identical configuration in each extension.
Deleted
  • EasyPrivacy (minified)
Subscribed to:
  • AG Tracking protection filter list
    , which I deleted at the DNS level.

This change should ensure a 1-5 % increase in first-party tracker protection across my 9 TLDs excluded from dynamic filtering + advanced rules.
 
Let me explain my AG configuration within the 9 TLDs I use.
(Also for the request of a former colleague of mine).

Subscribed filter lists:

  • AdGuard Base
  • AdGuard Tracking Protection
  • AdGuard URL Tracking Protection
  • AdGuard Cookie Notices
  • AdGuard Other Annoyances

Blocking Mode = Enhanced Easy mode (3p frames block):

Blocking mode

I use a scriptlet to better block SDP logs from the BrowserLeaks WebRTC test + proxy blocking, especially for BrowserLeaks Adblock Detection Subscriptions.
I also block Ping + Beacon.
I also block malicious executables from Github.
 
Last edited:
  • Like
Reactions: Jan Willy
Back to Easy Mode because just yesterday I created 7 exclusion rules.

Within the 9 TLDs:

Subscribed filter lists:


  • AdGuard Base
  • AdGuard Tracking Protection
  • AdGuard URL Tracking Protection
  • AdGuard Cookie Notices
  • AdGuard Other Annoyances

Blocking Mode = Easy Mode

I use a scriptlet to better block SDP logs from the BrowserLeaks WebRTC test +
proxy blocking, especially for BrowserLeaks Adblock Detection Subscriptions.
I also block Ping + Beacon.
I also block malicious executables from Github.

_________________________________________________________________________________________________

Outside the 9 TLDs in addition to the above, the following are added within the TLDs:

Blocking Mode = Super - Hard Mode 1p scripts + (3p + 3p scripts + 3p frames)

5 custom rules (6 with uBo) with similar Eval functionality
 
  • Like
Reactions: Jan Willy
Within the 9 TLDs (com,it,org,net,info,eu,edu,io):

Subscribed filter lists:

  • AdGuard Base
  • AdGuard Tracking Protection
  • AdGuard URL Tracking Protection
  • AdGuard Cookie Notices
  • AdGuard Other Annoyances

Blocking Mode = Enhanced Easy Mode (3p frames block) via uBoL


I use a scriptlet to better block SDP logs from the BrowserLeaks WebRTC test +
proxy blocking, especially for BrowserLeaks Adblock Detection Subscriptions.
I also block Ping + Beacon.
I also block malicious executables from Github.

_________________________________________________________________________________________________

Outside the 9 TLDs in addition to the above, the following are added within the TLDs:

Blocking Mode = Super - Hard Mode (1p scripts + 3p + 3p scripts + 3p frames block)

5 custom rules (6 with uBo) with similar Eval functionality
 
  • Like
Reactions: Jan Willy