Replies: 8 comments 27 replies
-
In the Cliqz case, there's a filter
Here's the request: {
"url": "https://assets.adobedtm.com/9f0b01d01b963414024fff848ca9d3750437e1fa/satelliteLib-cd0127785d50cbe3d3047e8ff57496baf66459fb.js",
"frameUrl": "https://www.lenovo.com/de/de/data-center/software-defined-infrastructure/ThinkAgile-VX-Series/p/WMD00000340",
"cpt": "script"
} |
Beta Was this translation helpful? Give feedback.
-
@gorhill return this.engine.match(Request.fromRawDetails({
url,
sourceUrl: frameUrl,
type,
})).match; If you remove the |
Beta Was this translation helpful? Give feedback.
-
Regarding tsurlfilter, it's okay for it to have bugs at this point since it's still under development.
Yep, it is indeed very useful. |
Beta Was this translation helpful? Give feedback.
-
Thanks for doing it @gorhill. I did a similar exercise when first implementing the benchmark and it was useful to find bugs. At the time I think the numbers of requests blocked were the same, but it might have drifted a bit since then. The way some filters are interpreted can also be different (e.g. the way uBlock Origin and Cliqz tokenize is a bit different when it comes to considering the last section of a filter as a valid token if I remember correctly; |
Beta Was this translation helpful? Give feedback.
-
Brave blocks 4 fewer requests in the benchmarks, and all are regular expression patterns. Here's one example: {
"url": "https://igg-games.com/sw.js",
"frameUrl": "https://igg-games.com/casual",
"cpt": "script"
} The following filter should block the above request:
@antonok-edm does adblock-rs support regular expression patterns? |
Beta Was this translation helpful? Give feedback.
-
Thanks for the initiative here @gorhill. For what it's worth, I've also been experimenting with some tooling to compare adblocker implementations across automated crawls. It has been a useful technique to improve It looks like there's some interest in more concretely documenting rule syntax and behavior, as well as potentially building out common test suites - it sounds like a good effort and I'm happy to contribute in whatever capacity would be useful. |
Beta Was this translation helpful? Give feedback.
-
@remusao in the case of tsurlfilter a part of the issues were caused by So it seems Here're the results with the current version of EasyList: tsurlfilter:
ublock:
cliqz:
brave:
adblockplus:
|
Beta Was this translation helpful? Give feedback.
-
Most of the above discrepancies have been addressed now by either modifying or removing the filters in question. @ameshkov tsurlfilter is still blocking 6 fewer requests. |
Beta Was this translation helpful? Give feedback.
-
@mjethani, @remusao, @ameshkov
Something I have been curious about is why the difference in the number of matched items between blockers in the benchmark suite, when fed the exact same EasyList. For instance:
Since I do not know how to get the matched filters in other blocker, I used uBO as the reference to find out what is it that was not blocked in other blocker which was blocked in uBO, and vice versa. Here are the results (when
raw
is empty, it means a matched network request which was not matched in uBO/ABP):Cliqz
tsurlfilter (truncated because too large)
Brave
I didn't run forbrave
because I didn't feel like launching a compile run for now, but I can do it later.Ultimately, to compare benchmark results in a rigorous manner, we would expect that the matched/unmatched results from each blocker are exactly the same when they are fed the same filterset. It's also useful to find out issues in blockers when their results depart from what is expected,
Added Brave results.
Beta Was this translation helpful? Give feedback.
All reactions