Raymond Hill
e420b75b91
Nodejs 16 does not support fetch()
2022-09-06 15:05:01 -04:00
Raymond Hill
84ab5dbb66
New revision for dev build
2022-09-06 14:20:53 -04:00
Raymond Hill
a559f5f271
Add experimental mv3 version
...
This create a separate Chromium extension, named
"uBO Minus (MV3)".
This experimental mv3 version supports only the blocking of
network requests through the declarativeNetRequest API, so as
to abide by the stated MV3 philosophy of not requiring broad
"read/modify data" permission. Accordingly, the extension
should not trigger the warning at installation time:
Read and change all your data on all websites
The consequences of being permission-less are the following:
- No cosmetic filtering (##)
- No scriptlet injection (##+js)
- No redirect= filters
- No csp= filters
- No removeparam= filters
At this point there is no popup panel or options pages.
The default filterset correspond to the default filterset of
uBO proper:
Listset for 'default':
https://ublockorigin.github.io/uAssets/filters/badware.txt
https://ublockorigin.github.io/uAssets/filters/filters.txt
https://ublockorigin.github.io/uAssets/filters/filters-2020.txt
https://ublockorigin.github.io/uAssets/filters/filters-2021.txt
https://ublockorigin.github.io/uAssets/filters/filters-2022.txt
https://ublockorigin.github.io/uAssets/filters/privacy.txt
https://ublockorigin.github.io/uAssets/filters/quick-fixes.txt
https://ublockorigin.github.io/uAssets/filters/resource-abuse.txt
https://ublockorigin.github.io/uAssets/filters/unbreak.txt
https://easylist.to/easylist/easylist.txt
https://easylist.to/easylist/easyprivacy.txt
https://malware-filter.gitlab.io/malware-filter/urlhaus-filter-online.txt
https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=1&mimetype=plaintext
The result of the conversion of the filters in all these
filter lists is as follow:
Ruleset size for 'default': 22245
Good: 21408
Maybe good (regexes): 127
redirect-rule= (discarded): 458
csp= (discarded): 85
removeparams= (discarded): 22
Unsupported: 145
The fact that the number of DNR rules are far lower than the
number of network filters reported in uBO comes from the fact
that lists-to-rulesets converter does its best to coallesce
filters into minimal set of rules. Notably, the DNR's
requestDomains condition property allows to create a single
DNR rule out of all pure hostname-based filters.
Regex-based rules are dynamically added at launch time since
they must be validated as valid DNR regexes through
isRegexSupported() API call.
At this point I consider being permission-less the limiting
factor: if broad "read/modify data" permission is to be used,
than there is not much point for an MV3 version over MV2, just
use the MV2 version if you want to benefit all the features
which can't be implemented without broad "read/modify data"
permission.
To locally build the MV3 extension:
make mv3
Then load the resulting extension directory in the browser
using the "Load unpacked" button.
From now on there will be a uBlock0.mv3.zip package available
in each release.
2022-09-06 13:47:52 -04:00
Raymond Hill
1def4e77ac
Update submodules
2022-09-05 12:04:39 -04:00
Raymond Hill
0c9ab84846
Fix redundant calls to extract image data
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2243#issuecomment-1236194011
2022-09-04 10:40:26 -04:00
Raymond Hill
e3a0634945
Make Firefox dev build auto-update
2022-09-01 09:50:47 -04:00
Raymond Hill
396433578a
New revision for dev build
2022-09-01 09:45:54 -04:00
Raymond Hill
bcede6f938
Fix validating argument for :not() as procedural
...
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2228#issuecomment-1234248802
2022-09-01 09:42:48 -04:00
Raymond Hill
377ecf3f1d
Make Firefox dev build auto-update
2022-08-31 14:05:53 -04:00
Raymond Hill
7cd22eca96
New revision for dev build
2022-08-31 14:00:09 -04:00
Raymond Hill
79451e5899
Force prodecural cosmetic filtering when explicitly stated
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2228
Using `#?#` (instead of `##` for a procedural cosmetic filter will
prevent uBO from trying to convert the filter into a declarative
one.
2022-08-31 13:57:39 -04:00
Alex
b9aa791901
Update main.yml
2022-08-31 06:26:57 +01:00
Raymond Hill
988582ce55
Make Firefox dev build auto-update
2022-08-23 16:45:57 -04:00
Raymond Hill
4b77734fe3
New revision for dev build
2022-08-23 16:38:28 -04:00
Raymond Hill
8f39a457b8
Fallback procedural :has() operator when argument is not a valid plain CSS selector
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2228
2022-08-23 16:36:22 -04:00
Raymond Hill
95661c5f49
Make Firefox dev build auto-update
2022-08-21 13:01:04 -04:00
Raymond Hill
1129fc1d07
New revision for dev build
2022-08-21 12:56:22 -04:00
Raymond Hill
04114942aa
Add missing method to shim script
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2225
2022-08-21 12:54:02 -04:00
Raymond Hill
b80da153b7
Make Firefox dev build auto-update
2022-08-19 07:40:31 -04:00
Raymond Hill
a24bc50e40
Fix deprecated matches-css-after/matches-css-before
2022-08-18 12:04:56 -04:00
Raymond Hill
92e2b342d4
New revision for dev build
2022-08-18 12:01:01 -04:00
Raymond Hill
7bc0b5d2bd
Extend matches-css() to support any pseudo-element
...
This commit deprecates matches-css-before() and matches-css-after(): these
should no longer be used once 1.45.0 is published and widespread. The
deprecated syntax will eventually be removed in some future.
The syntax of procedural operator matches-css() has been extended to also
be able to target pesudo elements. Examples:
Same as before:
example.com##p:matches-css(opacity: 0.5)
This is the new way to target an `::after` pseudo-element:
example.com##p:matches-css(after, content: Ads)
This is the new way to target a `::before` pseudo-element:
example.com##p:matches-css(before, content: Ads)
The new syntax also means any valid pseudo-element can now be used as
a target:
example.com##p:matches-css(first-letter, opacity: 0.5)
If the first argument does not match the pattern "property name: value",
then it will be deemed a pseudo-element to target, and the second argument
will be the "property name: value".
Related issue:
- https://github.com/AdguardTeam/ExtendedCss/issues/150
2022-08-18 11:28:44 -04:00
Raymond Hill
bdc68f3a81
New revision for stable release
2022-08-16 09:52:12 -04:00
Raymond Hill
e54025d6bf
Import translation work from https://crowdin.com/project/ublock
2022-08-16 09:46:02 -04:00
Raymond Hill
e7c7c37cdc
Update submodules
2022-08-16 09:41:52 -04:00
Raymond Hill
3cd8547fe4
Make Firefox dev build auto-update
2022-08-14 13:10:51 -04:00
Raymond Hill
41a6f8a34e
New revision for dev build
2022-08-14 13:07:25 -04:00
Raymond Hill
c521479ef9
Add 0.5s mp3 redirectable resource
...
Command used to generate 0.5s mp3 file:
ffmpeg -ar 48000 -t 0.5 -f s16le -acodec pcm_s16le -ac 2 -i /dev/zero -acodec libmp3lame -aq 4 noop-0.5s.mp3
Related filter issue:
- https://github.com/uBlockOrigin/uAssets/issues/14231
2022-08-14 13:06:00 -04:00
Raymond Hill
78fccadaf2
Fix bad alias
...
Related feedback:
- https://github.com/DandelionSprout/adfilt/issues/63#issuecomment-1214131551
2022-08-13 09:09:36 -04:00
Raymond Hill
33d009e3ad
Make Firefox dev build auto-update
2022-08-08 15:50:44 -04:00
Raymond Hill
853260822b
New revision for release candidate
2022-08-08 15:43:53 -04:00
Raymond Hill
cd50f76e74
Fix static filtering parser's validation of selectors/styles
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2170#issuecomment-1207921464
2022-08-08 12:04:17 -04:00
Raymond Hill
a69250ba82
Make Firefox dev build auto-update
2022-08-05 11:45:59 -04:00
Raymond Hill
ec43be8e4d
New revision for release candidate
2022-08-05 11:35:44 -04:00
Raymond Hill
e62604f889
Add queue-related initialization code to AMZN shim script
...
This would render obsolete the AMZN-related exception at the
following URL:
https://play.mylifetime.com/shows/married-at-first-sight/season-15/episode-1
And possibly lower the likelihood of breakage on other sites.
2022-08-05 11:26:23 -04:00
Raymond Hill
db992b6f4a
Make Firefox dev build auto-update
2022-08-04 14:11:23 -04:00
Raymond Hill
c9272d51da
New revision for release candidate
2022-08-04 13:52:16 -04:00
Raymond Hill
b01d57ab63
Fix dark theme issue in DOM inspector
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2196
2022-08-04 10:52:09 -04:00
Raymond Hill
ac0cdf2d56
Update URL of new RUAdList location
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2193
2022-08-01 17:53:02 -04:00
Raymond Hill
9675aed51a
Update submodules
2022-07-29 12:20:51 -04:00
anewuser
8e60b26c05
removed /firefox from AMO link ( #3871 )
...
Removing this makes AMO redirect to either `/firefox` or `/android` depending on your user agent.
The `/android` version of the URL hides unsupported extensions from the front page.
2022-07-26 13:52:50 -04:00
Raymond Hill
a78fbccfad
Make Firefox dev build auto-update
2022-07-25 10:20:34 -04:00
Raymond Hill
4d5978715c
New revision for dev build
2022-07-25 10:12:24 -04:00
Raymond Hill
e2043b6554
Fix regression in handling of procedural cosmetic filters
...
Related commit:
- 91caed32d3
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2185#issuecomment-1193862432
2022-07-25 10:10:44 -04:00
Raymond Hill
a40eb5a40e
Make Firefox dev build auto-update
2022-07-24 11:51:26 -04:00
Raymond Hill
eacc80d0cf
New revision for dev build
2022-07-24 11:43:36 -04:00
Raymond Hill
91caed32d3
Improve conversion of procedural cosmetic filters into CSS rules
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2185#issuecomment-1193164728
2022-07-24 11:41:08 -04:00
Raymond Hill
dd5fc444bb
Make Firefox dev build auto-update
2022-07-23 10:06:18 -04:00
Raymond Hill
88a2de3379
New revision for dev build
2022-07-23 09:50:38 -04:00
Raymond Hill
40c315a107
Add new procedural cosmetic filter operator: :matches-media()
...
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2185
The argument must be a valid media query as documented on MDN, i.e.
what appears between the `@media` at-rule and the first opening
curly bracket (including the parentheses when required):
- https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries
Best practice:
Use `:matches-media()` after plain CSS selectors, if any.
Good:
example.com###target-1 > .target-2:matches-media((min-width: 800px))
Bad (though this will still work):
example.com##:matches-media((min-width: 800px)) #target-1 > .target-2
The reason for this is to keep the door open for a future optimisation
where uBO could convert `:matches-media()`-based filters into CSS media
rules injected declaratively in a user stylesheet.
2022-07-23 09:30:31 -04:00