-
Notifications
You must be signed in to change notification settings - Fork 103
Compatibility Matrix
Krzysztof Modras edited this page Mar 29, 2024
·
13 revisions
Feature | Supported | Note |
---|---|---|
* , wildcard |
✓ | uBlockOrigin's Wiki |
^ , separator |
✓ | match any separator or EOL: [^\w\d_.%-]|$
|
@@filter , exceptions |
✓ | |
|filter , left anchor |
✓ | match left of URL |
filter| , right anchor |
✓ | match right of URL |
||filter , hostname anchor |
✓ | match hostname of URL |
RegExp | ✓ | |
Pre-parsing directives | ✓ | uBlockOrigin' Wiki |
Type | Supported | Note |
$~type (negation) |
✓ | |
$image |
✓ | |
$media |
✓ | |
$object |
✓ | |
$object-subrequest |
✓ | |
$other |
✓ | |
$ping |
✓ | |
$beacon |
✓ | |
$script |
✓ | |
$stylesheet |
✓ | |
$css |
✓ | alias for stylesheet
|
$subdocument |
✓ | |
$frame |
✓ | alias for subdocument
|
$xmlhttprequest |
✓ | |
$xhr |
✓ | alias for xmlhttprequest
|
$font |
✓ | |
$websocket |
✓ | |
$webrtc |
✗ | |
$popup |
AdGuard's KB | |
Option | Supported | Note |
$domain |
✓ |
| -separated list of domains or hostnames |
$~domain |
✓ | negated domains or hostnames |
$badfilter |
✓ | uBlockOrigin' Wiki |
$important |
✓1 | uBlockOrigin' Wiki, AdGuard KB |
$third-party |
✓ | only apply yo third-party resources |
$3p |
✓ | alias for third-party
|
$first-party |
✓ | alias for ~third-party
|
$1p |
✓ | alias for first-party
|
$redirect |
✓2 | uBlockOrigin's Wiki |
$redirect=none |
✓ | disable specific redirect filters |
$redirect-rule |
✓ | uBlockOrigin's Wiki |
$generichide |
✓ | |
$ghide |
✓ | alias for generichide
|
$specifichide |
✓ | |
$shide |
✓ | alias for specifichide
|
$elemhide |
✓ | |
$ehide |
✓ | alias for elemhide
|
$csp |
✓3 | AdGuard KB |
$match-case |
✗ | all filters are considered case insensitive |
$document |
✓ | |
$doc |
✓ | alias for document
|
$genericblock |
✗ | will not be supported |
$collapse |
||
$content |
AdGuard KB | |
$jsinject |
AdGuard KB | |
$urlblock |
AdGuard KB | |
$extension |
AdGuard KB | |
$empty |
AdGuard KB | |
$mp4 |
AdGuard KB | |
$replace |
AdGuard KB |
[1] Missing is proper handling of exceptions with $important
flag but there is currently no such filter in use in popular lists.
[2] Strict validation rules are not currently enforced.
[3] Missing strict validation of accepted CSP values.
Feature | Supported | Note |
---|---|---|
## selector |
✓ | |
#@# exception |
✓ | |
hostnames |
✓ | |
~hostnames (negation) |
✓ | |
entities |
✓ | uBlockOrigin's Wiki |
~entities (negation) |
✓ | uBlockOrigin's Wiki |
:style |
✓ | uBlockOrigin's Wiki |
+js(...) |
✓ | inject specific javascript code into pages |
#@#+js() |
✓ | disable scriptlet injection for a given site |
HTML filters | uBlockOrigin's Wiki, AgGuard's KB | |
^script:has-text(...) |
✓ | |
operators chaining | ✓ | only for has-text(...)
|
Procedural filters | uBlockOrigin's Wiki, AgGuard's KB | |
-abp-contains |
https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#cosmetic-css-rules-syntax-1 | |
-abp-has |
||
-abp-properties |
||
:has(...) |
✓ | |
:has-text(...) |
✓ | |
:if(...) |
✓ | Deprecated in favor of :has(...)
|
:if-not(...) |
Deprecated in favor of :not(:has(...))
|
|
:matches-css(...) |
||
:matches-css-after(...) |
||
:matches-css-before(...) |
||
:min-text-length(...) |
||
:nth-ancestor(...) |
||
:upward(...) |
||
:watch-attr(...) |
||
:watch-attrs(...) |
Deprecated in favor of :watch-attr(...)
|
|
:xpath(...) |
As of April 2019 the following proportion of all filters are supported:
- network = 96%
- cosmetic = 99%
As a point of comparison, here are the same numbers for other blockers:
uBlock Origin:
- network = 99%
- cosmetic = 100%
AdblockPlus:
- network = 98%
- cosmetic = 98%
Brave:
- network = 55%
- cosmetic = ? (currently cosmetic filters are not applied)