1
1
mirror of https://github.com/gorhill/uBlock.git synced 2025-10-05 21:32:39 +02:00

Compare commits

...

4706 Commits

Author SHA1 Message Date
Raymond Hill
2a2e223fd9 Import translation work from https://crowdin.com/project/ublock 2025-10-05 10:41:10 -04:00
Raymond Hill
cdc5a4a0e7 [mv3] Use "split" mode for "incognito" manifest key
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/336
2025-10-05 10:29:58 -04:00
Raymond Hill
be14670b76 [mv3] Decrease granularity of hashes of generic cosmetic selectors
This reduces the size of content scripts with no downside.
2025-10-04 13:32:16 -04:00
Raymond Hill
4ee38a056e Remove stray character 2025-10-04 12:53:07 -04:00
Raymond Hill
0d4f55ff30 Update changelog 2025-10-04 10:27:24 -04:00
Raymond Hill
a43d1d8c42 Improve href-sanitizer scriptlet
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3650
2025-10-04 10:22:47 -04:00
Raymond Hill
41a65315f9 [mv3] Minor code change 2025-10-03 14:45:46 -04:00
Raymond Hill
5bcdf3731d New revision for dev build 2025-10-02 12:39:24 -04:00
Raymond Hill
cc30763c57 Update changelog 2025-10-02 12:38:35 -04:00
Raymond Hill
d376adaae8 Fix editInboundObjectFn utility scriptlet 2025-10-02 12:31:13 -04:00
Raymond Hill
d8ed2c2866 Update in-source code documentation 2025-10-02 12:30:06 -04:00
Raymond Hill
52bc354bce Improve trusted-replace-argument scriptlet 2025-10-02 12:27:45 -04:00
Raymond Hill
bf09ec0b99 Update submodules 2025-10-02 07:39:59 -04:00
Raymond Hill
a03de94729 import translation work from https://crowdin.com/project/ublock 2025-10-02 07:32:16 -04:00
Raymond Hill
f36d2b8496 Add ability to test against regex in JSONPath expressions
Related discussion:
https://github.com/uBlockOrigin/uAssets/issues/30157#issuecomment-3356048999
2025-10-01 11:35:15 -04:00
Raymond Hill
2b8ef3ee8e Revert "Make Firefox dev build auto-update"
This reverts commit 9f8d74b60f.
2025-10-01 11:23:47 -04:00
Raymond Hill
9f8d74b60f Make Firefox dev build auto-update 2025-10-01 11:22:48 -04:00
Raymond Hill
0ee49bcc29 Make Firefox dev build auto-update 2025-10-01 10:19:57 -04:00
Raymond Hill
8d721f6a68 Make Firefox dev build auto-update 2025-10-01 10:14:43 -04:00
Raymond Hill
bbd12ec2f3 New revision for dev build 2025-10-01 09:26:15 -04:00
Raymond Hill
54326a350b Update changelog 2025-10-01 09:25:43 -04:00
Raymond Hill
dd4f764920 Improve proxy-apply utility scriptlet 2025-10-01 09:21:43 -04:00
Raymond Hill
6623889920 [mv3] Improve details of troublshooting info
Also, avoid loading troubleshooting module in service worker as it's
of use only as a user interface component.
2025-09-29 13:07:59 -04:00
Raymond Hill
4b1f87710c [mv3] Minor CSS changes 2025-09-29 12:19:11 -04:00
Raymond Hill
e91c47846b [mv3] Fix issues with restore from file 2025-09-28 15:04:26 -04:00
Raymond Hill
bb8e3d4d47 Import translation work from https://crowdin.com/project/ublock 2025-09-28 14:35:14 -04:00
Raymond Hill
be1502feb3 [mv3] Avoid mouseenter/mouseleave on mobile devices
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/478
2025-09-28 11:24:23 -04:00
Raymond Hill
80cf4d9286 [mv3] Use manifest's path value to access static rulesets
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/503
2025-09-28 11:08:48 -04:00
Raymond Hill
f40dac91b9 Import translation work from https://crowdin.com/project/ublock 2025-09-28 09:28:14 -04:00
Raymond Hill
575f018c69 [mv3] Fine tuning details 2025-09-27 15:59:32 -04:00
Raymond Hill
6a9357e903 [mv3] Group toggle-based options all under same section 2025-09-27 13:57:00 -04:00
Raymond Hill
12418ae664 Import translation work from https://crowdin.com/project/ublock 2025-09-27 13:54:09 -04:00
Raymond Hill
2581004e8f [mv3] Add ability to backup/restore settings
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/482
2025-09-27 12:53:58 -04:00
Raymond Hill
f89de42364 Import translation work from https://crowdin.com/project/ublock 2025-09-27 12:34:44 -04:00
Raymond Hill
10e48d7ec5 Import translation work from https://crowdin.com/project/ublock 2025-09-27 12:31:08 -04:00
Raymond Hill
f441773f30 Update changelog 2025-09-26 11:57:51 -04:00
Raymond Hill
3e5ea3b03f Fix removeparam for multiple query parameters with same name
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/30090
2025-09-26 11:55:38 -04:00
Raymond Hill
34d202f79d Import translation work from https://crowdin.com/project/ublock 2025-09-25 09:08:34 -04:00
Raymond Hill
93c5c077a0 [mv3] Minor CSS-related change 2025-09-25 08:57:55 -04:00
Raymond Hill
91d36749bb [mv3] Export using human-readable hostnames 2025-09-24 11:01:50 -04:00
Raymond Hill
4598ef3edc Import translation work from https://crowdin.com/project/ublock 2025-09-24 10:48:18 -04:00
Raymond Hill
8af80be5b2 [mv3] Add dashboard pane to manage custom filters
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/418
2025-09-24 10:42:18 -04:00
Raymond Hill
4fb4aa1b25 New revision for dev build 2025-09-22 19:10:56 -04:00
Raymond Hill
e2325f5e79 Update changelog 2025-09-22 19:10:34 -04:00
Raymond Hill
9aa91ba111 Improve trusted-click-element scriptlet
Related discussion/issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2917
- https://github.com/uBlockOrigin/uAssets/discussions/30124

The "list of selectors" parameter is now a "list of steps". A step
can be:

- A selector, which tells the scriptlet to click a matching element. If
  no matching element is found, the scriptlet will wait for a matching
  element  to become available.
- An integer, which tells the scriptlet to wait n ms before processing
  the next step
- A directive, which is a string starting with `!` (not implemented yet)

If the last item in the list is an integer, this tells the scriplet to
override the built-in timeout value of 10s, such that the life time of
the scriptlet can now be extended beyond 10s.

Example:

  ..##+js(trusted-click-element, '1000, a, 500, b, c, 15000')

The scriptlet filter above will perform the following steps, in order:

- Prepare the scriptlet to timeout at 15s from now
- Wait 1000 ms
- Wait for element `a` to become available then click on it
- Wait 500 ms
- Wait for element `b` to become available then click on it
- Wait for element `c` to become available then click on it
- Abort if all the steps cannot be completed before 15s

The changes keep compatiblity with older syntax or with AdGuard
syntax.
2025-09-22 18:50:58 -04:00
Raymond Hill
705e6329eb Import translation work from https://crowdin.com/project/ublock 2025-09-22 12:46:13 -04:00
Raymond Hill
8de47f250d Improve google-ima shim
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/30134
2025-09-22 10:41:36 -04:00
Raymond Hill
5127e17573 Update submodules 2025-09-21 09:53:25 -04:00
Raymond Hill
511a59584d [mv3][safari] Internally disable strict-blocking in Safari
Related discussion:
https://github.com/uBlockOrigin/uAssets/issues/30118#issuecomment-3315925462
2025-09-21 09:43:21 -04:00
Raymond Hill
1209119206 Unreference obsolete npm scripts
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3805
2025-09-20 09:21:14 -04:00
Raymond Hill
87dddb7d78 Add back a uBO-specific version of "CERT.PL's Warning List"
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3793
2025-09-18 10:17:38 -04:00
Raymond Hill
836e04d110 [mv3][safari] Remove doc from removeParams rules
Related issues:
- https://github.com/uBlockOrigin/uBOL-home/issues/476
- https://github.com/uBlockOrigin/uBOL-home/issues/409
2025-09-17 13:34:28 -04:00
Raymond Hill
b3b2142fb6 [mv3][safari] Exclude "AdGuard URL Tracking Protection"
Related issues:
- https://github.com/uBlockOrigin/uBOL-home/issues/476
- https://github.com/uBlockOrigin/uBOL-home/issues/409
2025-09-16 09:15:12 -04:00
Raymond Hill
e9e1626f8e Update changelog 2025-09-15 09:34:21 -04:00
Raymond Hill
889c0eb208 Fix potential infinite loop when scanning for $ anchor
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3799

An infinite loop in the network filter parser was triggered when
the following conditions were fulfilled:

- There was a network option `$` anchor
- There were only whitespace character(s) preceding the anchor
- There was an invalid filter option following the anchor
2025-09-15 09:26:09 -04:00
Raymond Hill
cb767f4534 Remove obsolete files 2025-09-12 11:05:15 -04:00
Raymond Hill
edd26d27eb Remove obsolete files 2025-09-12 11:04:43 -04:00
Raymond Hill
9a5703fa0d Fix revision for next dev build 2025-09-12 10:52:56 -04:00
Raymond Hill
b7f4c1f5d7 Update submodules 2025-09-12 10:52:25 -04:00
Raymond Hill
3609ea66ed Make Firefox dev build auto-update 2025-09-12 09:24:50 -04:00
Raymond Hill
087bef3837 Update submodules 2025-09-11 09:52:57 -04:00
Raymond Hill
2943ef5112 [mv3] Don't use push() when large collections are possible
Otherwise this opens potential stack overflow issues.
2025-09-11 09:29:39 -04:00
Raymond Hill
e016a63f7b Lower maintenance burden: Drop assets that never result in feedback 2025-09-08 14:40:45 -04:00
Raymond Hill
126495d17a Update changelog 2025-09-08 14:20:21 -04:00
Raymond Hill
30e5e8c8ce Remove obsolete code 2025-09-08 14:09:55 -04:00
Raymond Hill
23056514cc New revision for dev build 2025-09-08 14:06:53 -04:00
Raymond Hill
e1028c299f Update changelog 2025-09-08 08:14:30 -04:00
Raymond Hill
8ce7a8d1e4 Update changelog 2025-09-08 08:13:35 -04:00
Raymond Hill
50cb780107 Fix version snafu
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3792
2025-09-08 08:11:20 -04:00
Raymond Hill
52dba4116e Allow generic exception for replace= option
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3791
2025-09-08 07:32:03 -04:00
Raymond Hill
5d88b72b47 Update README.md 2025-09-07 08:39:45 -04:00
Raymond Hill
f290d0a142 New revision for stable release 2025-09-06 12:26:03 -04:00
Raymond Hill
946a3d202c Update submodules 2025-09-06 10:23:09 -04:00
Raymond Hill
7eab358165 Fix makefile 2025-09-06 10:22:45 -04:00
Raymond Hill
0936b9b8b7 Import translation work from https://crowdin.com/project/ublock 2025-09-06 08:23:05 -04:00
Raymond Hill
abe144a79d Update submodules 2025-09-05 09:25:01 -04:00
Raymond Hill
80f7bd155a Make Firefox dev build auto-update 2025-09-05 09:17:31 -04:00
Raymond Hill
da9491c94e Update makefile 2025-09-04 09:51:02 -04:00
Raymond Hill
4fbcabbc66 [mv3] Move redirect/removeParams/modifyHeaders rules to static rulesets
Since permissions are now managed by the browsers, the browser will take
care whether to enforce those "usafe" rules according to the permissions
in effect on a given site.
2025-09-02 12:29:41 -04:00
Raymond Hill
8281eaba17 Update submodules 2025-09-02 10:19:49 -04:00
Raymond Hill
e86e1db87b New revision for release candidate 2025-09-02 10:03:51 -04:00
Raymond Hill
a0a996916f Update changelog 2025-09-02 10:03:28 -04:00
Raymond Hill
d2bce26e7d Improve prevent-fetch scriptlet
Add vararg `throttle, n` where `n` is the time to wait in ms before
returning a response from proxied `fetch()`.

As discussed with filter list maintainers.
2025-09-02 10:00:27 -04:00
Raymond Hill
8cdada4899 Update npm 2025-09-01 10:10:03 -04:00
Raymond Hill
7cdd78b595 Update submodules 2025-09-01 10:00:26 -04:00
Raymond Hill
07056c2de5 Update submodules 2025-08-31 11:09:15 -04:00
Raymond Hill
64858e9b9e Minor 2025-08-30 09:58:33 -04:00
Raymond Hill
17c6334cbd Import translation work from https://crowdin.com/project/ublock 2025-08-30 09:15:19 -04:00
Raymond Hill
d1a29d9899 [mv3] Ensure ui is visible even after failure 2025-08-29 11:19:24 -04:00
Raymond Hill
bc05f31cc2 [mv3] Merge AdGuard mobile filters with uBO's own mobile filters
Related discussion:
https://github.com/uBlockOrigin/uAssets/issues/20299#issuecomment-3228879091
2025-08-29 09:23:51 -04:00
Raymond Hill
57557ea116 New revision for release candidate 2025-08-28 11:19:33 -04:00
Raymond Hill
6f6724ce1a Update changelog 2025-08-28 11:17:51 -04:00
Raymond Hill
6327aae56c Add support to strict-block from ipaddress= option
As discussed with filter list maintainers.
2025-08-28 11:13:43 -04:00
Raymond Hill
31cd8b3983 Remove unused file 2025-08-25 17:01:20 -04:00
Raymond Hill
0d442f097f File moved to its own repo 2025-08-25 15:58:47 -04:00
Raymond Hill
353e1bacc1 Update submodules 2025-08-25 15:36:22 -04:00
Raymond Hill
aab425719c Move publish scripts in their own repo for easy reuse 2025-08-25 15:26:56 -04:00
Raymond Hill
30266e5107 Improve publish scripts 2025-08-25 15:10:36 -04:00
Raymond Hill
69fa0c2e09 [mv3] Fix regression in managing redirect rules
Regression cause by:
fad0af591f
2025-08-25 11:55:36 -04:00
Raymond Hill
f9ee5e2a64 Move to nodejs for publishing scripts 2025-08-24 17:26:04 -04:00
Raymond Hill
0e821284ab Update changelog 2025-08-23 13:05:43 -04:00
Raymond Hill
052c36aada [mv3] Fix placeholder references for regexSubstitution 2025-08-22 12:35:13 -04:00
Raymond Hill
cb62e38f50 [mv3] Improve built-in parser to convert filters to DNR rules
Ultimately and eventually, the built-in parser will be used to
convert filters to DNR rules at extension building time.
2025-08-22 08:14:52 -04:00
Raymond Hill
23d51b80df Make Firefox dev build auto-update 2025-08-21 11:08:23 -04:00
Raymond Hill
e8f6b7cd00 Update RELEASE.HEAD.md 2025-08-20 11:49:32 -04:00
Raymond Hill
c7e4ac48c3 New revision for dev build 2025-08-20 11:06:27 -04:00
Raymond Hill
9711039726 Update changelog 2025-08-20 11:06:04 -04:00
Raymond Hill
5d7e5ee3a0 Improve rendering with high-contrast theme
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3385
2025-08-20 11:02:35 -04:00
Raymond Hill
bc4e829427 [mv3] Support custom filters using CSS pseudo-elements
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/448
2025-08-20 10:26:45 -04:00
Raymond Hill
807d1b6cdb Fix checkbox visual when using high contrast
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3385
2025-08-19 11:50:58 -04:00
Raymond Hill
da025fef26 Update README.md 2025-08-18 09:40:32 -04:00
Raymond Hill
69b2fdf396 Reverting change of toolbar icon 2025-08-18 09:38:49 -04:00
Raymond Hill
060442c636 Revert "Add Safari toolbar icon"
This reverts commit 3f73887e47.
2025-08-18 09:36:33 -04:00
Raymond Hill
4b33b7bd7a Make Firefox dev build auto-update 2025-08-18 09:15:31 -04:00
Raymond Hill
f5d3d776d5 Make Firefox dev build auto-update 2025-08-18 09:15:17 -04:00
Raymond Hill
4814992c54 Import translation work from https://crowdin.com/project/ublock 2025-08-17 10:27:46 -04:00
Raymond Hill
895033de02 New revision for dev build 2025-08-17 08:24:01 -04:00
Raymond Hill
72e6c89b74 Update changelog 2025-08-17 08:06:06 -04:00
Raymond Hill
9327e19233 Fix undue fetch from remote server at first install
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3761

Regression from:
69fce3aa6e
2025-08-17 08:01:51 -04:00
Raymond Hill
fad0af591f [mv3] Add support for regexSubstitution from uritransform
Related commit:
aaf35d9d71
2025-08-16 15:36:52 -04:00
Raymond Hill
b7b5d926f0 Update changelog 2025-08-16 15:35:27 -04:00
Raymond Hill
4194fdec4b [mv3] Minor code review 2025-08-16 15:34:06 -04:00
Raymond Hill
5957656a5b [mv3][safari] Workaround for urlFilter with path part ending with ^
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/434
2025-08-16 14:59:22 -04:00
Raymond Hill
4d2cfd1487 [mv3][safari] Do not inject CSS in embedded contexts
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/446

Relateed WebKit issue:
https://bugs.webkit.org/show_bug.cgi?id=262491
2025-08-16 12:51:17 -04:00
Raymond Hill
a3e2cd4396 New revision for dev build 2025-08-16 09:08:00 -04:00
Raymond Hill
60ab2ad59c Fix regression in static filtering parser
Related commit:
aaf35d9d71
2025-08-16 09:06:25 -04:00
Raymond Hill
e9273470c5 New revision for dev build 2025-08-15 16:03:29 -04:00
Raymond Hill
0ce643bfc5 Update changelog 2025-08-15 16:03:06 -04:00
Raymond Hill
aaf35d9d71 Improve compatibility of uritransform= with DNR syntax
The `uritransform=` option will now be converted to a proper DNR
rule when the following condition are fulfilled:

- The value of the `uritransform` option matches `//[replacement]/`,
i.e. the pattern to match is empty, and only the replacement part is
provided.

- The filter pattern is a regex.

Is such case, the DNR rule will be a `redirect` making use of the
`regexSubstitution` property.

In case the above conditions are not fulfilled, the filter will
be discarded as incompatible with DNR syntax (as was the case
before).

This is potentially a breaking change, in cases where a filter
assumed that the part to match was the start of the path part of
a URL.

A reminder that `uritransform` is an option which requires a
trusted source, otherwise it is rejected.
2025-08-15 15:55:33 -04:00
Raymond Hill
25d9964b1e [mv3] Improve internal error reporting in troubleshooting info 2025-08-15 08:39:35 -04:00
Raymond Hill
d54c4a7052 [mv3] Fix unremovable custom filters created using older versions
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/435
2025-08-14 14:56:26 -04:00
Raymond Hill
718b3cdb97 [mv3] Fix custom filter list being unscrollable
Related discussion:
https://github.com/uBlockOrigin/uBOL-home/discussions/436
2025-08-14 08:58:57 -04:00
Raymond Hill
f3651bd866 Make Firefox dev build auto-update 2025-08-14 07:52:37 -04:00
Raymond Hill
07a1a51256 Make Firefox dev build auto-update 2025-08-14 07:52:23 -04:00
Raymond Hill
7d4e016297 [mv3] Use Safari-specific toolbar icon only for safari platform 2025-08-13 12:55:46 -04:00
Raymond Hill
5beca43c69 Merge branch 'uncw' 2025-08-13 12:46:50 -04:00
Raymond Hill
a6c9a9e9a4 GitHub Actions-related changes 2025-08-13 12:42:29 -04:00
Raymond Hill
9be4661294 New revision for dev build 2025-08-13 12:42:29 -04:00
Raymond Hill
17a363c2ff GitHub Actions-related changes 2025-08-13 12:42:29 -04:00
Raymond Hill
972ed1e520 Update changelog 2025-08-13 12:42:28 -04:00
Raymond Hill
22c07bd68b GitHub Actions-related changes 2025-08-13 10:57:32 -04:00
Raymond Hill
264acd5b10 New revision for dev build 2025-08-13 10:54:20 -04:00
Raymond Hill
5f14c816d0 GitHub Actions-related changes 2025-08-13 10:53:12 -04:00
Raymond Hill
e5fdfbb9f7 Update changelog 2025-08-13 10:48:17 -04:00
uncw
e6a8c87e0e Change Safari toolbar icon to an outlined version 2025-08-13 20:59:15 +08:00
uncw
3f73887e47 Add Safari toolbar icon 2025-08-12 23:46:22 +08:00
Raymond Hill
704f2dd734 [mv3] Code review implementation of custom "console"
Related commit:
28ea00fd11
2025-08-12 08:29:22 -04:00
Raymond Hill
18f9acd844 [mv3] Fix target URL when reporting from a strict-blocked page
Related feedback:
https://github.com/uBlockOrigin/uAssets/issues/29594#issuecomment-3176159770
2025-08-11 18:17:26 -04:00
Raymond Hill
28ea00fd11 [mv3] Share console error in troubleshooting information
This shoould help investigating issues, especially with mobile
devices, where the browser dev tools console is not available.
2025-08-11 17:53:59 -04:00
Raymond Hill
a1a5f3690f [mv3] Fix potentially unremovable custom filters
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/426
2025-08-10 12:44:42 -04:00
Raymond Hill
19a3de901c [mv3] Disable "strict blocking" by default in Safari
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/428#issuecomment-3172663563
2025-08-10 11:40:08 -04:00
Raymond Hill
07e9f805bb Allow usage of csp=/permissions= with resource type object
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3746
2025-08-10 09:22:17 -04:00
Raymond Hill
4d4826a029 Update README.md 2025-08-10 08:28:09 -04:00
Imre Eilertsen
b0ce6b6ac7 Attempted to add a GitHub Releases row to the "Install from" table (#3943)
* Attempted to add a GitHub Releases row to the "Install from" table

* Attempted to reflect the info.
2025-08-09 16:26:01 -04:00
Raymond Hill
faff035203 JSONPath: Add ability to select root node for appending/modifying
As discussed with filter list maintainers.

Examples of usage:

  $ => result is `null`
  $+={"modifyOrCreate": "..."}

These expressions were not working with previous version.
2025-08-09 13:56:02 -04:00
Raymond Hill
5629bf8a23 New revision for dev build 2025-08-09 11:14:36 -04:00
Raymond Hill
3ecad9a8c5 Update changelog 2025-08-09 11:13:51 -04:00
Raymond Hill
38ca6d41ff JSONPath: Add ability to substitute a pattern within a string value
As discussed with filter list maintainers.

Examples of JSON path expression to replace a pattern within a string
value:

  ..book.*.author=repl({"pattern": "Melville", "replacement": "Toto"})
  ..book.*.author=repl({"regex": "e", "replacement": "o"})
  ..book.*.author=repl({"regex": "e", "flags": "g", "replacement": "o"})

If the target value is not a string, no modification will occur.
2025-08-09 11:05:27 -04:00
Raymond Hill
cf70f2abbc [mv3] Add "EasyList -- Notifications"
Related feedback:
https://old.reddit.com/r/uBlockOrigin/comments/1mlj09l/
2025-08-09 08:59:28 -04:00
Raymond Hill
b9956a8d18 [mv3] Normalize request method names to lowercase in converter
Related issue:
https://github.com/uBlockOrigin/uBOL-home/discussions/153
2025-08-09 08:34:30 -04:00
Raymond Hill
c8da231453 [mv3] Make new spinner in "Filter lists" pane more noticeable 2025-08-08 12:30:09 -04:00
Raymond Hill
dfa47baddf [mv3] Remove spurious console message in content script
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/422
2025-08-08 11:50:35 -04:00
Raymond Hill
af6c247c0d [mv3] Import translation work from https://crowdin.com/project/ublock 2025-08-08 10:42:45 -04:00
Raymond Hill
93206e3241 [mv3] Propagate DNR API errors to "Filter lists" pane
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/317
2025-08-08 10:30:32 -04:00
Raymond Hill
5d0283d2ee Reduce/update npm dependencies 2025-08-08 09:03:52 -04:00
Raymond Hill
5dd0165359 [mv3] Fix link to privacy policy 2025-08-07 22:33:45 -04:00
Raymond Hill
e645fe7468 [mv3] Fix browser permissions scanning at launch
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/410
2025-08-07 12:44:27 -04:00
Raymond Hill
b6829698cc [mv3] Add spinner as visual feedback rulesets are being registered
Additionally, fixed a race condition where changes to rulesets would
not be ultimately registered when the changes were made during an
ongoing registration operation. This race condition would be
especially likely to occur on platforms where rulesets registration
take long.
2025-08-07 08:56:17 -04:00
Raymond Hill
31795fb6e6 [mv3] Remove obsolete code paths in picker tool 2025-08-06 13:28:30 -04:00
Raymond Hill
2d2de3a53b [mv3] Prevent scrolling taking over moving dialog in picker 2025-08-06 13:20:18 -04:00
Raymond Hill
1e0c64076f [mv3] Fix regression with highly generic cosmetic filters CSS files
Regression from:
56ba93700c

Related feedback:
https://old.reddit.com/r/uBlockOrigin/comments/1mi8fd6/ublock_origin_lite_for_ios/n725s6l/
2025-08-05 13:25:14 -04:00
Raymond Hill
e390822930 Revert "Remove file moved to uBOL-home repo"
This reverts commit 028893fe86.
2025-08-04 15:20:47 -04:00
Raymond Hill
472e8b53cd [mv3] Set minimum browser version for Safari 2025-08-04 15:15:42 -04:00
Raymond Hill
028893fe86 Remove file moved to uBOL-home repo 2025-08-04 13:25:41 -04:00
Raymond Hill
bbfe7400ac [mv3] Support important option for removeparam option
Related discussion:
https://github.com/uBlockOrigin/uAssets/issues/29451#issuecomment-3150181993

When transposing a `removeparam` dilter to a DNR rule, the semantic of
the `important` option changes to "overrides ` allow` rules".
2025-08-04 10:09:39 -04:00
Raymond Hill
bb1d085c8c Import translation work from https://crowdin.com/project/ublock 2025-08-03 16:04:17 -04:00
Raymond Hill
32bf5ebde3 [mv3] Add support for procedural cosmetic filters
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/325
2025-08-03 15:50:22 -04:00
Raymond Hill
e713e133eb Remove "CERT.PL's Warning List" from stock lists
Far too large to be used as a default or stock list.
2025-08-03 08:06:44 -04:00
Raymond Hill
171ddd3e06 Fix incorrect test
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3736
2025-08-01 10:38:40 -04:00
Raymond Hill
14a9572c86 Remove "AdGuard Tracking Protection"from stock list
It's not needed and too likely to interfere negatively with uBO's
default lists. It was added a long, long time ago when EasyPrivacy
wasn't making use of uBO's own advanced syntax, which is no longer
an issue.
2025-07-31 16:37:10 -04:00
Raymond Hill
5911a8ea7a [mv3] Remove Safari-specific warning 2025-07-31 16:29:19 -04:00
Raymond Hill
02f90d58f4 [mv3] Use default file permissions on created temp file
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/397
2025-07-30 08:45:16 -04:00
Raymond Hill
4f273c4284 [mv3] Temporarily comment out empty list as error 2025-07-28 10:00:25 -04:00
Raymond Hill
581144eeb8 Import translation work from https://crowdin.com/project/ublock 2025-07-28 09:28:47 -04:00
Raymond Hill
a986b45433 [mv3] Fix gutter click on last line 2025-07-28 09:18:15 -04:00
Raymond Hill
7d9317bb17 Improve fingerprint2.js shim 2025-07-28 09:14:32 -04:00
Raymond Hill
abeb5d1567 Make Firefox dev build auto-update 2025-07-26 09:28:06 -04:00
Raymond Hill
beab99b54a Import translation work from https://crowdin.com/project/ublock 2025-07-25 10:44:17 -04:00
Raymond Hill
626b9c7f2d [mv3] Don't disable lists according to DNR rule count
Some lists may be composed of only static extended filters.
2025-07-23 14:04:58 -04:00
Raymond Hill
1476ae4262 Import translation work from https://crowdin.com/project/ublock 2025-07-23 11:37:18 -04:00
Raymond Hill
d88814bc12 Add filter list for experimental filters 2025-07-23 10:34:19 -04:00
Raymond Hill
348f151e36 Also report char segment size 2025-07-22 11:19:16 -04:00
Raymond Hill
a94b4e12a9 Update changelog 2025-07-20 10:58:02 -04:00
Raymond Hill
47cbb43a0e Make google-ima a valid injectable scriptlet
Related feedback:
https://www.reddit.com/r/uBlockOrigin/comments/1m4dbk1/ublock_being_detected_on_south_park_studios/
2025-07-20 10:53:56 -04:00
Raymond Hill
23155d81cd New revision for dev build 2025-07-20 10:30:43 -04:00
Raymond Hill
4baf61371c Update changelog 2025-07-20 10:30:24 -04:00
Raymond Hill
fef50e59f2 Improve abort-current-script scriptlet
Prevent webpages from tampering with `textContent`.

Borrow solution from:
c2d7378e4d/src/scriptlets/abort-current-inline-script.js (L98-L99)
2025-07-20 10:26:31 -04:00
Raymond Hill
fed7f4a0b8 [mv3] Merge all :style() filters with procedural filters 2025-07-19 13:15:43 -04:00
Raymond Hill
8ae7c1501b Import translation work from https://crowdin.com/project/ublock 2025-07-18 15:18:56 -04:00
Raymond Hill
d7686a815e [mv3] Remove hostname normalization regarding filtering mode
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/388#issuecomment-3075440422
2025-07-18 13:53:01 -04:00
Raymond Hill
e07e7bbd09 Fix potential exception in procedural operator :matches-attr
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3720
2025-07-18 10:23:11 -04:00
Raymond Hill
bb9e2c0fc7 Import translation work from https://crowdin.com/project/ublock 2025-07-17 10:30:22 -04:00
Raymond Hill
9f5893cd88 Make Firefox dev build auto-update 2025-07-17 08:07:44 -04:00
Raymond Hill
3e0462e619 New revision for dev build 2025-07-16 09:24:40 -04:00
Raymond Hill
3d155889e9 Update changelog 2025-07-16 09:24:17 -04:00
Raymond Hill
b7510eee61 Improve reporting of reason option in strict-blocked pages
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/1195#issuecomment-3072981070
2025-07-15 12:10:10 -04:00
Raymond Hill
1e955bebbe Make Firefox dev build auto-update 2025-07-15 11:28:42 -04:00
Raymond Hill
eb28988054 [mv3] Minor code review 2025-07-14 12:33:51 -04:00
Raymond Hill
2c91bfc872 [mv3] Make the slider continuous rather than granular 2025-07-14 12:12:36 -04:00
Raymond Hill
cc7e7894c7 [mv3] Fix compatibility layer code 2025-07-14 11:28:02 -04:00
Raymond Hill
e75e128a34 [mv3] Load procedural CSS code on demand 2025-07-13 17:16:04 -04:00
Raymond Hill
6bfa7245f3 [mv3] Normalize rulesets read from package
This ensures rulesets are properly rendered in DNR ruleset viewer
in Safari.
2025-07-12 11:16:29 -04:00
Raymond Hill
1a8238e03e [mv3] Adjust CSS for small display 2025-07-12 11:13:10 -04:00
Raymond Hill
255b143c80 Import translation work from https://crowdin.com/project/ublock 2025-07-11 08:49:58 -04:00
Raymond Hill
9a20412a4a Update changelog 2025-07-11 08:39:05 -04:00
Raymond Hill
5c57415d7a [mv3] Minor CSS change 2025-07-11 08:36:21 -04:00
Raymond Hill
d94107284b New revision for dev build 2025-07-11 08:35:53 -04:00
Raymond Hill
b0396029bd Improve prevent-innerHTML scriptlet
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/29148
2025-07-11 08:35:10 -04:00
Raymond Hill
2809b6cd18 Update changelog 2025-07-10 12:54:15 -04:00
Raymond Hill
689182f30b New version for stable release 2025-07-10 10:50:56 -04:00
Raymond Hill
f88ffcea04 [mv3] Slightly rework popup panel layout 2025-07-10 09:30:55 -04:00
Raymond Hill
887ae607dd [mv3] Fix usage of getMatchedRules() 2025-07-09 17:20:21 -04:00
Raymond Hill
d17afabffb Import translation work from https://crowdin.com/project/ublock 2025-07-09 11:17:18 -04:00
Raymond Hill
1bcb7520dd [mv3] Minor changes 2025-07-09 11:14:51 -04:00
Raymond Hill
6b7f929ec5 [mv3] Fix spurious filter conversion when pasting in editor 2025-07-08 09:47:37 -04:00
Raymond Hill
891b750de2 [mv3] Fine tune font size 2025-07-08 09:22:14 -04:00
Raymond Hill
d0e87d3521 [mv3] Mind long sentences in popup panel 2025-07-08 08:40:15 -04:00
Raymond Hill
28bc5905a8 Import translation work from https://crowdin.com/project/ublock 2025-07-08 07:55:56 -04:00
Raymond Hill
4dee9cd79c [mv3] Minor CSS change 2025-07-08 07:47:48 -04:00
Raymond Hill
1eec92419e [mv3] Mind admin-forbidden features in popup panel 2025-07-07 11:03:23 -04:00
Raymond Hill
a2d8429738 [mv3] Remove unused CSS declarations 2025-07-07 09:48:58 -04:00
Raymond Hill
a38aa48368 Import translation work from https://crowdin.com/project/ublock 2025-07-07 09:12:52 -04:00
Raymond Hill
f1551c56ea [mv3] Add ability to assign a shortcut to "Create a custom filter" 2025-07-06 19:06:19 -04:00
Raymond Hill
7dd6688ed3 [mv3] Minor CSS change 2025-07-06 18:47:38 -04:00
Raymond Hill
a393322f82 [mv3] Minor CSS change 2025-07-06 18:34:41 -04:00
Raymond Hill
ca222fa40e [mv3] Minor CSS change 2025-07-06 18:33:35 -04:00
Raymond Hill
624ad67da8 [mv3] Minor CSS change 2025-07-06 17:51:54 -04:00
Raymond Hill
3a4897db93 Import translation work from https://crowdin.com/project/ublock 2025-07-06 17:12:47 -04:00
Raymond Hill
ac159c5f08 Fix typo 2025-07-06 17:10:57 -04:00
Raymond Hill
45ab7feca6 Import translation work from https://crowdin.com/project/ublock 2025-07-06 17:04:28 -04:00
Raymond Hill
78305e11c9 Import translation work from https://crowdin.com/project/ublock 2025-07-06 16:59:43 -04:00
Raymond Hill
0b0294af4f [mv3] Add support for custom CSS-based cosmetic filters
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/325

This is a first version, with support only for custom filters which are
plain CSS selectors. Future versions will extend support to style-based
and procedural cosmetic filters.

Manually text-editing existing custom filters is currently not supported,
this will be added in a future version in the Develop pane. To remove
existing custom filters, the "Remove a custom filter" tool can be used.
2025-07-06 16:43:22 -04:00
Raymond Hill
cf13c4b4dc Make Firefox dev build auto-update 2025-07-05 11:06:00 -04:00
Raymond Hill
7c237e8217 New revision for dev build 2025-07-05 11:01:25 -04:00
Raymond Hill
b398bd8487 [regression] Normalize header names to lowercase
Related commit:
https://github.com/gorhill/uBlock/commit/408b538e75
2025-07-05 10:59:22 -04:00
Raymond Hill
76b72c9e65 Import translation work from https://crowdin.com/project/ublock 2025-07-03 09:46:52 -04:00
Raymond Hill
eec2045645 [mv3] Fix calculation of priority value when converting redirect filters 2025-07-03 09:22:09 -04:00
Raymond Hill
b5fae23329 Make Firefox dev build auto-update 2025-06-28 06:41:18 -04:00
Raymond Hill
f23518173e New revision for dev build 2025-06-28 06:21:31 -04:00
Raymond Hill
a25564559c Update changelog 2025-06-28 06:21:11 -04:00
Raymond Hill
e27bb85222 Import translation work from https://crowdin.com/project/ublock 2025-06-28 06:20:23 -04:00
Raymond Hill
66b68b4442 Reset important option flag at header evaluation time 2025-06-28 06:07:09 -04:00
Raymond Hill
9c08e902bd [mv3] Fix regression in syntax highlighting of dark theme 2025-06-24 20:44:14 -04:00
Raymond Hill
9bcfc8ff1c [mv3] Add access to troubleshooting info in About pane 2025-06-24 17:19:49 -04:00
Raymond Hill
27936f476e [mv3] Fix newline assistant in mode editor 2025-06-24 11:45:44 -04:00
Raymond Hill
3a473f8c48 Import translation work from https://crowdin.com/project/ublock 2025-06-24 10:56:43 -04:00
Raymond Hill
d9aba4acca [mv3] Use custom tokens for YAML document boundaries 2025-06-24 10:41:39 -04:00
Raymond Hill
8bcf533fc0 [mv3] Code review of uBO filter converter
Related commit:
e8fb0e1cc9
2025-06-22 17:06:35 -04:00
Raymond Hill
56ecd04816 Make Firefox dev build auto-update 2025-06-22 13:56:16 -04:00
Raymond Hill
e33bfc1f01 [mv3] Add support to exclude lists from specific platforms
Related discussion:
https://github.com/uBlockOrigin/uBOL-home/issues/358#issuecomment-2993687480
2025-06-22 12:07:06 -04:00
Raymond Hill
219c07609f New revision for dev build 2025-06-22 11:39:06 -04:00
Raymond Hill
0b6eea542f Update chengelog 2025-06-22 11:38:47 -04:00
Raymond Hill
253ef7ade3 Complete support for reporing strict-block messages
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/1195
2025-06-22 11:28:54 -04:00
Raymond Hill
1b00490a4d Import translation work from https://crowdin.com/project/ublock 2025-06-22 11:28:39 -04:00
Raymond Hill
001bd5841f Import translation work from https://crowdin.com/project/ublock 2025-06-22 11:27:19 -04:00
Raymond Hill
e8fb0e1cc9 [mv3] Add ability to convert pasted filters to DNR rules
WHen a uBO static network filter is pasted into the "Custom DNR
rules" editor, it will be converted into a DNR rule whenever
possible. At the moment, no feedback is provided when the conversion
fails -- this will be improved in the future.
2025-06-22 09:44:32 -04:00
Raymond Hill
527b4a201f Fix broken reverse lookup of filter lists
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3684

Regression from:
8b696a691a
2025-06-22 08:05:34 -04:00
Raymond Hill
8d24b7130c Make Firefox dev build auto-update 2025-06-21 07:16:16 -04:00
Raymond Hill
69a2959028 New revision for dev build 2025-06-21 06:50:50 -04:00
Raymond Hill
d66d592ebb Update changelog 2025-06-21 06:50:30 -04:00
Raymond Hill
6e466cf945 Add [trusted-]edit-inbound-object scriptlets
As discussed with filter list maintainers.

@scriptlet edit-inbound-object.js
  @description
  Prune properties from an object passed as argument to a specific method.
  Properties can only be removed.
  @param propChain
  Property chain of the method to trap.
  @param argPos
  0-based position of the argument. Use negative integer for position relative
  to the end.
  @param jsonq
  A uBO-flavored JSONPath query.

@scriptlet trusted-edit-inbound-object.js
  @description
  Edit properties of an object passed as argument to a specific method.
  Properties can be assigned new values.
  @param propChain
  Property chain of the method to trap.
  @param argPos
  0-based position of the argument. Use negative integer for position relative
  to the end.
  @param jsonq
  A uBO-flavored JSONPath query.
2025-06-21 06:47:03 -04:00
Raymond Hill
754f61717a Import translation work from https://crowdin.com/project/ublock 2025-06-19 17:41:40 -04:00
Raymond Hill
d853f036c7 Import translation work from https://crowdin.com/project/ublock 2025-06-19 17:35:58 -04:00
Raymond Hill
1f5b4ccc53 Import translation work from https://crowdin.com/project/ublock 2025-06-18 12:40:48 -04:00
Raymond Hill
b73034523f Import translation work from https://crowdin.com/project/ublock 2025-06-17 12:12:14 -04:00
Raymond Hill
c1bd62ae24 [mv3] Start to implement better DNR rule assistant 2025-06-17 12:09:33 -04:00
Raymond Hill
5327502a32 [mv3] Fix content update in wrong editor mode 2025-06-16 18:17:50 -04:00
Raymond Hill
2f6fe675da Make Firefox dev build auto-update 2025-06-16 15:36:39 -04:00
Raymond Hill
7b3589b0d3 New revision for dev build 2025-06-16 15:23:34 -04:00
Raymond Hill
35750688bc Update changelog 2025-06-16 15:23:12 -04:00
Raymond Hill
0a8ea58bb7 Improve remove-cookie scriptlet
Related discussion:
afc6ff52ff (commitcomment-160172503)
2025-06-16 15:19:01 -04:00
Raymond Hill
33b92f91cb Import translation work from https://crowdin.com/project/ublock 2025-06-15 19:07:07 -04:00
Raymond Hill
f106a81052 Make Firefox dev build auto-update 2025-06-15 14:11:44 -04:00
Raymond Hill
f87d2955d5 New revision for dev build 2025-06-15 13:59:19 -04:00
Raymond Hill
59680e61f4 Update changelog 2025-06-15 13:58:48 -04:00
Raymond Hill
87e0434c90 Add json-edit-related scriptlets
edit-outbound-object-.js
 @description
 Prune properties from an object returned by a specific method.
 Properties can only be removed.
 @param jsonq
 A uBO-flavored JSONPath query.

trusted-edit-outbound-object.js
 @description
 Edit properties from an object returned by a specific method.
 Properties can be assigned new values.
 @param jsonq
 A uBO-flavored JSONPath query.

json-edit-xhr-request.js
 @description
 Edit the object sent as the body in a XHR instance.
 Properties can only be removed.
 @param jsonq
 A uBO-flavored JSONPath query.
 @param [propsToMatch, value]
 An optional vararg detailing the arguments to match when xhr.open() is
 called.

trusted-json-edit-xhr-request.js
 @description
 Edit the object sent as the body in a XHR instance.
 Properties can be assigned new values.
 @param jsonq
 A uBO-flavored JSONPath query.
 @param [propsToMatch, value]
 An optional vararg detailing the arguments to match when xhr.open() is
 called.

json-edit-fetch-request.js
 @description
 Edit the request body sent through the fetch API.
 Properties can only be removed.
 @param jsonq
 A uBO-flavored JSONPath query.
 @param [propsToMatch, value]
 An optional vararg detailing the arguments to match when fetch() is
 called.

trusted-json-edit-fetch-request.js
 @description
 Edit the request body sent through the fetch API.
 Properties can be assigned new values.
 @param jsonq
 A uBO-flavored JSONPath query.
 @param [propsToMatch, value]
 An optional vararg detailing the arguments to match when fetch() is
 called.
2025-06-15 13:55:09 -04:00
Raymond Hill
3a2bb62519 Improve trusted-set-cookie scriptlet
Ability to use regex value for `, domain, value` vararg.

Related discussion:
afc6ff52ff (commitcomment-160035082)
2025-06-14 09:26:27 -04:00
Raymond Hill
28d2326808 [mv3] Better support for toggling line comments 2025-06-13 19:08:11 -04:00
Raymond Hill
786cf0c802 License stuff 2025-06-13 18:22:26 -04:00
Raymond Hill
9ee42b26c1 [mv3] Support toggling line comment using official CodeMirror command 2025-06-13 17:54:20 -04:00
Raymond Hill
88d090b20a Import translation work from https://crowdin.com/project/ublock 2025-06-13 12:53:44 -04:00
Raymond Hill
b50341089d [mv3] Expand "Develop" pane
Move "No filtering" section in "Settings" to "Develop" pane. It is
now possible to view/edit the list of hostnames for any of the
filtering mode. This takes care of these issues:
- https://github.com/uBlockOrigin/uBOL-home/issues/270
- https://github.com/uBlockOrigin/uBOL-home/issues/297

Add ability to see all rulesets (read-only), to assist in investigating
filtering issues.
2025-06-13 12:46:05 -04:00
Raymond Hill
a12ed895dd Import translation work from https://crowdin.com/project/ublock 2025-06-13 12:37:25 -04:00
Raymond Hill
43a883396d [mv3] Fix regression in handling important option
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/368
2025-06-13 11:11:27 -04:00
Raymond Hill
ff8c527b99 [mv3] Revert trying to transpose requestDomains
This breaks uBOL -- unclear error message but disabling rulesets
eventually unbreak the extension, thus possibly a case of going
over the rule limit as a result of transposition.

The `requestDomains` issue will have to wait for the official
Safari fix.
2025-06-12 09:32:59 -04:00
Raymond Hill
7060be775c Import translation work from https://crowdin.com/project/ublock 2025-06-11 15:23:14 -04:00
Raymond Hill
e43de8c185 [mv3] Firefox doesn't yet support condition.responseHeaders 2025-06-11 09:40:52 -04:00
Raymond Hill
950f7920b3 [mv3] Update build script 2025-06-10 15:24:53 -04:00
Raymond Hill
9f3282d74f [mv3] Safari: expand rsach requestDomains entries into own rule
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/358
2025-06-10 15:18:47 -04:00
Raymond Hill
76d8b97869 [mv3] Collect/apply highly generic cosmetic exceptions across lists
Related issues:
- https://github.com/uBlockOrigin/uBOL-home/issues/365
- https://github.com/uBlockOrigin/uAssets/issues/28770
- https://github.com/uBlockOrigin/uAssets/issues/28129
2025-06-10 15:03:14 -04:00
Raymond Hill
deb3247ea2 Update README.md 2025-06-10 09:37:01 -04:00
u-RraaLL
4803e6f69b Edge status update (#3940) 2025-06-07 06:39:46 -04:00
Raymond Hill
508138764d [mv3] Properly refresh "Developer mode" checkbox on changes 2025-06-06 08:45:19 -04:00
Raymond Hill
a960140c30 Import translation work from https://crowdin.com/project/ublock 2025-06-03 16:56:10 -04:00
Raymond Hill
b81076224c Minor 2025-06-03 16:45:16 -04:00
Imre Eilertsen
fd049c9e1f Added 4 language codes for Firefox. (#3939)
* Added 4 language codes for Firefox.

* Added 4 language codes for Firefox.

* Added Kabyle to Liste AR as well.

As opposed to just AdGuard Français.

* Added Kabyle to Liste AR as well.
2025-06-03 15:40:06 -04:00
Raymond Hill
26381a557a Minor 2025-06-03 15:38:53 -04:00
Raymond Hill
e96e380ad1 Use CodeMirror's MergeView to highlight differences between before/after
To make it easier to analyze the effect of a jsonpath.
2025-06-03 10:21:53 -04:00
Raymond Hill
b2c4242138 [mv3] Fix error reporting in registerInjectables() 2025-06-03 07:39:38 -04:00
Raymond Hill
1a9c63254c [mv3] Report custom DNR rule count in troubleshooting information
As discussed internally.

The custom DNR rule count will be reported only when it's not zero,
and the count is only for effective DNR rules, i.e. it will not be
reported if "Developer mode" is not enabled.
2025-06-03 06:05:56 -04:00
Raymond Hill
eb46f42419 Make Firefox dev build auto-update 2025-06-01 14:46:02 -04:00
Raymond Hill
0983e62437 [mv3] Fine tuning editor code 2025-06-01 14:34:57 -04:00
Raymond Hill
0dac2206c3 Import translation work from https://crowdin.com/project/ublock 2025-06-01 13:52:48 -04:00
Raymond Hill
5de5d8c4a7 New revision for dev build 2025-06-01 13:50:35 -04:00
Raymond Hill
30a271a7ff Update changelog 2025-06-01 13:50:00 -04:00
Raymond Hill
4affe343dd Force cache bypass reload when no-scripting switch is toggled
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3652
2025-06-01 13:48:23 -04:00
Raymond Hill
fad39c6ce5 [mv3] Add support for code-folding and use custom stream parser 2025-06-01 13:29:46 -04:00
Raymond Hill
837451c17a Import translation work from https://crowdin.com/project/ublock 2025-05-31 11:32:54 -04:00
Raymond Hill
670e8dc367 [mv3] Add smart spacebar/return auto completion 2025-05-31 09:42:53 -04:00
Raymond Hill
e1f2c6f88d [mv3] Code review 2025-05-30 18:15:25 -04:00
Raymond Hill
ffb3fef073 [mv3] Add smart backspace in DNR rules editor 2025-05-30 11:23:45 -04:00
Raymond Hill
aa1c813763 Update changelog 2025-05-30 11:20:08 -04:00
Raymond Hill
55d45a6fb1 Code review: safer to split on official line separator
Will still join lines using the detected line separator.
2025-05-30 11:19:12 -04:00
Raymond Hill
008fc488c1 Make Firefox dev build auto-update 2025-05-30 11:16:22 -04:00
Raymond Hill
bc32794a47 New revision for dev build 2025-05-30 11:10:39 -04:00
Raymond Hill
44f04e3d3b Update changelog 2025-05-30 11:10:19 -04:00
Raymond Hill
ed9999efd6 Improve jsonl[...] suite of scriptlets
Reuse original line separator when reassembling JSONL lines.
2025-05-30 11:06:33 -04:00
Raymond Hill
fbb96c7234 Import translation work from https://crowdin.com/project/ublock 2025-05-30 08:06:25 -04:00
Raymond Hill
3d5d8e8220 Remove obsolete "shortcut" token from link rel="icon"
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3634
2025-05-30 06:56:10 -04:00
Raymond Hill
16a42566ff Update jsonpath tool to show transformation 2025-05-29 18:09:19 -04:00
Raymond Hill
b69f809d91 Need this to distinguish FilterMessage instances 2025-05-29 15:19:03 -04:00
Raymond Hill
c142d9af67 [mv3] Fix dnr-parser for Safari compatibility 2025-05-29 14:33:30 -04:00
Raymond Hill
6221cecf57 [mv3] Fix Safari's compatiblity layer 2025-05-29 14:18:46 -04:00
Raymond Hill
03f06ab6a9 Make Firefox dev build auto-update 2025-05-29 13:31:30 -04:00
Raymond Hill
1824a2bccf New revision for dev build 2025-05-29 13:26:57 -04:00
Raymond Hill
90547cdbf3 Update changelog 2025-05-29 13:26:13 -04:00
Raymond Hill
d8298bb067 Add support for network filter option message
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/1195
2025-05-29 13:23:56 -04:00
Raymond Hill
eb3f5a44a9 Import translation work from https://crowdin.com/project/ublock 2025-05-29 10:13:32 -04:00
Raymond Hill
6647ae55a9 Import translation work from https://crowdin.com/project/ublock 2025-05-29 10:10:27 -04:00
Raymond Hill
f2c0633216 [mv3] Add missing translatable string 2025-05-29 10:09:02 -04:00
Raymond Hill
cac62c6dc0 Import translation work from https://crowdin.com/project/ublock 2025-05-29 10:05:13 -04:00
Raymond Hill
9339a75952 [mv3] Add support for custom DNR rules
This feature is hidden behind the "Developer mode" setting in
the dashboard. When "Developer mode" is enabled, a tab named
"Develop" will become available in the dashboard. This tab is
meant to contain tools for technical users.

At the moment, the "Develop" pane allows to create custom DNR
rules through a (CodeMirror-based) editor.

For the sake of convenience, the DNR rule must be entered in
YAML-like format. The format is not really full compliant YAML,
just YAML-like, and very strict in order to ensure the parser
stays simple enough.

Lines starting with `#` are comments and will be ignored by the
parser.

Any line which do not match the parser's expectation will be
marked as invalid, and the whole DNR rule containing such invalid
lines will be discarded.

There must not be empty lines inside a rule definition.

Each DNR rule must be separated with a `---` line, which is
known as a YAML document separator.

String values must not be quoted, otherwise the quotes will be
considered part of the value. There is one exception: `''` will
be parsed as "an empty string".

The editor will attempt to auto-complete known DNR keywords. That
feature will improve over time.

Though the parser will identify some errors, not all invalid DNR
rules are currently identified by the parser, and these will be
reported when the rules are registered through the DNR API. Better
identifying invalid DNR rules at edit time will improve over time.

The editor will report `regexFilter` values which are not
supported by the DNR engine on the current platform.

The editor reacts to instances of `regexFilter: ...` to report
whether a regex value is supported. This means you can test for
a regex value by using `# regexFilter: ...` so that you do not
have to create an actual DNR rules just for the sake of testing.

Custom DNR rules can be exported into a JSON file (a format
known by the DNR API as a "static ruleset").

JSON-based ruleset can be imported, the content will be converted
to YAML-like syntax.

The editor will attempt to convert to YAML pasted content which
can be JSON-parsed. It's possible to paste partially or wholly
JSON-based rulesets.

When disabling "Developer mode", all custom DNR rules will be
unregistered from the DNR API. The DNR rules content will be left
intact in such case. Existing DNR rules will be registered into
the DNR API when re-enabling "Developer mode".

Administrators can prevent "Developer mode" from being enabled
by adding `develop` token to `disabledFeatures` setting.

Related discussion:
https://github.com/uBlockOrigin/uBOL-home/discussions/323

The main motivation is to give list maintainers a tool to assist
with resolving filter issues. Custom DNR rules can assist in
crafting and validating filters meant to work with uBOL.

A secondary motivation is to provide technical users the ability
to further customize their content blocker.

More conveniences will be added over time, this is a first version.
2025-05-29 09:06:02 -04:00
Raymond Hill
4e2585545b [mv3] This is not needed for uBOL 2025-05-25 19:10:18 -04:00
Raymond Hill
686eefd6b0 [mv3] Remove CERT.PL's Warning List 2025-05-25 18:55:39 -04:00
Raymond Hill
e077d36c6e Import translation work from https://crowdin.com/project/ublock 2025-05-25 18:17:20 -04:00
Raymond Hill
93d8e639ce [mv3] Code review last commit
Related commit:
2076d42239
2025-05-23 09:49:07 -04:00
Raymond Hill
2076d42239 [mv3] Add to troubleshooting info whether webext API calls failed
Related discussion:
https://github.com/uBlockOrigin/uBOL-home/issues/327#issuecomment-2904240310
2025-05-23 09:36:21 -04:00
Raymond Hill
13886f728d [mv3] Fix tag 2025-05-23 08:28:04 -04:00
Raymond Hill
ecc64ae125 [mv3] Give admins ability to prevent usage of zapper
Related issue:
https://github.com/uBlockOrigin/uBOL-home/pull/341
2025-05-22 16:53:11 -04:00
Raymond Hill
69d584a283 Make Firefox dev build auto-update 2025-05-22 15:06:34 -04:00
Raymond Hill
ca4430c0ba New revision for dev build 2025-05-22 14:52:59 -04:00
Raymond Hill
c5d1eb109e Update changelog 2025-05-22 14:51:19 -04:00
Raymond Hill
4eae23065e [mv3] Allow body element to vertically scroll
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/352
2025-05-22 13:19:02 -04:00
Raymond Hill
408b538e75 [mv3] Add support to convert header= option to DNR rules
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/157

The `header=` option will be converted into DNR's `responseHeaders`
condition.

There will be an attempt to convert regex-based values into DNR-
compatible syntax. Not all regex-based patterns can be converted to
use DNR's patterns with `*` and `?` special characters.

The implementation of `header=` option in uBO has been revisited to
improve compatibility with DNR syntax to minimize burden for list
maintainers when creating `header=` filters compatible with both
uBO and uBOL.

The changes:
- Header names are now case-insensitive by default
- Occurrences of `*` in non-regex-based header values now mean
  "matches any number of characters"
- Occurrences of `?` in non-regex-based header values now mean
  "matches zero or one character"

At time of commit, and as per MDN, only Chromium-based browsers
currently support filtering on repsonse headers:
https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/HeaderInfo

Also as per MDN, Chromium 121-127 silently ignore the `responseHeaders`
condition, potentially causing undue blocking of network requests.
Currently uBOL support Chromium 122 and later, meaning we need to mind
potential false positives in Chromium 122-127 for filters using
`header=` option.
2025-05-22 11:46:08 -04:00
Raymond Hill
c44f043ed3 Counter CodeMirror's pointer-events: none on scrollbars
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3645
2025-05-22 08:39:29 -04:00
Raymond Hill
eee279be01 [mv3] Add codemirror-ubol as submodule 2025-05-21 08:01:21 -04:00
Raymond Hill
ee7af6f005 Make Firefox dev build auto-update 2025-05-20 12:26:37 -04:00
Raymond Hill
943a63d1e6 Update changelog 2025-05-20 12:17:08 -04:00
Raymond Hill
1b0f2ac14c New revision for dev build 2025-05-20 12:15:48 -04:00
Raymond Hill
0130fdf4a1 Fix element picker issue with explicit dark theme
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3624
2025-05-20 12:14:33 -04:00
Raymond Hill
cdd46c5c7b Minor change 2025-05-20 11:59:32 -04:00
Raymond Hill
4888ec6d35 Add tool to evaluate uBO-flavored JSONpath expressions
Requires a local server in root of repo:
python3 -m http.server

Then load the following URL in the browser:
http://localhost:8000/tools/jsonpath-tool.html
2025-05-20 10:14:35 -04:00
Raymond Hill
7ee99e6875 [mv3] Add fallback fetch in case main one fails 2025-05-20 07:34:05 -04:00
Raymond Hill
a59daf5978 [mv3] Forgot to commit new CSS file 2025-05-19 19:02:41 -04:00
Raymond Hill
13b7f381b2 [mv3] Safari: warn to not open filter issues for stable Safari
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/28408

Stable Safari is known to not block certain network requests due to
the current state of the DNR engine in Safari. The warning is to
ensure volunteers are not burdened by issues originating from the
browser.

Eventually Safari's DNR implementation will catch up with the
specification, at which time the warning will be removed.
2025-05-19 16:55:27 -04:00
Raymond Hill
05f7a7b8c3 [mv3] Minor code review 2025-05-19 10:41:15 -04:00
Raymond Hill
be8b6238d3 [mv3] Add browser info in troubleshooting data 2025-05-19 10:39:31 -04:00
Raymond Hill
ed10973717 [mv3] Add "AdGuard -- Mobile Ads"
Maybe related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/351

The list is enabled by default on mobile devices.
2025-05-18 09:55:20 -04:00
Raymond Hill
4c6f8222af Import translation work from https://crowdin.com/project/ublock 2025-05-18 09:00:28 -04:00
Raymond Hill
4aa16e9409 [mv3] Add missing image 2025-05-18 08:57:48 -04:00
Raymond Hill
ce4a4fcd75 [mv3] Minor CSS change 2025-05-18 08:50:54 -04:00
Raymond Hill
6d2123b196 Update README.md 2025-05-17 08:10:49 -04:00
Raymond Hill
b2c9be14cf [mv3] Code review: matches is never empty 2025-05-16 10:30:20 -04:00
Raymond Hill
aa696d0669 Ignore lib directory when linting 2025-05-16 08:52:36 -04:00
Raymond Hill
4c99471a25 [mv3] Avoid passing empty arrays to scripting.registerContentScripts
Maybe related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/344
2025-05-15 11:20:52 -04:00
Raymond Hill
a551d1cc01 [mv3] Editor font size 2025-05-15 07:26:40 -04:00
Raymond Hill
907e33ef59 Update README.md 2025-05-14 17:33:10 -04:00
Raymond Hill
2322038e8f Update README.md 2025-05-14 17:32:20 -04:00
Raymond Hill
ae461f47d3 Update README.md 2025-05-14 17:31:49 -04:00
Raymond Hill
9491fcdb2e Update README.md 2025-05-14 17:31:26 -04:00
Raymond Hill
fd5da3fcd2 [mv3] Use CodeMirror editor for list of no-filtering websites
This is a first step to integrate CodeMirror6 into the project.

As a side effect, this should take care of:
https://github.com/uBlockOrigin/uBOL-home/issues/297

Though most likely the list of no-filtering websites will probably
move to its own pane as in uBO in some future.
2025-05-14 17:20:55 -04:00
Raymond Hill
d12e7817d2 [mv3] Add ability to reset zapper selection on mobile devices 2025-05-14 10:02:37 -04:00
Imre Eilertsen
7e239db9a8 Added AdGuard's 2 newest !#if tokens. (#3938) 2025-05-13 12:38:33 -04:00
Raymond Hill
ed3a0b8ab9 [mv3] Remove hard-coded line height 2025-05-13 10:52:42 -04:00
Raymond Hill
71244bc37b New revision for stable release 2025-05-13 09:18:38 -04:00
Raymond Hill
3e39e5beab [mv3] CSS fine tuning 2025-05-13 08:00:39 -04:00
Raymond Hill
84db4585f5 [mv3] Fix popup width for Firefox 2025-05-12 19:31:40 -04:00
Raymond Hill
9763a79c01 [mv3] Minor CSS adjustments 2025-05-12 18:00:14 -04:00
Raymond Hill
569dfea3cb [mv3] Have the slider button size dictates all other dimensions 2025-05-12 16:55:23 -04:00
Raymond Hill
82c6d5e8ff Make Firefox dev build auto-update 2025-05-12 08:40:38 -04:00
Raymond Hill
7c5c9beda6 Update changelog 2025-05-12 07:51:41 -04:00
Raymond Hill
c02c571b3e New revision for release candidate 2025-05-12 07:50:22 -04:00
Raymond Hill
8cd6212867 Use custom blank page for embedded iframe in dashboard
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3631#issuecomment-2870424577
2025-05-12 07:48:42 -04:00
Raymond Hill
e3a3026cac Use custom blank page for embedded iframe in dashboard
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3631#issuecomment-2870424577
2025-05-12 07:46:33 -04:00
Raymond Hill
a075442e1c Import translation work from https://crowdin.com/project/ublock 2025-05-11 10:37:24 -04:00
Raymond Hill
2e7d0a07e7 [mv3] Add TODO comment 2025-05-11 10:36:21 -04:00
Raymond Hill
3ff54b7f2a [mv3] Just force a reload when URL doesn't change
Most of the time the URL doesn't change and just forcing a reload
of the page is sufficient. When a document is strict-blocked, the
URL must be updated however.
2025-05-11 10:34:49 -04:00
Raymond Hill
63eeaae5e9 Make Firefox dev build auto-update 2025-05-11 10:31:14 -04:00
Raymond Hill
3508176fcc New revision for release candidate 2025-05-11 10:23:31 -04:00
Raymond Hill
60735f88f9 New revision for release candidate 2025-05-11 10:22:56 -04:00
Raymond Hill
5c029b3532 Use color-scheme meta tag as suggested
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3631
2025-05-11 10:17:17 -04:00
Raymond Hill
3650117b4f Fix background color of navigation bar
Related commit:
b604524c2f
2025-05-11 09:41:34 -04:00
Raymond Hill
b604524c2f Explicitly set background color according to state of prefers-color-scheme
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3631
2025-05-11 09:30:34 -04:00
Raymond Hill
3292f128d2 [mv3] Mind discarded regex- or path-based entries when determining genericity
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/28260
2025-05-11 07:32:32 -04:00
Raymond Hill
a83be19987 [mv3] Remove equivalence between chromium and safari 2025-05-10 12:32:09 -04:00
Raymond Hill
8a7f1589ec [mv3] Expose setExtensionActionOptions in Safari compatibility layer
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/327#issuecomment-2864897864
2025-05-10 12:21:51 -04:00
Raymond Hill
1c98faf46c [mv3] Safari works; use 3-component version for uBOL
uBOL doesn't pass validation when using 4-component versioning,
so falling back to 3-component versioning for all platforms to
avoid special case.
2025-05-08 16:53:07 -04:00
Raymond Hill
df9cd6c9a2 Import translation work from https://crowdin.com/project/ublock 2025-05-08 10:09:03 -04:00
Raymond Hill
cc2760f4d6 [mv3] New approach to toggle toolbar icon not requiring extra permissions
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/198#issuecomment-2855135571

As a result, the permissions `tabs` and `webNavigation` have been removed.
2025-05-07 08:53:59 -04:00
Raymond Hill
0ee6e3044d [mv3] No need to retry sending messages with top-level listener 2025-05-07 07:47:28 -04:00
Raymond Hill
f40b989dc8 Fix makefile 2025-05-05 08:37:26 -04:00
Raymond Hill
58f5c53fbb [mv3] Fix strict-block exceptions caused duplicate rule ids
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/304
2025-05-05 08:04:21 -04:00
Raymond Hill
3cd04c3806 Fix list name; also change for uBOL 2025-05-04 06:42:42 -04:00
Raymond Hill
47f1a19e9e Change stock UKR list to AdGuard-maintained list 2025-05-04 06:37:31 -04:00
Raymond Hill
e384f2b612 [mv3] Build script changes 2025-05-02 14:45:06 -04:00
Raymond Hill
48146f8351 [mv3] Address various issues for Safari build 2025-05-02 14:33:33 -04:00
Raymond Hill
6a088a7477 Make Firefox dev build auto-update 2025-05-02 09:22:57 -04:00
Raymond Hill
a4ba51a790 Import translation work from https://crowdin.com/project/ublock 2025-05-02 09:05:53 -04:00
Raymond Hill
e94ba8afad Update changelog 2025-05-02 09:04:30 -04:00
Raymond Hill
03bea3aafc New revision for release candidate 2025-05-02 09:02:55 -04:00
Raymond Hill
3f59f94b60 Bring zapper look in line with uBO Lite's zapper 2025-05-02 08:56:30 -04:00
Raymond Hill
ea0c400c51 Revert "Allow user to change CodeMirror input style in "My filters""
This reverts commit cf7777e9fd.
2025-05-02 08:43:47 -04:00
Raymond Hill
457dd7acdb [mv3] Remove "OpenPhish Domain Blocklist" as per "Terms of Use"
Excerpt from <https://openphish.com/terms.html>:

> Except as expressly permitted by OpenPhish in writing, you agree not
> to license, sell, rent, lease, transfer, assign, distribute, display,
> disclose, create derivative works or otherwise make all or any portion
> of the information obtained through the Services available to any
> third party.
2025-04-30 10:00:35 -04:00
Raymond Hill
1d1490523d [mv3] Fix incorrect DNR priority for redirect/important filters 2025-04-30 08:50:45 -04:00
Raymond Hill
9ac12647d1 Make Firefox dev build auto-update 2025-04-28 17:57:06 -04:00
Raymond Hill
2c4819ac74 New revision for dev build 2025-04-28 17:46:11 -04:00
Raymond Hill
8df96e4718 Fix regression in parsing of AG's [domain=...] syntax
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/3235#issuecomment-2836674712

Related commit:
8b696a691a (diff-848f3a5c8459fe07d1c65764e30b7c9471be77f9e9574674442319b831138024)
2025-04-28 17:43:44 -04:00
Raymond Hill
526af62864 [mv3] Fix overzealous strict-blocking in Safari 2025-04-28 10:56:43 -04:00
Raymond Hill
e048790036 Make Firefox dev build auto-update 2025-04-27 11:06:27 -04:00
Raymond Hill
c2eee87029 Import translation work from https://crowdin.com/project/ublock 2025-04-27 10:55:12 -04:00
Raymond Hill
daa0025157 New revision for dev build 2025-04-27 10:52:18 -04:00
Raymond Hill
cf7777e9fd Allow user to change CodeMirror input style in "My filters"
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3613
2025-04-27 10:50:21 -04:00
Raymond Hill
b4aea4ab27 [mv3] Avoid pointless messaging when no changes at beforeunload 2025-04-27 09:02:29 -04:00
Raymond Hill
6c84ae7aba [mv3] Support disabling all lists
Related discussion:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/943
2025-04-27 08:22:04 -04:00
Raymond Hill
5e64ace64d [mv3] Code review of safari-specific code 2025-04-26 10:11:33 -04:00
Raymond Hill
ef9709fb07 [mv3] Safari does not support resource type object
Need to filter out DNR rules with `object`, otherwise this causes
a failure when adding the rules dynamically.
2025-04-25 19:26:16 -04:00
Raymond Hill
a56e13156f [mv3] Add more managed policies
"showBlockedCount": Boolean, to enable/disable the badge count on the
toolbar icon.

"strictBlockMode": Boolean. to enable/disable strict-blocking.

Related issues/discussion:
- https://github.com/uBlockOrigin/uBOL-home/discussions/35#discussioncomment-12567804
- https://github.com/uBlockOrigin/uBOL-home/issues/334
2025-04-25 11:25:50 -04:00
Raymond Hill
e5efe64d20 [mv3] Code review 2025-04-25 08:06:19 -04:00
Raymond Hill
e029060889 [mv3] Use safer env variable names
Related feedback:
https://github.com/uBlockOrigin/uBOL-home/issues/327#issuecomment-2823012715
2025-04-25 07:47:40 -04:00
anewuser
84ad64daea Update README.md (#3937) 2025-04-25 07:30:17 -04:00
Raymond Hill
ed66a8d157 [mv3] Code review 2025-04-24 19:47:29 -04:00
Raymond Hill
203b2235aa [mv3] Reflect no-filtering mode on the toolbar icon
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/198
2025-04-24 19:42:59 -04:00
Raymond Hill
83d62b9aca Make Firefox dev build auto-update 2025-04-24 13:44:06 -04:00
Raymond Hill
0e5dec7fbb [mv3] Separate EasyList, EasyPrivacy, PGL lists from uBlock filters
Additionally, remember `badfilter` filters across conversion of
filter lists to DNR rulesets.
2025-04-24 09:58:31 -04:00
Raymond Hill
bd6263078f New revision for dev build 2025-04-23 09:40:26 -04:00
Raymond Hill
79a77f915a Update changelog 2025-04-23 09:40:00 -04:00
Raymond Hill
0243a141a7 Ignore start_page transition for popup-blocking purpose
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2227
2025-04-23 09:34:00 -04:00
Raymond Hill
b4eae1ef0b Make Firefox dev build auto-update 2025-04-22 09:56:04 -04:00
Raymond Hill
c86beb3a37 Update changelog 2025-04-22 09:40:21 -04:00
Raymond Hill
89ba371fbe New revision for dev build 2025-04-22 09:38:52 -04:00
Raymond Hill
59f4aca010 Exclude chrome: as valid openers for popup candidates
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2227
2025-04-22 09:34:26 -04:00
Raymond Hill
9c523f0325 Make Firefox dev build auto-update 2025-04-21 15:51:02 -04:00
Raymond Hill
6cc63d825e New revision for dev build 2025-04-21 15:46:06 -04:00
Raymond Hill
2ee90bf22f Update changelog 2025-04-21 15:45:55 -04:00
Raymond Hill
8b964a8c54 Fetch diff patches from "reliable" servers only
Some CDN servers take too long to mirror updated resources,
potentially preventing diff-updating to work reliably as
intended.
2025-04-21 15:42:04 -04:00
Raymond Hill
b5642ba602 [mv3] Minor 2025-04-21 13:21:08 -04:00
Raymond Hill
d3f39c97d1 [mv3-safari] Fix broken zapper due to latest changes
Related commit:
22e848c9c2
2025-04-21 12:58:44 -04:00
Raymond Hill
d17da2b081 Import translation work from https://crowdin.com/project/ublock 2025-04-21 09:42:58 -04:00
Raymond Hill
1d53441456 [mv3] Simplify sendMessage
onMessage() is now a listener installed synchrnously when uBOL
executes, so no longer need to deal with failure to send messages.

Related commit:
ab458b492a
2025-04-21 08:13:16 -04:00
Raymond Hill
22e848c9c2 [mv3] Fix zapper
Regression from:
b5651417aa
2025-04-21 08:11:22 -04:00
Raymond Hill
34d6abca6d Revert "[mv3] Programmatically inject content scripts on version change"
This reverts commit d0e32a5f47.
2025-04-20 16:58:16 -04:00
Raymond Hill
d0e32a5f47 [mv3] Programmatically inject content scripts on version change
Related issue:
https://github.com/w3c/webextensions/issues/617
2025-04-20 16:44:08 -04:00
Raymond Hill
782fff35ea [mv3] Split code path for wakeup versus launch status
Additionally, leave more regex rooms for non-strictblock rules.
2025-04-20 12:17:57 -04:00
Raymond Hill
2bd09e6f84 [mv3] Code review of conversion to DNR ruleset
- Ensure no duplicates in domain collection fields
- Sort rules according to the number of entries in their
  domain collections
2025-04-20 12:14:29 -04:00
Raymond Hill
de7a406920 [mv3] Minor code review 2025-04-19 17:52:28 -04:00
Raymond Hill
39b505a52e [mv3] Fix safari build script 2025-04-19 14:39:00 -04:00
Raymond Hill
39913a8212 Fix Edge build script 2025-04-19 14:17:46 -04:00
Raymond Hill
8a14a8dc6b Import translation work from https://crowdin.com/project/ublock 2025-04-19 14:02:32 -04:00
Raymond Hill
fbe1ba018e [mv3] Remove unused file 2025-04-19 13:34:34 -04:00
Raymond Hill
b5651417aa [mv3] Merge Safari branch
Safari version of uBO Lite can now be built from master branch.

Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/327
2025-04-19 13:08:59 -04:00
Raymond Hill
8016e7733a [mv3] Move ruleset details into external config file 2025-04-19 08:37:29 -04:00
Raymond Hill
63ea23f334 [mv3] Minor change to build script 2025-04-18 07:57:21 -04:00
Raymond Hill
fd3a8720e9 Minor test to avoid code path 2025-04-16 16:14:58 -04:00
Raymond Hill
c299d39117 Import translation work from https://crowdin.com/project/ublock 2025-04-16 15:21:14 -04:00
Raymond Hill
a1689fb9d0 [mv3] Fix JSON, add description 2025-04-16 15:13:52 -04:00
Raymond Hill
b8adf5b027 [mv3] Add admin setting defaultFiltering
Setting name: "defaultFiltering"
Type: string
Valid values: "none", "basic", "optimal", "complete"

Additionally, fix default "basic" mode toggling back to "optimal"
upon extension restart when uBOL has broad host permissions. The
default mode will toggle automatically only when there is a change
in broad host permissions status.
2025-04-16 15:04:47 -04:00
Raymond Hill
3b34f9439a Import translation work from https://crowdin.com/project/ublock 2025-04-16 08:39:43 -04:00
Raymond Hill
ec19e352b1 [mv3] Mitigate issues when hitting regex-based rules limit
When there are too many regex-based rules, uBOL will start to drop
some strict-block rules to comply with the framework limit regarding
the maximum number of regex-based rules.

Related issues:
- https://github.com/uBlockOrigin/uBOL-home/issues/317
- https://github.com/w3c/webextensions/issues/744
2025-04-16 08:19:52 -04:00
Raymond Hill
e20e6addf0 [mv3] Mind excluded to= hostnames in strict-block rules 2025-04-16 08:18:26 -04:00
Raymond Hill
eaedaf5b10 Fix regexes with potential catastrophic backtracking
The quoted email below was sent to ubo-security at raymondhill dot net:

=====
Dear Raymond,

I am writing to report a potential Regular Expression Denial of Service (ReDoS)
vulnerability in the 1p-filters.js script of uBlock Origin. The vulnerability
occurs due to the use of the regular expression /\s+$/, which is used to remove
trailing whitespace. This issue can lead to a denial of service when processing
strings with a large number of trailing spaces, potentially causing a browser to
freeze.

Affected file(s)

    js/1p-filters.js

Vulnerable pattern(s)

    Lines 131 and 167: /\s+$/

Description of the issue

The regular expression /\s+$/ is applied to remove trailing whitespace in user‑
provided content. However, when the content has a large number of spaces
(e.g., ~100,000), this pattern causes excessive backtracking in the regular
expression engine, resulting in performance degradation and UI freezing. This is
a classic ReDoS attack vector.

Steps to reproduce

1. Open the uBlock Origin dashboard and navigate to the My filters tab.
2. Run the following code in the browser's DevTools Console or as a bookmarklet.
3. Observe the UI freezing for several seconds or even longer, depending on the
   number of spaces used.

PoC (Proof of Concept)

/**
 * poc.js — triggers ReDoS in 1p-filters.js
 * Expected: <1 ms; Actual: several seconds – UI freeze
 */
(() => {
  const payload = " ".repeat(100000) + "!";  // 100,000 spaces + sentinel
  const run = () => {
    if (!window.cmEditor) {
      console.error("cmEditor not ready");
      return;
    }
    // Inject payload into the editor
    cmEditor.setValue(payload);

    console.time("ReDoS");
    // Call the vulnerable function (mirroring getEditorText)
    cmEditor.getValue().replace(/\s+$/, '');
    // Alternatively, simulate a realistic user flow:
    // document.querySelector('#userFiltersApply').click();
    console.timeEnd("ReDoS");
  };

  if (document.readyState === "complete") {
    run();
  } else {
    window.addEventListener("load", run, { once: true });
  }
})();

Impact

This issue can significantly degrade the user experience, causing the page to
become unresponsive. If an attacker can inject this malicious string into the
page (for example, through XSS or other attacks), it could lead to a denial of
service (DoS). This vulnerability can be triggered repeatedly, causing the
browser to hang indefinitely.

Suggested fix

The issue can be mitigated by replacing /\s+$/ with a more efficient solution,
such as a look‑behind assertion /(?<=\S)\s+$/ (available in modern browsers)
which ensures no backtracking occurs, or using trimEnd() for legacy support:

// Example of using look-behind:
cmEditor.setValue(text.replace(/(?<=\S)\s+$/, '') + '\n\n');

// Alternatively, using trimEnd():
cmEditor.setValue(text.trimEnd() + '\n\n');

Additional information

If required, I am happy to assist in testing or provide more information.
Please feel free to contact me for further clarification.

Best regards,
[redacted]
=====
2025-04-15 12:47:02 -04:00
Raymond Hill
87007e62c0 [mv3] Ensure POL-3 list is separate from POL-0 list in uBOL 2025-04-14 09:07:46 -04:00
Raymond Hill
b5eea3ce3a [mv3] Fix Github Actions 2025-04-13 15:45:39 -04:00
Raymond Hill
e11335f5ad [mv3] Fix Github Actions 2025-04-13 15:37:07 -04:00
Raymond Hill
20f52daf9b Import translation work from https://crowdin.com/project/ublock 2025-04-13 15:23:08 -04:00
Raymond Hill
f15adcf2d5 [mv3] Ensure strict-blocking is enabled when gaining broad permissions 2025-04-13 10:24:23 -04:00
Raymond Hill
51db128dc2 [mv3] "Enable strict blocking" setting depends on broad host permissions 2025-04-13 10:13:18 -04:00
Raymond Hill
7c5c93f073 Import translation work from https://crowdin.com/project/ublock 2025-04-13 09:34:22 -04:00
Raymond Hill
dc3602985f [mv3] Update summary description 2025-04-13 09:19:25 -04:00
Raymond Hill
9bf05023c1 Import translation work from https://crowdin.com/project/ublock 2025-04-13 09:16:54 -04:00
Raymond Hill
50f87c21ea [mv3] Provide console feedback that work is ongoing when building 2025-04-13 09:04:13 -04:00
Raymond Hill
f51a4c79db [mv3] Determine "genericity" on a per-cosmetic filter basis
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/328
2025-04-13 09:02:12 -04:00
Raymond Hill
12c8bc6c5b Make Firefox dev build auto-update 2025-04-13 07:45:55 -04:00
Raymond Hill
a33e2e4115 New revision for dev build 2025-04-13 07:39:03 -04:00
Raymond Hill
5ed1b07034 Update changelog 2025-04-13 07:38:19 -04:00
Raymond Hill
cac420a22d Rename trusted-create-element to trusted-create-html
To avoid confusion with AG's own `trusted-create-element`, which has
a different syntax and a different purpose.
2025-04-13 07:34:36 -04:00
Raymond Hill
c15dc9d8ff Fix scrollbars not following dark theme
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3604
2025-04-12 15:51:36 -04:00
Raymond Hill
dfd42ebf5f Improve noscript spoofing
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2642
2025-04-12 15:20:18 -04:00
Raymond Hill
d1fc38c473 Make Firefox dev build auto-update 2025-04-12 11:01:06 -04:00
Raymond Hill
cc987cb072 Update changelog 2025-04-12 10:55:14 -04:00
Raymond Hill
b4a8dd0754 New revision for dev build 2025-04-12 10:54:00 -04:00
Raymond Hill
20dd606504 Add trusted-create-element scriptlet
As discussed with filter list maintainers.

* @scriptlet trusted-create-element
*
* @description
* Element(s) from a parsed HTML string are added as child element(s) to a
* specific parent element in the DOM.
*
* @param parent
* A CSS selector identifying the element to which created element(s) will be
* added.
*
* @param html
* An HTML string to be parsed using DOMParser, and which resulting elements
* are to be added as child element(s).
*
* @param duration
* Optional. If specified, the time in ms after which the added elements will
* be removed. No removal will occur if not specified.
2025-04-12 10:51:50 -04:00
Raymond Hill
a06f09acda Group POL lists together 2025-04-12 09:40:46 -04:00
Raymond Hill
ad2add4676 Code review 2025-04-12 08:08:12 -04:00
Raymond Hill
af054f7980 Make Firefox dev build auto-update 2025-04-11 18:51:21 -04:00
Raymond Hill
1e783d62e0 New revision for dev build 2025-04-11 18:44:55 -04:00
Raymond Hill
f25a437fd1 Code review re. scriptlets lookup
Possibly fixes a race condition at browser launch causing empty
scriptlets to be injected (and cached).
2025-04-11 18:20:51 -04:00
Raymond Hill
90e3c352ec Make Firefox dev build auto-update 2025-04-11 10:11:13 -04:00
Raymond Hill
ad68834479 Update changelog 2025-04-11 10:01:31 -04:00
Raymond Hill
809d4f93c4 New revision for dev build 2025-04-11 09:58:51 -04:00
Raymond Hill
11e159fd31 [mv3] Discard regex- or path-based targets in static extended filters
There is no support yet for such filters in uBO Lite.
2025-04-11 09:49:03 -04:00
Raymond Hill
15e832da8a Mind potential race condition when dynamically registering scriptlets
In Firefox, scriptlets are dynamically registered as content scripts
to ensure they execute in a timely manner.

The race condition could lead to scriptlet injection failing at
browser launch time in Firefox when the setting "Suspend network
activity until all filter lists are loaded" had been disabled[1],
even after forcing a page reload. Causing the filter lists to
reload would make the issue go away.

[1] Default is enabled in Firefox and it is strongly advised to NOT
    change this.
2025-04-11 09:35:38 -04:00
Raymond Hill
3d2f70ac56 Add POL list for regional malware
Related discussion:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/890#discussioncomment-9632360
2025-04-11 09:06:28 -04:00
Raymond Hill
d1c57d3fa6 Remove stale extraneous POL-2 list
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/27935
2025-04-10 09:35:19 -04:00
Raymond Hill
70bdcfbae6 Make Firefox dev build auto-update
Mistakenly ran the update script from the safari-ubol branch.
2025-04-10 09:11:56 -04:00
Raymond Hill
ae336c3688 New revision for dev build 2025-04-10 07:37:01 -04:00
Raymond Hill
d0e303ca19 Fix regression in response header filtering
Related commit:
8b696a691a
2025-04-10 07:32:09 -04:00
Raymond Hill
981be2d5b2 Make Firefox dev build auto-update 2025-04-09 18:31:38 -04:00
Raymond Hill
2679aafc17 New revision for dev build 2025-04-09 18:25:20 -04:00
Raymond Hill
9029d1d715 Fix regression in categorizing highly generic filters at load time
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/3235#issuecomment-2790807915

Regression from:
8b696a691a
2025-04-09 18:23:01 -04:00
Raymond Hill
0fdcd44794 Import translation work from https://crowdin.com/project/ublock 2025-04-09 15:29:26 -04:00
Raymond Hill
01e36db23a Remove "permission-less" status at install time
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/326

uBOL now asks broad host permissions by default. Users can still
choose narrow host permissions by using their browser's controls
for this.

For instance in Chromium, those host permissions controls are found
in the "Site access" section in the detailed view of an extension.

One can set "Site access" to "On click" to revoke broad host
permissions, and grant host permissions to only specific site.

In such mode, uBOL will still block through the DNR API, but no
cosmetic or scriptlet filtering will occurs, as these requires
permission to "read and change data" on websites for which higher
filtering mode is desired.

Some browsers do not automatically grant broad host permissions
even when an extension asks for broad permissions at install time,
and going forward all browsers will likely adopt this approach, and
thus it no longer made sense for uBOL to default to no broad hosts
permissions at install time, especially given this leads to issues
with no solution -- issues solved with the new approach (e.g. like
the ability to deploy uBOL in Optimal mode by default).
2025-04-09 15:11:17 -04:00
Raymond Hill
f6f7333b5d Code review for recent commit re path support in target
Related commit:
8b696a691a

1) There will always be a `/` at that point in the code path
2) The hostname will already be a match in that code path
2025-04-08 19:01:43 -04:00
Raymond Hill
c38101cd34 Make Firefox dev build auto-update 2025-04-08 15:51:30 -04:00
Raymond Hill
cdc63d03cf New revision for dev build 2025-04-08 15:43:13 -04:00
Raymond Hill
eb7f23b173 Fix silly test
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/1755#discussioncomment-12769044

Related commit:
8b696a691a
2025-04-08 15:42:00 -04:00
Raymond Hill
2bb6999e3f Fix undue unchecking of setting in "My filters"
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/2895#discussioncomment-12749154
2025-04-08 13:49:41 -04:00
Raymond Hill
d8b29cf1a3 Make Firefox dev build auto-update 2025-04-08 12:31:03 -04:00
Raymond Hill
699bf42fdb Import trabslation work from https://crowdin.com/project/ublock 2025-04-08 11:59:36 -04:00
Raymond Hill
ee53980b68 New revision for dev build 2025-04-08 11:57:49 -04:00
Raymond Hill
b55247bbcb Update changelog 2025-04-08 11:57:20 -04:00
Raymond Hill
8b696a691a Add path support as target option in static extended filtering
Support for paths allows to narrow down specific static extended
filters to specific webpages on a given site.

Examples of usage:

example.com/toto##h1
/example\.com\/toto\d+/#@#h1
2025-04-08 11:20:27 -04:00
Raymond Hill
370107b9a6 Import translation work from https://crowdin.com/project/ublock 2025-04-06 16:33:00 -04:00
Raymond Hill
6b9968d804 Add logging information re. fetched assets 2025-04-03 12:11:57 -04:00
Raymond Hill
595f9fd469 [mv3] Loosen requirements to qualify for strict-blocking 2025-04-03 12:09:20 -04:00
Raymond Hill
ac28ab58c8 Make Firefox dev build auto-update 2025-04-03 12:06:36 -04:00
Raymond Hill
09ce8f05e2 Update changelog 2025-04-03 12:02:43 -04:00
Raymond Hill
5574404358 New revision for dev build 2025-04-03 12:01:02 -04:00
Raymond Hill
4ce26b63ff Add trusted-prevent-fetch scriptlet
Related feedback:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/915#discussioncomment-12077068
2025-04-03 11:59:00 -04:00
Raymond Hill
2501eae25f [mv3] Fine tune zapper's quit button
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3587
2025-03-31 17:43:51 -04:00
Raymond Hill
6ffffb7b2b [mv3] Force real origin in postMessage so that use_dynamic_url can be used
Call to postMessage was failing in the zapper when using `use_dynamic_url` in
manifest. Manually overwriting the per-session dynamic hostname with the real
extension id fixes this.
2025-03-31 16:30:17 -04:00
Raymond Hill
0c6cbb7fcb Merge in long overdue change re. UKR list in assets.json
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/issues/2692
2025-03-31 11:26:41 -04:00
Raymond Hill
58a92b91c1 Import translation work from https://crowdin.com/project/ublock 2025-03-30 17:21:18 -04:00
Raymond Hill
9351497f16 Make Firefox dev build auto-update 2025-03-30 17:06:18 -04:00
Raymond Hill
c15278522e New revision for dev build 2025-03-30 16:57:38 -04:00
Raymond Hill
8632cd6072 Fix typo causing regression in uritransform=
Related feedback:
https://github.com/uBlockOrigin/uAssets/discussions/27802
2025-03-30 16:56:04 -04:00
Raymond Hill
9adedbc30e Remove the need for parethesis for JSONPath filter selectors
As per official proposed standard:
https://www.rfc-editor.org/rfc/rfc9535.html#name-filter-selector
2025-03-30 13:57:04 -04:00
Raymond Hill
cdb1afc3b2 Make Firefox dev build auto-update 2025-03-30 12:46:26 -04:00
Raymond Hill
f4b2d48873 Update changelog 2025-03-30 12:39:34 -04:00
Raymond Hill
86210368f5 New revision for dev build 2025-03-30 12:37:56 -04:00
Raymond Hill
5587111d21 Add support for union syntax in JSONPath
This immediately useful to list maintainers.

Related commits:
- https://github.com/gorhill/uBlock/commit/d5fd1de150
- https://github.com/gorhill/uBlock/commit/b18daa53aa
- https://github.com/gorhill/uBlock/commit/caa25cdaf3
2025-03-30 12:36:37 -04:00
Raymond Hill
97e740bd2c Code viewer shouldn't be maximizable
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/3161#issuecomment-2764549781
2025-03-30 09:34:22 -04:00
Raymond Hill
935ce74d3a Make Firefox dev build auto-update 2025-03-29 10:05:48 -04:00
Raymond Hill
fbdc09a7aa New revision for dev build 2025-03-29 09:57:06 -04:00
Raymond Hill
b381ceda72 Mind other old constructs for scriptlets
Related feedback:
https://old.reddit.com/r/uBlockOrigin/comments/1jmcqhn/

Related commit:
https://github.com/gorhill/uBlock/commit/44c038b9a1
2025-03-29 09:54:41 -04:00
Raymond Hill
44c038b9a1 Fix for old scriptlet syntax
Related feedback:
https://old.reddit.com/r/uBlockOrigin/comments/1jmcqhn/
2025-03-29 09:06:07 -04:00
Raymond Hill
862557fd63 Update changelog 2025-03-29 09:05:26 -04:00
Raymond Hill
5f9f7d050d Make Firefox dev build auto-update 2025-03-28 16:21:20 -04:00
Raymond Hill
564f3f3442 English 2025-03-28 10:24:21 -04:00
Raymond Hill
caa25cdaf3 Add minimal in-code documentation for JSONPath 2025-03-28 10:20:21 -04:00
Raymond Hill
b18daa53aa Add json-edit suite of scriptlets; extend replace= option
Scriptlets added:
- json-edit
- trusted-json-edit
- json-edit-xhr-response
- trusted-json-edit-xhr-response
- json-edit-fetch-response
- trusted-json-edit-fetch-response
- jsonl-edit-xhr-response
- trusted-jsonl-edit-xhr-response
- jsonl-edit-fetch-response
- trusted-jsonl-edit-fetch-response

These scriptlets are functionally similar to their `json-prune` counterpart,
except that they all use the new uBO-flavored JSONPath syntax, and the
`trusted-` versions allow to modify values instead of just removing them.

The `replace=` filter option has been extended to support applying
uBO-flavored JSONPath syntax to the response body. If the `replace=`
value starts with `json:` or `jsonl:`, the remaining of the value will
be interpreted as a JSONPath directive, which can be used to either
remove or modify property in a JSON document.
2025-03-28 09:51:38 -04:00
Raymond Hill
1ce00e4fda Import translation work from https://crowdin.com/project/ublock 2025-03-27 22:51:48 -04:00
Raymond Hill
d7f01065a5 New revision for dev build 2025-03-27 22:47:58 -04:00
Raymond Hill
0a13683167 [mv3] Remove pointless promise 2025-03-27 22:47:25 -04:00
Raymond Hill
0e303060dd [mv3] Fix CSS for dark theme
Related feedback:
https://github.com/uBlockOrigin/uBOL-home/discussions/291#discussioncomment-12403559
2025-03-27 09:11:47 -04:00
Raymond Hill
d5fd1de150 Use JSONPath-like syntax for new jsonl- scriptlets 2025-03-26 11:47:56 -04:00
Raymond Hill
5936451082 [mv3] Fix toggling of "no filtering" as default mode
A bad test prevented the "no filtering" by default mode to not take
effect immediately when activated while no site had yet been set to
"no filtering". It would however take effect as soon as a specific
site would be excluded from "no filtering".
2025-03-26 07:28:00 -04:00
Raymond Hill
d7ae3a185e [mv3] Test filters are trusted 2025-03-25 12:58:26 -04:00
Raymond Hill
760bd23c5e Minor 2025-03-25 12:29:46 -04:00
Raymond Hill
69ff3ca6fb Make Firefox dev build auto-update 2025-03-25 12:21:04 -04:00
Raymond Hill
231269808d New revision for dev build 2025-03-25 12:14:27 -04:00
Raymond Hill
419786feb7 Update changelog 2025-03-25 12:14:08 -04:00
Raymond Hill
68a256bdde Improve trusted-prevent-dom-bypass scriptlet 2025-03-25 12:12:00 -04:00
Raymond Hill
5e9737d38e [mv3] Allow copy/paste troubleshooting info 2025-03-25 08:32:42 -04:00
Raymond Hill
d0c028386a Import translation work from https://crowdin.com/project/ublock 2025-03-25 08:23:27 -04:00
Raymond Hill
e100f9e85c Import translation work from https://crowdin.com/project/ublock 2025-03-25 08:20:43 -04:00
Raymond Hill
620678fc17 Make Firefox dev build auto-update 2025-03-24 12:32:08 -04:00
Raymond Hill
3520c2fd9e New revision for dev build 2025-03-24 12:23:59 -04:00
Raymond Hill
d18311213d Improve jsonl-prune-... scriptlets 2025-03-24 12:16:10 -04:00
Raymond Hill
484ae68528 Import translation work from https://crowdin.com/project/ublock 2025-03-24 08:17:38 -04:00
Raymond Hill
0fce659bb0 Use Object.hasOwn instead of Object.prototype.hasOwnProperty
Reference:
https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwn
2025-03-24 08:15:09 -04:00
Raymond Hill
0c8de6b550 Fix prevent-innerHTML scriptlet 2025-03-24 07:33:21 -04:00
Raymond Hill
07a4a6a35d Import translation work from https://crowdin.com/project/ublock 2025-03-23 16:37:57 -04:00
Raymond Hill
fbabd4eaac Make Firefox dev build auto-update 2025-03-22 16:15:48 -04:00
Raymond Hill
f09aeef6d9 Update changelog 2025-03-22 16:13:52 -04:00
Raymond Hill
8f78faf980 Import translation work from https://crowdin.com/project/ublock 2025-03-22 16:11:10 -04:00
Raymond Hill
7bded976a8 New revision for dev build 2025-03-22 16:06:50 -04:00
Raymond Hill
a07d01285c Update changelog 2025-03-22 16:06:37 -04:00
Raymond Hill
95a3be9d56 Add jsonl-prune-xhr-response/jsonl-prune-fetch-response scriptlets
As discussed internally with filter list volunteers.
2025-03-22 16:01:43 -04:00
Raymond Hill
27e2d6a513 Import translation work from https://crowdin.com/project/ublock 2025-03-21 13:31:40 -04:00
Raymond Hill
7a2f4960d0 Import translation work from https://crowdin.com/project/ublock 2025-03-21 13:29:30 -04:00
Raymond Hill
ab458b492a [mv3] Bring back element zapper 2025-03-21 13:23:54 -04:00
Raymond Hill
0f2a374585 Make Firefox dev build auto-update 2025-03-20 12:20:46 -04:00
Raymond Hill
a88594599f Update changelog 2025-03-20 12:13:58 -04:00
Raymond Hill
2774dfe38f Update changelog 2025-03-20 12:11:05 -04:00
Raymond Hill
88fa550a96 Improve [json-prune|trusted-replace]-fetch-response scriptlets
Output more information to the logger in verbose mode.
2025-03-20 12:06:58 -04:00
Raymond Hill
451e1c24a4 New revision for dev build 2025-03-20 12:05:37 -04:00
Raymond Hill
5b81369fc2 bidiTrie is hardcoded
Thus no need to threat it as if it was a changing parameter.
2025-03-20 12:03:17 -04:00
Raymond Hill
7dba69dc48 New revision for statble release 2025-03-20 07:37:44 -04:00
Raymond Hill
e7651f73f4 Make Firefox dev build auto-update 2025-03-20 07:36:34 -04:00
Raymond Hill
d8cda00cd3 Update changelog 2025-03-20 07:23:48 -04:00
Raymond Hill
b93871117c New revision for dev build 2025-03-20 07:22:50 -04:00
Raymond Hill
76b80baaea Fix TypedArray overflow
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3582
2025-03-20 07:14:38 -04:00
Raymond Hill
94f73015ed Make Firefox dev build auto-update 2025-03-19 12:51:26 -04:00
Raymond Hill
18349292a6 Improve logging ability in new prevent-innerHTML scriptlet 2025-03-19 12:43:36 -04:00
Raymond Hill
eda245a1a6 Update changelog 2025-03-19 12:37:52 -04:00
Raymond Hill
ebec5a1865 New revision for dev build 2025-03-19 12:36:21 -04:00
Raymond Hill
fe744816f1 Add prevent-innerHTML scriptlet
@description
Conditionally prevent assignment to `innerHTML` property.

@param [selector]
Optional. The element must matches `selector` for the prevention to take
place.

@param [pattern]
Optional. A pattern to match against the assigned value. The pattern can be
a plain string, or a regex. Prepend with `!` to reverse the match condition.

As discussed with filter list volunteers.
2025-03-19 12:34:03 -04:00
Raymond Hill
98b011f64c [mv3] Add support for explicit generichide filter option
`generichide` option is implicitly enforced on all sites unless an
exception overrides `generichide`. Though rare, sometimes a
`generichide` exception needs to be overridden so that generic
cosmetic filtering is made possible on a specific site.

This commit is to add support for restoring generic cosmetic
filtering on sites which were excluded through a `generichide`
exception.

Concretely, this is needed to ensure the test suite can properly
verify that generic cosmetic filtering is working when the
filtering mode is set to "complete":

||ublockorigin.github.io^$generichide,important
2025-03-18 17:15:35 -04:00
Raymond Hill
839e240ec1 New stable release version 2025-03-17 16:22:53 -04:00
Raymond Hill
dfe3d48fa3 Update changelog 2025-03-17 08:06:03 -04:00
Raymond Hill
d36ea89a02 Improve prevent-set[Timeout|Interval] scriptlets 2025-03-17 08:02:30 -04:00
Raymond Hill
0e8de98411 Make Firefox dev build auto-update 2025-03-16 06:01:17 -04:00
Raymond Hill
99cb84fab6 New revision for release candidate 2025-03-16 05:56:45 -04:00
Raymond Hill
2d559c43db Update changelog 2025-03-16 05:56:17 -04:00
Raymond Hill
4aebdbb0a9 Add quit button to element zapper mode
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/1968

Given the availability of this new quit button, the element zapper
will now default to stick around after zapping an element.
2025-03-16 05:50:53 -04:00
Raymond Hill
fba662421d [mv3] Make it easier to add filters for testing purpose 2025-03-15 15:06:51 -04:00
Raymond Hill
c3187d85e8 [mv3] Avoid re-entrance when registering content scripts 2025-03-15 13:29:26 -04:00
Raymond Hill
4d12ac788c Make Firefox dev build auto-update 2025-03-15 08:06:22 -04:00
Raymond Hill
19cc3b127a New revision for release candidate 2025-03-15 07:53:37 -04:00
Raymond Hill
1e2a7072d8 Update changelog 2025-03-15 07:53:02 -04:00
Raymond Hill
9e946ce0c3 Improve trusted-override-element-method scriptlet
As discussed with filter list maintainers:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/933
2025-03-15 07:50:28 -04:00
Raymond Hill
b98a8d5c02 [mv3] Remove stray test filters 2025-03-14 12:29:01 -04:00
Raymond Hill
e84d3cd7a3 Make Firefox dev build auto-update 2025-03-14 11:06:11 -04:00
Raymond Hill
db7210a24a Import translation work from https://crowdin.com/project/ublock 2025-03-14 10:59:26 -04:00
Raymond Hill
69601b5c95 Update changelog 2025-03-14 10:52:27 -04:00
Raymond Hill
592a79341d New revision for release candidate 2025-03-14 10:51:23 -04:00
Raymond Hill
34cea70924 Disable obsolete cache-control workaround for Firefox
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3576

This is the first step, a trivial code change which disable the
injection of `Cache-Control` header in Firefox.

In the next dev cycle, the second step will be to remove all
the code related to `Cache-Control` injection.
2025-03-14 10:47:14 -04:00
Raymond Hill
68962453ff [mv3] Eliminate false positives in new generic cosmetic exception code
Related commit:
a009623d97
2025-03-13 19:02:20 -04:00
Raymond Hill
4032ba01bf [mv3] Separate name from version in report
To make it easier to spot reports from forks of uBOL.
2025-03-13 13:27:21 -04:00
Raymond Hill
a009623d97 [mv3] Improve generic cosmetic filtering
Specifically, properly exclude generic cosmetic filters according to
specific cosmetic exceptions.

Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/181
2025-03-13 13:15:27 -04:00
Raymond Hill
22fdf8fc1d Make Firefox dev build auto-update 2025-03-11 09:51:19 -04:00
Raymond Hill
7db84ef13d Do not blindly force https in urlskip
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/issues/3206#issuecomment-2708584507
2025-03-11 09:15:40 -04:00
Raymond Hill
9f55694c8a New revision for release candidate 2025-03-11 09:13:58 -04:00
Raymond Hill
1ea56a04cd [mv3] Explicit filtering modes in troubleshooting data 2025-03-10 11:44:15 -04:00
Raymond Hill
b9a5726672 Rebuild MV3 extension if mv3-data content changes 2025-03-10 09:24:26 -04:00
Raymond Hill
3f850db1a8 Fix makefile 2025-03-09 08:41:28 -04:00
Raymond Hill
bf9549115c Import translation work from https://crowdin.com/project/ublock 2025-03-08 17:22:46 -05:00
Raymond Hill
26d1283583 Fix mv3 build commands 2025-03-08 13:39:53 -05:00
Raymond Hill
94db43c4ad [mv3] Minor changes to account for Edge build 2025-03-08 11:31:31 -05:00
Raymond Hill
e102a5ee06 Use "make mv3-edge" to build Edge package 2025-03-08 10:43:59 -05:00
Raymond Hill
c569f663ee Add scripts to build for MV3 Edge 2025-03-08 10:07:33 -05:00
Raymond Hill
2b93a9128e Update changelog 2025-03-07 17:06:21 -05:00
Raymond Hill
d006fd06e7 [mv3] Add support for ancestor context syntax in scriptlets
Related commit:
a483f7955f
2025-03-07 17:04:02 -05:00
Raymond Hill
536f0fba25 [mv3] Add test suite list to available rulesets
Microsoft Edge for Android requires a "link to the core function
test cases for your Edge Android extension" to verify that the
extension function properly.
2025-03-06 17:39:15 -05:00
Raymond Hill
31d82c494b Fix typo in variable name 2025-03-06 14:15:02 -05:00
Raymond Hill
83df04a53d Make Firefox dev build auto-update 2025-03-06 10:31:21 -05:00
Raymond Hill
03fb6ee059 Import translation work from https://crowdin.com/project/ublock 2025-03-06 09:59:35 -05:00
Raymond Hill
90a99073a6 Update changelog 2025-03-06 09:54:38 -05:00
Raymond Hill
fc231998b9 Improve overlay-buster scriptlet
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3470
2025-03-06 09:50:37 -05:00
Raymond Hill
4a5c2723ff New revision for dev build 2025-03-06 09:44:50 -05:00
Raymond Hill
202165867a Update changelog 2025-03-06 09:44:32 -05:00
Raymond Hill
a483f7955f Add ability to inject scriptlets according to origin of ancestor contexts
New syntax for scriptlet-based filtering: it is now possible to
inject a scriptlet in a context according to whether an ancestor
origin matches a specific hostname. Example:

  example.com>>##+js(set, iAmEmbeddedInExampleDotCom, true)

The new `>>` specifier means that the scriptlet will not be injected
in `example.com`, but will be injected in all direct and indirect
embedded contexts in pages loaded from `example.com`

The new ancestor domain specifier also works for entity directives:

  example.*##+js(set, iAmEmbeddedInExampleDotEffectiveTLD, true)

This is an experimental feature, to be further evaluated and
discussed by filter list maintainers. This is not a complete
implementation, by choice. Do not open issues regarding this
new syntax, the current shortcomings are known.

The new syntax is being discussed internally at:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/244
2025-03-06 08:57:27 -05:00
Raymond Hill
e636c32f2a Fix range parser in prevent-setTimeout scriptlet
Related feedback:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/925#discussioncomment-11940830
2025-03-04 07:12:56 -05:00
Raymond Hill
987ddad1fd [mv3] Adjust as per feedback
Related discussion:
https://github.com/uBlockOrigin/uBOL-home/issues/156#issuecomment-2696060398
2025-03-04 07:02:41 -05:00
Raymond Hill
1dbd280ba3 [mv3] Convert domain= to to= for csp=/permissions= options
Related discussion:
https://github.com/uBlockOrigin/uBOL-home/issues/156#issuecomment-2694741399
2025-03-03 11:45:54 -05:00
Raymond Hill
b29ac98094 [mv3] Inject surveyor in frames
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/290
2025-03-03 08:27:37 -05:00
Raymond Hill
8467e1b018 Re-wording 2025-03-02 12:27:45 -05:00
Raymond Hill
34df044808 Add filter option synonyms for strict1p/strict3p
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3554
2025-03-01 16:26:46 -05:00
Raymond Hill
d7a103aa1c Make Firefox dev build auto-update 2025-03-01 15:00:44 -05:00
Raymond Hill
2505b9f760 Update changelog 2025-03-01 14:53:48 -05:00
Raymond Hill
0913d5d1b4 New revision for dev build 2025-03-01 14:51:48 -05:00
Raymond Hill
36404543e4 Increase URL buffer size to 8192 (from 2048)
Related:
https://github.com/easylist/easylist/commit/777d7ba9
2025-03-01 14:48:51 -05:00
Raymond Hill
cff88d547f Import translation work from https://crowdin.com/project/ublock 2025-03-01 09:26:44 -05:00
Raymond Hill
ea8853cda3 Use onmessage/postMessage instead of BroadcastChannel in diff updater 2025-02-28 17:18:48 -05:00
Raymond Hill
95b99ef4ac New revision for dev build 2025-02-25 13:05:21 -05:00
Raymond Hill
d41989e62a Improve disable-newtab-links scriptlet
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3551
2025-02-25 13:02:44 -05:00
Raymond Hill
7fb656b653 Make Firefox dev build auto-update 2025-02-24 13:05:32 -05:00
Raymond Hill
18a502c4e3 New revision for dev build 2025-02-24 12:50:56 -05:00
Raymond Hill
8237dfc4f7 Update changelog 2025-02-24 12:50:33 -05:00
Raymond Hill
9c26a07b53 Improve prevent-addEventListener scriptlet
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3360
2025-02-24 12:47:54 -05:00
Raymond Hill
8a6b12a319 [mv3] Inject scriptlets in their intended target world 2025-02-24 10:11:13 -05:00
Raymond Hill
e56ca0f612 Import translation from https://crowdin.com/project/ublock 2025-02-23 12:20:17 -05:00
Raymond Hill
02b78fb717 [mv3] Remove obsolete Firefox workaround code
Related commit:
2e745f9bfb
2025-02-22 11:07:58 -05:00
Raymond Hill
0013e04fd3 Import translation work from https://crowdin.com/project/ublock 2025-02-22 07:47:33 -05:00
Raymond Hill
6ca28a5b3f [mv3] Improve output og log.txt 2025-02-22 07:38:12 -05:00
Raymond Hill
1d2378e74e [mv3] Workaround for permissions dialog preventing proper mode change
This is a Chromium-specific issue.

Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/280
2025-02-21 08:23:27 -05:00
Raymond Hill
128083c203 Make Firefox dev build auto-update 2025-02-20 15:31:23 -05:00
Raymond Hill
ce724d5c47 Import translation work from https://crowdin.com/project/ublock 2025-02-20 15:19:57 -05:00
Raymond Hill
80a04efefe New revision for dev build 2025-02-20 15:16:11 -05:00
Raymond Hill
839d1c31b3 Update changelog 2025-02-20 15:15:51 -05:00
Raymond Hill
5921e50e03 Fix reverse lookup of ##^responseheader(...) filters
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3544
2025-02-20 15:11:36 -05:00
Raymond Hill
9bb1a2baaf Improve evaldata-prune scriptlet 2025-02-20 09:47:36 -05:00
Raymond Hill
c778f339cd Update changelog 2025-02-20 09:02:25 -05:00
Raymond Hill
9f27b9fedd Import translation work from https://crowdin.com/project/ublock 2025-02-20 09:02:06 -05:00
Raymond Hill
4d0ecbae3d Import translation work from https://crowdin.com/project/ublock 2025-02-20 08:44:31 -05:00
Raymond Hill
344539d793 Comply with Mozilla's "User Consent and Control"
Make clear that the hostname of the page with issue is being sent
to GitHub's server when searching existing reports or creating a
new report.
2025-02-20 08:06:50 -05:00
Raymond Hill
516ff356e6 Make Firefox dev build auto-update 2025-02-19 14:31:28 -05:00
Raymond Hill
d2dbb098a2 Update changelog 2025-02-19 14:26:37 -05:00
Raymond Hill
807ed382e2 New revision for dev build 2025-02-19 14:03:03 -05:00
Raymond Hill
0df7faffac Improve noeval-if scriptlet
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/2907#issuecomment-2660051167
2025-02-19 14:01:27 -05:00
Raymond Hill
17c66030fe [mv3] Fix incorrect hostname matching in urlskip-related code
Related feedback:
https://github.com/uBlockOrigin/uBOL-home/issues/278#issuecomment-2664971115
2025-02-19 08:41:22 -05:00
Raymond Hill
f12351688a Import translation work from https://crowdin.com/project/ublock 2025-02-19 07:51:43 -05:00
Fanboynz
35a47d674b Add "closed","next", "mandatory", "agree/disagree" values to cookies.js (#3934)
* Add closed and next values to cookies.js

* Add mandatory to cookie value

* Add disagree/aggree
2025-02-19 07:36:02 -05:00
Raymond Hill
8629f07138 Fix "make lint" command; fix more lint errors 2025-01-19 09:35:51 -05:00
Raymond Hill
60ed584fc1 Import translation work from https://crowdin.com/project/ublock 2025-01-15 10:06:48 -05:00
Raymond Hill
2843aa1c90 [mv3] Inject highly generic cosmetic filters in all frames
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/26839
2025-01-15 09:13:18 -05:00
Raymond Hill
efd1d7d171 Fix makefile 2025-01-11 10:53:36 -05:00
Raymond Hill
7cdf56f69a Make Firefox dev build auto-update 2025-01-10 11:16:10 -05:00
Raymond Hill
3685a18fe9 Fix workflow and makefile 2025-01-10 11:08:54 -05:00
Raymond Hill
149228c388 Fix workflow 2025-01-10 10:52:36 -05:00
Raymond Hill
b2c568b3d6 Fix workflow 2025-01-10 10:46:32 -05:00
Raymond Hill
2c64da4d03 New revision for dev build 2025-01-10 10:29:03 -05:00
Raymond Hill
d2ff26a49d Update changelog 2025-01-10 10:28:41 -05:00
Raymond Hill
ab0f4ba0d4 [mv3] Fix conversion of filters with important option
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/266
2025-01-10 10:25:15 -05:00
Raymond Hill
f8975e3a6a Better integrate latest eslint version 2025-01-10 10:25:15 -05:00
Fanboynz
4b12247da1 Add decline value to cookie.js (#3933) 2025-01-10 09:21:19 -05:00
Raymond Hill
e0c4bce931 Fix changelog 2025-01-07 13:58:10 -05:00
Raymond Hill
2266473336 Fix regression in trusted-replace-argument scritplet
Related feedback:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/859#discussioncomment-11751928

Regression from:
adced29b5b
2025-01-06 20:04:22 -05:00
Raymond Hill
987f41c85d Make Firefox dev build auto-update 2025-01-04 21:05:46 -05:00
Raymond Hill
25030e6cb9 Update .gitignore 2025-01-04 20:41:28 -05:00
Raymond Hill
af8f11eb14 New revision for dev build 2025-01-04 20:39:38 -05:00
Raymond Hill
e192e40a81 Update CHANGELOG 2025-01-04 20:39:06 -05:00
Raymond Hill
b617926c1c Improve abort-on-stack-trace scriptlet
Related feedback:
https://github.com/uBlockOrigin/uAssets/issues/26704#issuecomment-2569381462
2025-01-04 20:29:19 -05:00
Raymond Hill
551c6bc6eb Improve href-sanitizer scriptlet
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/26709#issuecomment-2569993803
2025-01-04 20:23:53 -05:00
Raymond Hill
7f78d19597 New stable release version 2025-01-01 08:22:32 -05:00
Raymond Hill
7c530198c8 Import translation work from https://crowdin.com/project/ublock 2025-01-01 08:20:45 -05:00
Raymond Hill
217d001d71 [mv3] Minor changes 2024-12-30 13:40:18 -05:00
Fanboynz
62178de756 Add granted and done cookie values (#3932) 2024-12-30 08:27:50 -05:00
Raymond Hill
c04d4f4187 [mv3] Fix build script 2024-12-29 17:06:26 -05:00
Raymond Hill
61922da24b [mv3] Extend strict-blocking coverage; improve URL-skip behavior
This extends coverage of strict-blocking to pattern-based filters
with `doc` filter option.

When proceeding with a URL-skip URL present, no temporary bypass
will be created when the "Don't warn me again about this site" is
left unchecked. The idea is to avoid the intermediate redirects
if we navigate again on the same strict-blocked site, while a
temporary bypass would prevent this.

uBO's "Badware risks" list has been spinned off as its own list.
The idea is that should a site be strict-blocked from that list,
we would want to know the strict-block is due to the
"Badware risks" list.
2024-12-29 16:38:56 -05:00
Raymond Hill
b8678d22ea Remove pointless instructionURL from AdGuard's lists
There is no special extra steps to be taken when enabling an
AdGuard lists, there is no point to have `instructionURL` for
these.

Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3502
2024-12-27 08:34:41 -05:00
Raymond Hill
b856a2767d Make Firefox dev build auto-update 2024-12-26 19:26:19 -05:00
Raymond Hill
e3757e32a5 New revision for release candidate 2024-12-26 19:19:06 -05:00
Raymond Hill
05c5f36921 Update changelog 2024-12-26 19:18:44 -05:00
Raymond Hill
c92a518218 Fix deserialization of ArrayBuffer shared by multiple TypedArrays
Deserialization failed to restore proper ArrayBuffer when used by
multiple TypedArrays.

This didn't affect uBO since this specific code path was never
taken.
2024-12-26 19:14:20 -05:00
Raymond Hill
4015e7f772 Make Firefox dev build auto-update 2024-12-26 18:50:45 -05:00
Raymond Hill
9032afef10 New revision for dev build 2024-12-26 18:46:24 -05:00
Raymond Hill
dd40dbdd96 Update changelog 2024-12-26 18:46:00 -05:00
Raymond Hill
19f22c438e Remove pointless instructionURL from AdGuard's lists
There is no special extra steps to be taken when enabling an
AdGuard lists, there is no point to have `instructionURL` for
these.

Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3502
2024-12-26 11:58:34 -05:00
Raymond Hill
cb6c11ab6f Improve trusted-suppress-native-method scriptlet
As per AdGuard's documentation `/.../` is a valid matcher, to
match a string argument against a regex pattern.
2024-12-26 08:10:13 -05:00
Raymond Hill
3ae28423b9 Remove pointless instructionURL from AdGuard's lists
There is no special extra steps to be taken when enabling an
AdGuard lists, there is no point to have `instructionURL` for
these.

Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3502
2024-12-26 08:05:10 -05:00
Raymond Hill
dd5a79e6eb Make Firefox dev build auto-update 2024-12-25 14:30:48 -05:00
Raymond Hill
a4677f160f New revision for release candidate 2024-12-25 14:28:24 -05:00
Raymond Hill
42638f0e44 Fix regression in href-sanitizer scriptlet
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/2531#issuecomment-2561968581

Regression from:
https://github.com/gorhill/uBlock/commit/9bf8d53ebe
2024-12-25 14:26:00 -05:00
Raymond Hill
f7fa3139af Need to name as per validator 2024-12-24 12:43:53 -05:00
Raymond Hill
3df22b1791 [mv3] Change extension id 2024-12-24 11:30:13 -05:00
Raymond Hill
14bed5679a Make Firefox dev build auto-update 2024-12-24 09:16:16 -05:00
Raymond Hill
d4194353f8 New revision for release candidate 2024-12-24 09:10:31 -05:00
Raymond Hill
23134c2e45 Update changelog 2024-12-24 09:10:04 -05:00
Raymond Hill
a7aa755f18 Improve urlskip= filter option
New step: `#`, to extract the hash part of a URL.

Example, URL:
https://example.com/#aHR0cHM6Ly9naXRodWIuY29tL3VCbG9ja09yaWdpbi8=

Filter:
||example.com^$urlskip=# -base64

As a result, navigate to https://github.com/uBlockOrigin/
2024-12-24 08:59:28 -05:00
Raymond Hill
27a72b8eef [mv3] Hopefully this fixes Edge submission issue
Submission to Edge Addons store fails with:

----
The following checks failed:
Package acceptance validation error:
Manifest file reference 'urlhaus.full' does not exist in the zip archive.
(Note: File locations are case-sensitive)
Package acceptance validation error:
Manifest file reference 'openphish.domains' does not exist in the zip archive.
(Note: File locations are case-sensitive)
----

Guessing the use of period in ruleset file path is causing the
issue.
2024-12-23 09:57:57 -05:00
Raymond Hill
fd481a37bf Import translation work from https://crowdin.com/project/ublock 2024-12-22 10:36:47 -05:00
Raymond Hill
6c228a8bfd Make Firefox dev build auto-update 2024-12-21 11:46:44 -05:00
Raymond Hill
dd281d9fc5 New revision for dev build 2024-12-21 11:32:03 -05:00
Raymond Hill
43d157112d Update changelog 2024-12-21 11:31:33 -05:00
Raymond Hill
7494eaf621 Improve parse-properties-to-match scriptlet helper
Related issue:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/831#discussioncomment-11637436

If the property name contains unexpected characters, assume that
the `:` is not a separator.
2024-12-21 11:27:03 -05:00
Raymond Hill
89e44131a0 [mv3] Enable OpenPhish ruleset by default
As discussed with filter list maintainers.
2024-12-21 08:57:12 -05:00
Raymond Hill
a17a8ac04b Import translation work from https://crowdin.com/project/ublock 2024-12-20 14:28:23 -05:00
Raymond Hill
c311315daa [mv3] Fix undue blocking of network requests for unfiltered sites
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/247

Use session rules with `TAB_ID_NONE` to properly exclude network
requests from service workers potentially used by trusted websites.
2024-12-20 13:55:48 -05:00
Raymond Hill
143cc0280a Make Firefox dev build auto-update 2024-12-20 10:26:16 -05:00
Raymond Hill
743a907692 New revision for dev build 2024-12-20 10:14:31 -05:00
Raymond Hill
5ddde5a36a Update changelog 2024-12-20 10:14:11 -05:00
Raymond Hill
9bf8d53ebe Improve href-sanitizer scriptlet
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3487

Add support for `urlskip=` syntax by internally reusing `urlskip=`
code.
2024-12-20 10:12:33 -05:00
Fanboynz
791a2b08e1 Add all/none in set-local/cookie (#3928)
* Add all/none in set-local/cookie

* Add functional cookie value
2024-12-16 08:26:36 -05:00
Raymond Hill
9fbc23abfc Import translation work from https://crowdin.com/project/ublock 2024-12-15 15:38:40 -05:00
Raymond Hill
d47876c547 Use combined list for UKR
As per feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/2692#issuecomment-2543153158
2024-12-14 11:00:21 -05:00
Raymond Hill
9c75814525 Use code quotes for filters in logger export feature 2024-12-14 09:03:32 -05:00
Raymond Hill
c279cded17 [mv3] Minor code review 2024-12-14 09:01:23 -05:00
Raymond Hill
c2a4b72fee Import translation work from https://crowdin.com/project/ublock 2024-12-14 08:57:22 -05:00
Raymond Hill
5e0802fd67 Import translation work from https://crowdin.com/project/ublock 2024-12-14 08:53:15 -05:00
Raymond Hill
ac9e12e17c [mv3] Add "Malware protection, security" section in "Filter lists" pane
Additionally, add "Openphish Domain Blocklist" as stock list.
2024-12-14 08:45:17 -05:00
Raymond Hill
fbe203c101 Make Firefox dev build auto-update 2024-12-13 11:36:20 -05:00
Raymond Hill
73b85efae2 New revision for dev build 2024-12-13 11:31:31 -05:00
Raymond Hill
65f64a5809 Update changelog 2024-12-13 11:29:59 -05:00
Raymond Hill
0f373b7639 Use HOSTS version of "Malicious URL Blocklist"
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/256
2024-12-13 11:18:18 -05:00
Raymond Hill
439d608d03 Revert "Use HOSTS version of "Malicious URL Blocklist""
This reverts commit 54ebea31f7.
2024-12-13 11:15:36 -05:00
Raymond Hill
8ba71f09d7 Improve quote usage in filter options and scriptlets
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/760#issuecomment-2540436382

Using quotes in filter option values is meant to remove ambiguity
when the value contains special characters. This was not working when
the value started with `$`. For example, fixes usage of quotes in:

  $removeparam='$deep_link'

Also, fixed logger output for scriptlets using empty parameters
in quotes.
2024-12-13 10:54:01 -05:00
Raymond Hill
2b6d67b29a Import translation work from https://crowdin.com/project/ublock 2024-12-13 08:30:27 -05:00
Raymond Hill
b1936524f7 Import translation work from https://crowdin.com/project/ublock 2024-12-12 20:06:15 -05:00
Raymond Hill
54ebea31f7 Use HOSTS version of "Malicious URL Blocklist"
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/256
2024-12-12 20:00:08 -05:00
Raymond Hill
b7bacc0fc1 Fix bad filter in urlhaus
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/256
2024-12-12 19:47:48 -05:00
Raymond Hill
bdc67b1e7f Make Firefox dev build auto-update 2024-12-12 12:40:33 -05:00
Raymond Hill
d51a01f0f8 Add regional list for UKR
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/issues/2692
2024-12-12 12:34:04 -05:00
Raymond Hill
25a4433e2a New revision for dev build 2024-12-12 10:50:32 -05:00
Raymond Hill
9b2cf0169a Improve trusted-suppress-native-method scriptlet
Add ability to log stack trace when verbose mode is enabled.
2024-12-12 10:18:42 -05:00
Raymond Hill
42c23f10d4 Make Firefox dev build auto-update 2024-12-11 09:05:37 -05:00
Raymond Hill
d193ae7d2f New revision for dev build 2024-12-11 08:50:30 -05:00
Raymond Hill
2d400b5661 Update changelog 2024-12-11 08:49:44 -05:00
Raymond Hill
7ed3470844 Improve trusted-suppress-native-method scriptlet
Add support for the `stack` parameter.
2024-12-11 08:47:10 -05:00
Raymond Hill
f14257d813 [mv3] Minor visual fix in dashboard's Welcome section 2024-12-10 10:22:38 -05:00
Raymond Hill
0e1800e68d [mv3] Fix using Optimal as default mode when hosts permission allows it
Related issue:
https://github.com/uBlockOrigin/uBOL-home/discussions/161
2024-12-10 10:16:35 -05:00
Raymond Hill
738f93da28 Import translation work from https://crowdin.com/project/ublock 2024-12-09 10:52:07 -05:00
Raymond Hill
09554384ef [mv3] Replace "30-day Phishing Domain List" with "Malicious URL Blocklist"
As per team feedback.
2024-12-09 10:48:24 -05:00
Raymond Hill
20a570ebe8 [mv3] Make strict-blocking checkbox dependent on filtering mode
Related feedback:
https://github.com/uBlockOrigin/uBOL-home/issues/214#issuecomment-2528072997
2024-12-09 09:42:46 -05:00
Raymond Hill
51ef43c0de Make Firefox dev build auto-update 2024-12-09 08:38:29 -05:00
Raymond Hill
2ccb01973e Fix regression in set-constant scriptlet
Regression from 3417fe3d5d
2024-12-09 08:22:21 -05:00
Raymond Hill
7daa45e49f Revert "Fix regression in set-constantscriptlet"
This reverts commit b7441bb9c0.
2024-12-09 08:19:43 -05:00
Raymond Hill
fa87e6d830 New revision for dev build 2024-12-09 08:08:43 -05:00
Raymond Hill
b7441bb9c0 Fix regression in set-constantscriptlet
Regression from https://github.com/gorhill/uBlock/commit/3417fe3d5d
2024-12-09 08:05:47 -05:00
Raymond Hill
6c6ac6c7a7 Import translation work from https://crowdin.com/project/ublock 2024-12-08 16:58:23 -05:00
Raymond Hill
56ba93700c [mv3] Ensure no generic cosmetic filters end up in specific realm
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/254

Cosmetic filters with only negated hostnames would end up being
classified as specific, while in reality the filter is generic, with
specific exceptions.

This commit fixes the improper classification. Enforcing specific
exception filters in the generic realm is still an issue to
address.
2024-12-08 08:37:29 -05:00
Raymond Hill
ec5a1b3ab6 Import translation work from https://crowdin.com/project/ublock 2024-12-06 17:21:30 -05:00
Raymond Hill
424fc81628 [mv3] Minor code review 2024-12-06 12:13:18 -05:00
Raymond Hill
4e7bdff8ed Make Firefox dev build auto-update 2024-12-06 12:11:15 -05:00
Raymond Hill
4ed97bb513 Update JSDoc documenation 2024-12-06 12:04:21 -05:00
Raymond Hill
0701422dcf New revision for dev build 2024-12-06 11:56:56 -05:00
Raymond Hill
0d0754a57b Update changelog 2024-12-06 11:56:33 -05:00
Raymond Hill
3417fe3d5d Improve trusted-replace-argument scriptlet
As discussed with filter list maintainers.
2024-12-06 11:53:42 -05:00
Raymond Hill
36db7f8327 Block media elements unconditionally when max size is set to 0
Related feedback:
https://old.reddit.com/r/uBlockOrigin/comments/1h7x9nj/
2024-12-06 10:15:42 -05:00
Raymond Hill
b3a51d0018 Import translation work from https://crowdin.com/project/ublock 2024-12-05 13:09:07 -05:00
Raymond Hill
38390bab9c [mv3] Add urlskip support for strict-blocked page + extra info
Add information about which ruleset caused a page to be strict-
blocked.

Whenever possible, add ability to URL-skip an incoming redirect
in a strict-blocked page.

Add new default list: "30-day Phishing Domain List"
2024-12-05 12:56:25 -05:00
Raymond Hill
fb82db34f7 Make Firefox dev build auto-update 2024-12-05 09:20:54 -05:00
Raymond Hill
fd2ddd3c01 Import translation work from https://crowdin.com/project/ublock 2024-12-05 09:12:28 -05:00
Raymond Hill
07484ceed1 Import translation work from https://crowdin.com/project/ublock 2024-12-05 09:10:46 -05:00
Raymond Hill
37f7181a52 New revision for dev build 2024-12-05 09:08:26 -05:00
Raymond Hill
a86e802afc Add advanced setting noScriptingCSP
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/issues/2642#issuecomment-2520096503

Specify which CSP directive to inject when no-scripting switch is
toggled on. If this hidden setting is changed, uBO will not try
to spoof `noscript` elements.

For internal use at the moment, not to be documented.
2024-12-05 09:04:31 -05:00
Raymond Hill
f80143a8ee Make Firefox dev build auto-update 2024-12-04 19:50:40 -05:00
Raymond Hill
5eb44d01e5 Update changelog 2024-12-04 19:45:06 -05:00
Raymond Hill
1a0331b7c2 New revision for dev build 2024-12-04 19:44:23 -05:00
Raymond Hill
ea1b1abaee Import translation work from https://crowdin.com/project/ublock 2024-12-04 19:43:40 -05:00
Raymond Hill
48fed03128 Add "RU AdList: Counters" to stable release of uBO
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/229#issuecomment-2408527226
2024-12-04 16:55:18 -05:00
Raymond Hill
076e9fa73e Visually separate scriptlet parameters in active line
This makes it easier to see how parameters are parsed internally,
in order to make it easier to distinguish commas as separator and
literal commas meant to be part of a parameter.

Related discussion:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/865#discussioncomment-11461980
2024-12-04 10:48:55 -05:00
Raymond Hill
784888471a Import translation work from https://crowdin.com/project/ublock 2024-12-03 16:53:50 -05:00
Raymond Hill
aa05cb32c6 [mv3] Implement strict blocking
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/214

This implements basic functionality for strict blocking, i.e. the
ability to block navigation to undesirable websites. This is a
first implementation, which converts only filters that are plain
hostnames.

Unlike with uBO, it is not possible to know from which ruleset a
blocking rule originates. Nonetheless, users will have to make a
choice as to whether navigation should proceed or not.

A setting has been added to the dashboard to wholly enable/disable
strict blocking. It is enabled by default.

Potential future improvements, pending investigation on feasability
in an MV3 framework:
- Extend coverage to explicit `document` filters
- Leverage and use `urlskip=` filters in the blocking page in order
  to proceed while bypassing unwanted redirects.
2024-12-03 16:41:34 -05:00
Raymond Hill
d7df6cda4a Import translation work from https://crowdin.com/project/ublock 2024-12-01 19:46:29 -05:00
Raymond Hill
556bea809e Make Firefox dev build auto-update 2024-11-29 11:01:23 -05:00
Raymond Hill
47bdec422a New revision for dev build 2024-11-29 10:55:07 -05:00
Raymond Hill
580f2dee06 Update changelog 2024-11-29 10:54:43 -05:00
Raymond Hill
b1a00145bd Mitigate potentially delayed execution of scriptlets in Firefox
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3452

Use blob-based injection only when direct injection fails because
of a page's CSP. This is a mitigation until a better approach is
devised.

Such future better approach to investigate:

- Use `MAIN` world injection supported by contentScript.register()
  since Firefox 128
- Investigate registering script to inject ahead of time thru
  some heuristic
2024-11-29 10:13:39 -05:00
Raymond Hill
d6867699c9 Make Firefox dev build auto-update 2024-11-28 12:01:12 -05:00
Raymond Hill
f04645ab9f New revision for dev build 2024-11-28 11:51:27 -05:00
Raymond Hill
58a5a23763 Update changelog 2024-11-28 11:51:05 -05:00
Raymond Hill
3b7fa79a68 Improve prevent-setTimeout/prevent-setInterval scriptlet
Add support for range for the `delay` paramater:

---

@param [delay]
A value to match against the delay. Can be a single value for exact match,
or a range:
- `min-max`: matches if delay >= min and delay <= max
- `min-`: matches if delay >= min
- `-max`: matches if delay <= max
No delay means to match any delay value.
Prepend with `!` to reverse the match condition.

---

As discussed with filter list maintainers.
2024-11-28 11:47:28 -05:00
Raymond Hill
703fdf673c [mv3] Fix mv3 build script 2024-11-27 17:55:18 -05:00
Raymond Hill
4d525f1a55 Move assets/resources into src/js/ 2024-11-27 16:47:11 -05:00
Raymond Hill
adced29b5b Improve trusted-replace-argument scriptlet
As discussed with filter list maintainers, added ability to
partially replace an argument using the `repl:` prefix. Updated
documentation:

---

@scriptlet trusted-replace-argument.js

@description
Replace an argument passed to a method. Requires a trusted source.

@param propChain
The property chain to the function which argument must be replaced when
called.

@param argposRaw
The zero-based position of the argument in the argument list. Use a negative
number for a position relative to the last argument.

@param argraw
The replacement value, validated using the same heuristic as with the
`set-constant.js` scriptlet.
If the replacement value matches `json:...`, the value will be the
json-parsed string after `json:`.
If the replacement value matches `repl:/.../.../`, the target argument will
be replaced according the regex-replacement directive following `repl:`

@param [, condition, pattern]
Optional. The replacement will occur only when pattern matches the target
argument.

---

Aditionally, more scriptlets moved into their own files.
2024-11-27 15:53:50 -05:00
Raymond Hill
e43cb6771a [mv3] Open options page in tab in Firefox 2024-11-25 12:31:50 -05:00
Raymond Hill
50ddedb992 Import translation work from https://crowdin.com/project/ublock 2024-11-24 10:24:08 -05:00
Raymond Hill
346b5ded7c [mv3] Add ability for admins to disable features
New managed setting:

"disabledFeatures": {
  "title": "User interface features to disable",
  "description": "A list of tokens, each of which correspond to a user interface feature to disable.",
  "type": "array",
  "items": { "type": "string" }
}

Supported tokens:
- `dashboard`: Prevent access to all dashboard settings
- `filteringMode`: Prevent changes to the default filtering mode,
  or the current filtering mode of any site

Related feedback:
https://github.com/uBlockOrigin/uBOL-home/discussions/35#discussioncomment-11326086
2024-11-23 13:17:13 -05:00
Raymond Hill
4979aa51f5 [mv3] Do not collect matched rules by default when side-loaded
Collecting matched rules when the extension is side-loaded is now
opt-in, by enabling "Developer mode" in the dashboard.

The reason is to allow the extension to behave same as the official
released version when side-loaded.

Specifically, as side-loaded extension, uBOL's service worker would
wake up due to matched-rule listener even though it would not wake
up the worker with same configuration in stable release.
2024-11-21 12:54:28 -05:00
Raymond Hill
b2d7bb72c7 [mv3] Write log.txt file to extension folder 2024-11-20 12:55:13 -05:00
Raymond Hill
6355a17187 [mv3] Fix flaw breaking scriptlets injection in optimal/basic mode
Not all matching scriptlets were injected on a given site in Optimal
or Complete mode when default mode was set to Basic or less.

A high profile manifestation of this bug was that Youtube ads were
not being blocked when using Optimal on Youtube while default mode
was Basic.
2024-11-20 09:04:52 -05:00
Raymond Hill
8ae33afb76 Make Firefox dev build auto-update 2024-11-20 08:15:59 -05:00
Raymond Hill
4a8efe1ed8 Replace all instances, not just the first one 2024-11-20 08:07:52 -05:00
Raymond Hill
11bbee93fe Ne wrevision for dev build 2024-11-20 08:01:50 -05:00
Raymond Hill
fbbd5765c8 Update changelog 2024-11-20 08:01:27 -05:00
Raymond Hill
bcc058eba7 Add -safebase64 directive in urlskip=
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3206#issuecomment-2487392846
2024-11-20 07:53:52 -05:00
Raymond Hill
3aac2a7c97 Import translation work from https://crowdin.com/project/ublock 2024-11-19 13:44:25 -05:00
Raymond Hill
f3486275e9 [mv3] Fix force-reloading repeatedly when erroring at load time
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/234
2024-11-19 13:16:56 -05:00
Raymond Hill
2f2f383c1b Make Firefox dev build auto-update 2024-11-18 14:25:44 -05:00
Raymond Hill
9fb90ad14c New revision for dev build 2024-11-18 14:22:27 -05:00
Raymond Hill
dfc3c252d2 Update changelog 2024-11-18 14:22:02 -05:00
Raymond Hill
77ed83ff2f Improve urlskip= filter option
Automatically upgrade `http:` to `https:` in the resulting URL.

Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/3206#issuecomment-2480930555
2024-11-18 14:19:21 -05:00
Raymond Hill
114acacd2e [mv3] Batch changes thru dashboard UI to reduce worker's workload 2024-11-18 14:08:30 -05:00
Raymond Hill
f9ce06977d [mv3] Fix removeparam potentially causing invalid DNR rules 2024-11-18 14:05:19 -05:00
Raymond Hill
17e0a35650 Import translation work from https://crowdin.com/project/ublock 2024-11-18 10:25:46 -05:00
Raymond Hill
c95b08d760 Import translation work from https://crowdin.com/project/ublock 2024-11-18 10:24:08 -05:00
Raymond Hill
d7c6b41992 [mv3] Code review re. re-worked dashboard
Related commit:
ae4754415c

Fine-tuned visuals; fixed sublist quirks related to admin-selected
lists.
2024-11-18 10:16:01 -05:00
Raymond Hill
ae4754415c [mv3] Re-work dashboard: move list of rulesets in its own pane
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/229

Add "Filter lists" pane in dashboard

The DNR API now supports enabling 50 static rulesets put of a
maximum of 100 (instead of 10 out of 50 originally). Thus given
the potentially growing number of static rulesets, the available
stock rulesets has been moved to its own pane, with the following
improvements:
- Support sublists
- Support search

Aditionally, "RU AdList: Counter" has been added as a stock
ruleset.

Other changes:
- Do not re-evaluate regexes which failed validation
- Better reduce `removeparam` rules
2024-11-17 17:27:27 -05:00
Raymond Hill
b4a5b411b5 Add "RU AdList: Counters" to stock list
Shouldn't be enabled by default, to conform it's working as
intended.

Related discussion:
https://github.com/uBlockOrigin/uBOL-home/discussions/37#discussioncomment-9629942
2024-11-16 12:01:30 -05:00
Raymond Hill
51edb13a06 Minor code review 2024-11-16 09:54:19 -05:00
Raymond Hill
442331136c Make Firefox dev build auto-update 2024-11-16 09:50:51 -05:00
Raymond Hill
f8bd9a1007 New revision for dev build 2024-11-16 09:31:29 -05:00
Raymond Hill
edf4f52fe5 Update changelog 2024-11-16 09:31:02 -05:00
Raymond Hill
5f5e3d730f Improve spoof-css scriptlet
Added special properties to spoof output of getBoundingClientRect().
2024-11-16 09:26:09 -05:00
Raymond Hill
c8174d6032 Improve trusted-set-attr scriptlet
Related feedback:
11ca4a3923 (commitcomment-149148167)
2024-11-16 08:10:25 -05:00
Raymond Hill
947602d4fe [mv3] Slightly mitigate DNR flaw re. removeparam filters
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/140

This will allow more specific `removeparam` filters to override
generic ones. This doesn't fix the related issue but should help
more specific `removeparam` filters to be applied.

Related webextensions issue:
https://github.com/w3c/webextensions/issues/468
2024-11-15 10:01:29 -05:00
Raymond Hill
7fcd2a51be Make Firefox dev build auto-update 2024-11-14 10:51:21 -05:00
Raymond Hill
2e66d7bd55 Import translation work from https://crowdin.com/project/ublock 2024-11-14 10:40:55 -05:00
Raymond Hill
3066386d0e New revision for dev build 2024-11-14 10:35:21 -05:00
Raymond Hill
b709a56ce6 Update changelog 2024-11-14 10:35:01 -05:00
Raymond Hill
4c299bfca9 Better handle unexpected conditions when deserializing
For example, when deserialzing from corrupted storage.
2024-11-14 10:32:15 -05:00
Raymond Hill
ff5fc61753 Add support for EasyList { remove: true } cosmetic filter syntax
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3451
2024-11-14 10:24:50 -05:00
Raymond Hill
2e745f9bfb [mv3] Remove obsolete Firefox-only workaround in scriptlet template
Related bugzilla issue:
https://bugzilla.mozilla.org/show_bug.cgi?id=1736575

The issue was fixed months ago.

The removed code block is causing uBOL to be flagged as "including
remotely hosted code".

To be clear, the removed obsolete code block was not related to
executing remote code. The referenced code was in the file itself,
not remote, and this was a workaround for when Firefox was not
supporting injecting script in the `MAIN` world.

The issue was fixed months ago in Firefox, so there is no point for
the workaround.
2024-11-13 09:10:51 -05:00
Raymond Hill
d325dcd192 Make Firefox dev build auto-update 2024-11-11 15:45:32 -05:00
Raymond Hill
7ccb4c6314 New revision for dev build 2024-11-11 15:21:41 -05:00
Raymond Hill
52d21b8df9 Update changelog 2024-11-11 15:21:16 -05:00
Raymond Hill
335d947c10 Fix potential infinite async loop
Related issue:
https://bugzilla.mozilla.org/show_bug.cgi?id=1929326

As identified by @Rob--W:
https://bugzilla.mozilla.org/show_bug.cgi?id=1929326#c9

Truncated or otherwise corrupted asset content in extension storage
could lead to infinite async loop causing high CPU usage in uBO and
its workers.

Likely related to the issue of the asset content returned as
`undefined`:
652f178787/src/js/cachestorage.js (L98)
2024-11-11 15:17:19 -05:00
Raymond Hill
15dae359f7 [mv3] Add support to add/remove rulesets through policies
Related discussion:
https://github.com/uBlockOrigin/uBOL-home/discussions/35#discussioncomment-11157444

New policy setting: `rulesets`
Type: array
Type of array items: string

Each item in the list is a list id (as seen in `rulesets/ruleset-details.json`),
prefixed with either `+` to enable the ruleset, or `-` to disable the ruleset.

Users will not be able to enable or disable rulesets present in the `rulesets`
policy. Disabled rulesets will not appear in the dashboard.

Use `-*` to remove all non-default rulesets, except for those added
using `+[ruleset_id]`.

Additionally, some work has been done to properly handle policy changes in
a non-blocking and deferred manner, as I observed that it often takes long
for calls to `storage.manage.get` to resolve. This potentailly takes care
of the following issue:
https://github.com/uBlockOrigin/uBOL-home/issues/174
2024-11-11 13:20:54 -05:00
Raymond Hill
74921a0f27 Make Firefox dev build auto-update 2024-11-08 12:26:24 -05:00
Raymond Hill
74d8be96d2 Fix more workflow warnings; fix steps order 2024-11-08 12:17:27 -05:00
Raymond Hill
689ffbe7d3 Address workflow warnings 2024-11-08 12:07:30 -05:00
Raymond Hill
dc81a39a99 New revision for dev build 2024-11-08 11:26:13 -05:00
Raymond Hill
93e2d7f143 Update changelog 2024-11-08 11:25:56 -05:00
Raymond Hill
e5a088738d Keep moving related scriptlets into separate files 2024-11-08 11:22:31 -05:00
Raymond Hill
ce4908b341 Improve prevent-xhr scriptlet 2024-11-08 08:48:07 -05:00
Raymond Hill
41616df866 Improve trusted-suppress-native-method scriptlet
Add `debug` as disposition option: if the `how` parameter is `debug`,
the scriptlet will trigger a `debugger` statement and the target
method won't be suppressed. Useful to find out how the method is
being called by page code. To be used for investigation purpose only.
2024-11-08 08:32:19 -05:00
Raymond Hill
fd60f54a5f Make Firefox dev build auto-update 2024-11-07 12:15:43 -05:00
Raymond Hill
34eed9abef Update changelog 2024-11-07 12:09:41 -05:00
Raymond Hill
e854c4752b New revision for dev build 2024-11-07 11:59:57 -05:00
Sander Lepik
f90ccb7c62 Move Estonian list away from .php extension (#3926) 2024-11-07 10:27:26 -05:00
Raymond Hill
e613282698 Improve set-cookie scriptlet
Allow negative integer as valid value.

Related issue:
https://github.com/gorhill/uBlock/pull/3927

Additionally, move cookie-related scriptlets/helpers into its own
source code file.
2024-11-07 10:23:34 -05:00
Raymond Hill
652f178787 New revision for stable release 2024-11-05 09:27:11 -05:00
Raymond Hill
e164250fea Comment 2024-11-05 09:26:23 -05:00
Raymond Hill
54ed02e302 Import translation work from https://crowdin.com/project/ublock 2024-11-05 09:25:01 -05:00
Raymond Hill
12817eee57 Squashed commit of the following:
commit a4d319437a
Author: daylight <starcrush@monemail.com>
Date:   Fri Nov 1 21:01:06 2024 +0300

    Delete .gitmodules

commit 57b7d98148
Author: daylight <starcrush@monemail.com>
Date:   Fri Nov 1 17:47:50 2024 +0300

    Delete dist/mv3/log.txt

commit c936a72bb3
Author: daylight <starcrush@monemail.com>
Date:   Fri Nov 1 17:47:16 2024 +0300

    Update dist/README.md

commit b5aaec47b3
Author: daylight <starcrush@monemail.com>
Date:   Fri Nov 1 17:46:53 2024 +0300

    Update release head

commit be2da15508
Author: daylight <starcrush@monemail.com>
Date:   Fri Nov 1 17:46:37 2024 +0300

    Update links in readme

commit 3019dfc37a
Author: daylight <starcrush@monemail.com>
Date:   Fri Nov 1 17:46:16 2024 +0300

    Update contributing guide

commit 3b9333dbd8
Author: daylight <starcrush@monemail.com>
Date:   Fri Nov 1 17:45:53 2024 +0300

    Update CI

commit 2831a0d0fd
Author: daylight <starcrush@monemail.com>
Date:   Fri Nov 1 17:45:31 2024 +0300

    Update config
Revert "Update CI"

This reverts commit 3b9333dbd8.
2024-11-04 10:12:25 -05:00
daylight
a4d319437a Delete .gitmodules 2024-11-01 16:33:23 -04:00
daylight
57b7d98148 Delete dist/mv3/log.txt 2024-11-01 16:33:23 -04:00
daylight
c936a72bb3 Update dist/README.md 2024-11-01 16:33:23 -04:00
daylight
b5aaec47b3 Update release head 2024-11-01 16:33:23 -04:00
daylight
be2da15508 Update links in readme 2024-11-01 16:33:23 -04:00
daylight
3019dfc37a Update contributing guide 2024-11-01 16:33:22 -04:00
daylight
3b9333dbd8 Update CI 2024-11-01 16:33:22 -04:00
daylight
2831a0d0fd Update config 2024-11-01 16:33:22 -04:00
Raymond Hill
121ac712f7 Make Firefox dev build auto-update 2024-11-01 11:41:35 -04:00
Raymond Hill
67310b0fb6 New revision for stable release candidate 2024-11-01 11:36:43 -04:00
Raymond Hill
331a82775f Update changelog 2024-11-01 11:36:08 -04:00
Raymond Hill
8884f259c1 Improve prevent-refresh scriptlet
Related discussion:
https://github.com/uBlockOrigin/uAssets/issues/25859#issuecomment-2449623891
2024-11-01 11:33:34 -04:00
Raymond Hill
eab0fd4e57 Make Firefox dev build auto-update 2024-10-31 12:11:01 -04:00
Raymond Hill
d401527e83 Import translation work from https://crowdin.com/project/ublock 2024-10-31 11:28:06 -04:00
Raymond Hill
d70c602575 New revision for stable release candidate 2024-10-31 11:25:18 -04:00
Raymond Hill
34771d02d1 Fine tune visuals in document-blocked page
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/3206#issuecomment-2449415643
2024-10-31 11:18:42 -04:00
Raymond Hill
fd3624f541 Make Firefox dev build auto-update 2024-10-30 19:16:41 -04:00
Raymond Hill
eb37cd870d New revision for stable release candidate 2024-10-30 19:07:24 -04:00
Raymond Hill
a5d7e68ebe Update changelog 2024-10-30 19:06:57 -04:00
Raymond Hill
f645e8f0d2 Improve googlesyndication_adsbygoogle.js scriptlet
Related discussion:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/321#discussioncomment-11000356
2024-10-30 09:12:58 -04:00
Raymond Hill
a793d693b5 Make Firefox dev build auto-update 2024-10-28 14:26:05 -04:00
Raymond Hill
1264284a3c New revision for stable release candidate 2024-10-28 14:17:07 -04:00
Raymond Hill
c07db7553d Fix urlskip= with -blocked directive for blocked requests
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/3206#issuecomment-2441470631
2024-10-28 14:13:50 -04:00
Raymond Hill
ac4506091e Import translation work from https://crowdin.com/project/ublock 2024-10-28 12:04:34 -04:00
Raymond Hill
672f2f3769 Make Firefox dev build auto-update 2024-10-27 15:06:13 -04:00
Raymond Hill
0face5e362 New revision for stable release candidate 2024-10-27 14:54:03 -04:00
Raymond Hill
c90eab5e10 Update changelog 2024-10-27 14:53:33 -04:00
Raymond Hill
60a1dea0f6 Import translation work from https://crowdin.com/project/ublock 2024-10-27 14:49:14 -04:00
Raymond Hill
9b3e94b23f Import translation work from https://crowdin.com/project/ 2024-10-27 14:46:25 -04:00
Raymond Hill
20b54185fa Offer ability to skip redirects in strict-blocked page
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/issues/3206#issuecomment-2439639215

If a strict-blocked page matches a `urlskip=` filter, the page
will show the user the destination URL as a result of applying the
`urlskip` filter should they choose to proceed with the
navigation.
2024-10-27 14:24:08 -04:00
Raymond Hill
6aa9391c8d Make Firefox dev build auto-update 2024-10-26 14:31:33 -04:00
Raymond Hill
87716cf781 New revision for stable release candidate 2024-10-26 14:04:55 -04:00
Raymond Hill
4cb92102c7 Update changelog 2024-10-26 14:03:58 -04:00
Raymond Hill
d04dc4c767 Add -blocked directive to urlskip= option
Potentially breaking change:

`urlskip=` option will no longer apply by default to blocked network
requests, only network requests which are not blocked can be skipped
through a `urlskip=` filter.

The new `urlskip=` directive `-blocked` can be used to explicitly
allow a `urlskip=` filter to also apply to blocked network requests.

Example: given the filter `||example.com^`, the filter:

  ||example.com/path/to/tracker$urlskip=?url

Will not prevent strict-blocking when navigating to:

  https://example.com/path/to/tracker?url=https://example.org/

However, the filter:

  ||example.com/path/to/tracker$urlskip=-blocked ?url

Will cause the strict-blocking to be ignored and allow navigation
to proceed to the URL extracted as a result of applying the `urlskip=`
filter:

  https://example.org/

Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/issues/3206#issuecomment-2439627386
2024-10-26 12:56:52 -04:00
Raymond Hill
50785ea38b Make Firefox dev build auto-update 2024-10-25 19:31:28 -04:00
Raymond Hill
d49062db08 New revision for dev build 2024-10-25 19:25:57 -04:00
Raymond Hill
033314ed34 Update changelog 2024-10-25 19:25:44 -04:00
Raymond Hill
11ca4a3923 Add trusted-set-attr scriptlet
@trustedScriptlet trusted-set-attr

@description
Sets the specified attribute on the specified elements. This scriptlet runs
once when the page loads then afterward on DOM mutations.

Reference: https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-trusted-scriptlets.md#-%EF%B8%8F-trusted-set-attr

@param selector
A CSS selector for the elements to target.

@param attr
The name of the attribute to modify.

@param value
The new value of the attribute. Since the scriptlet requires a trusted
source, the value can be anything.

=====

Additionally, start to move scriptlets into their own source files
for easier maintenance and code review.
2024-10-25 19:12:08 -04:00
Raymond Hill
0851015d7d Make Firefox dev build auto-update 2024-10-22 20:11:11 -04:00
Raymond Hill
c9ebe07d39 New revision for dev build 2024-10-22 19:57:45 -04:00
Raymond Hill
76041bdc64 Update changelog 2024-10-22 19:57:11 -04:00
Raymond Hill
2621c908c3 Remove 64:ff9b: as private network block
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3426
2024-10-22 19:49:29 -04:00
Nadav Mermer
2782b16ecf Allow rulesets enabled in manifest.json to stay enabled when finding language defaults 2024-10-20 18:10:23 +03:00
Raymond Hill
b3408a46d1 Fix spurious error message re. bootstrap() not being present
Need `?.` before parenthesis for optional chaining to apply on
method call.

Related commit:
https://github.com/gorhill/uBlock/commit/5133991f7e
2024-10-19 12:09:48 -04:00
Raymond Hill
d4f15ca635 [mv3] Fix regression in extended filtering with some lists
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/236

Regression from:
https://github.com/gorhill/uBlock/commit/58bfe4c846

Cosmetic- and scriptlet injection-based filters broke with filter
lists using AdGuard's `[$domain=/.../]` syntax.

Potentially affected filter lists:
- AdGuard Chinese
- AdGuard Turkish
2024-10-19 10:41:58 -04:00
Raymond Hill
12435d96cc Make Firefox dev build auto-update 2024-10-17 13:05:37 -04:00
Raymond Hill
d5e662a50f New revision for dev build 2024-10-17 12:45:04 -04:00
Raymond Hill
0425bdfd35 Import translation work from https://crowdin.com/project/ublock 2024-10-17 12:44:02 -04:00
Raymond Hill
27f3612fdf [mv3] Set Optimal as default if extension broad permission at install time
This is to prepare uBOL to be ready to set Optimal mode as default
if ever Chromium-based browsers support a way to pre-grant broad host
permissions in a policy.

Related issue:
https://github.com/uBlockOrigin/uBOL-home/discussions/232
https://github.com/uBlockOrigin/uBOL-home/discussions/135
2024-10-17 12:37:21 -04:00
Raymond Hill
89c353640e [mv3] Add EST-0 list 2024-10-17 12:27:49 -04:00
Raymond Hill
4291c874d9 Fix regression in prevent-xhr scriptlet
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3418
2024-10-17 12:11:50 -04:00
Raymond Hill
98db549bb7 Make Firefox dev build auto-update 2024-10-16 08:56:20 -04:00
Raymond Hill
e6b7f06ab4 New revision for dev build 2024-10-16 08:29:52 -04:00
Raymond Hill
e9c0ad59dd Update changelog 2024-10-16 08:29:25 -04:00
Raymond Hill
32f27c5131 Ensure urlskip= redirects only to https: 2024-10-16 08:25:56 -04:00
Raymond Hill
94ca27acd1 Make Firefox dev build auto-update 2024-10-12 09:25:59 -04:00
Raymond Hill
6df1ea8cd6 New revision for dev build 2024-10-12 08:56:20 -04:00
Raymond Hill
3e7a79ebef Update changelog 2024-10-12 08:55:54 -04:00
Raymond Hill
ce9fc5dc14 Add support to urlskip= media resources
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/3206#issuecomment-2406777654
2024-10-12 08:52:05 -04:00
Raymond Hill
2c60bb3b07 [mv3] Issue labels cannot be set client-side 2024-10-11 16:41:13 -04:00
Raymond Hill
44bcb5fd99 Make Firefox dev build auto-update 2024-10-11 09:15:40 -04:00
Raymond Hill
f5a7053acb New revision for dev build 2024-10-11 09:07:12 -04:00
Raymond Hill
d0ae3c3e77 Update changelog 2024-10-11 09:06:49 -04:00
Raymond Hill
b8959dcca9 Comment 2024-10-11 09:04:23 -04:00
Raymond Hill
caba9cdefa Use uBO's default listset 2024-10-11 09:03:30 -04:00
Raymond Hill
01eebffc1f Add -uricomponent to urlskip= option
To unescape URI-encoded characters.

Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/issues/3206#issuecomment-2406479971
2024-10-11 08:56:50 -04:00
Fanboynz
4d982d9972 Add forbidden/forever values (#3925) 2024-10-11 08:26:37 -04:00
Raymond Hill
e5d16a1883 Typo 2024-10-10 11:35:58 -04:00
Raymond Hill
3cee922e68 Make Firefox dev build auto-update 2024-10-10 11:35:40 -04:00
Raymond Hill
9e3c978d55 Minor edit to comment 2024-10-10 11:31:57 -04:00
Raymond Hill
2e1dac5950 New revision for dev build 2024-10-10 11:22:44 -04:00
Raymond Hill
0c462e3ca1 Update changelog 2024-10-10 11:22:23 -04:00
Raymond Hill
c86ed5287b Add regex extraction transformation step to urlskip= option
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/3206#issuecomment-2403795984

The first capture group of the regex will be used as the result of the
transformation. Example:

||podtrac.com/pts/redirect.mp3/$urlskip=/podtrac\.com\/pts\/redirect\.mp3\/(.*?\.mp3\b)/ +https

If the regex is invalid, or if it fails to extract a first capture
group, no redirection will occur.
2024-10-10 11:11:07 -04:00
Raymond Hill
913f20f0a8 Make Firefox dev build auto-update 2024-10-08 19:56:23 -04:00
Raymond Hill
a72def1cbf New revision for dev build 2024-10-08 19:50:34 -04:00
Raymond Hill
987e198016 Update changelog 2024-10-08 19:50:14 -04:00
Raymond Hill
85877b12ed Improve prevent-window-open scriptlet
Support triggering a `debugger` statement when `window.open()` is
called.

Related feedback:
https://github.com/uBlockOrigin/uAssets/issues/25510#issuecomment-2400067735
2024-10-08 19:47:35 -04:00
Raymond Hill
58bfe4c846 Add support to parse Adguard's [$domain=/.../] regex-based modifier
The modifier will be converted to one that is compatible with uBO, i.e.:

    [$domain=/^trgoals\d+\.xyz$/]##+js(set-constant, isShow, true)

Will parsed as equivalent of:

    /^trgoals\d+\.xyz$/##+js(set-constant, isShow, true)

Related issue:
https://github.com/AdguardTeam/FiltersCompiler/issues/204

Reference:
https://adguard.com/kb/general/ad-filtering/create-own-filters/#non-basic-domain-modifier
2024-10-08 19:19:08 -04:00
Raymond Hill
ec3852b745 Re-word: it's timing per request, not per call to SNFE.match()
A single request can require multiple calls to the static network
filtering engine (SNFE). The reported timing is the result of
going through *all* the required calls to SNFE. In effect, a
single call to SNFE.match() is a fraction of the reported timing.
2024-10-07 15:06:12 -04:00
Raymond Hill
a80c749096 Make Firefox dev build auto-update 2024-10-07 12:05:41 -04:00
Raymond Hill
f825a65f8e New revision for dev build 2024-10-07 12:00:21 -04:00
Raymond Hill
4aae1bdf47 Minor code review 2024-10-07 11:56:22 -04:00
Raymond Hill
daa62c3081 Update README for npm package 2024-10-07 08:56:34 -04:00
Raymond Hill
9a286495a5 New npm version 2024-10-07 08:49:09 -04:00
Raymond Hill
34508a1c2d Add demo.js to npm build
To help people to get quickly started with using the package.
2024-10-07 08:47:45 -04:00
Raymond Hill
26c0aa357e New npm version 2024-10-07 07:38:41 -04:00
Raymond Hill
013e6db6ef Fix typo 2024-10-06 17:05:44 -04:00
Raymond Hill
acf7f39a60 New revision for npm package 2024-10-06 17:04:08 -04:00
Raymond Hill
86aeae75df Further fix npm documentation, minor code review 2024-10-06 17:03:18 -04:00
Raymond Hill
9233e6b7c6 Fix npm documentation
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3402
2024-10-06 16:29:42 -04:00
Raymond Hill
ccbf957f55 Make Firefox dev build auto-update 2024-10-06 15:06:21 -04:00
Raymond Hill
1f32bbc322 New revision for dev build 2024-10-06 14:57:07 -04:00
Raymond Hill
cc60dfa4c5 Update changelog 2024-10-06 14:56:47 -04:00
Raymond Hill
c746633693 Validate result type of XPath expressions
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3403

To ensure XPath expressions not meant to return a nodeset are
discarded at compile time.
2024-10-06 14:27:55 -04:00
Raymond Hill
447476ab9b New npm package version 2024-10-06 14:27:46 -04:00
Raymond Hill
a12bf9405e Make Firefox dev build auto-update 2024-10-06 12:40:51 -04:00
Raymond Hill
e0eb59c5d4 New revision for dev build 2024-10-06 12:34:58 -04:00
Raymond Hill
5700424716 Update changelog 2024-10-06 12:34:26 -04:00
Raymond Hill
818cb2d801 Fix npm test suite
Related commits:
- https://github.com/gorhill/uBlock/commit/02cba63331
- https://github.com/gorhill/uBlock/commit/41693407b2
2024-10-06 11:15:08 -04:00
Raymond Hill
160d7f3c33 Improve trusted-override-element-method scriptlet
Support `debug` as valid `disposition` value: to trigger a `debugger`
statement, but only if uBO's logger is opened.

Related feedback:
https://github.com/uBlockOrigin/uAssets/issues/25510#issuecomment-2395446342
2024-10-06 11:07:42 -04:00
Raymond Hill
1f45902a61 Make Firefox dev build auto-update 2024-10-05 16:21:29 -04:00
Raymond Hill
4775c9cb45 New revision for dev build 2024-10-05 16:10:03 -04:00
Raymond Hill
4c1b1d4cdb Update changelog 2024-10-05 16:09:41 -04:00
Raymond Hill
64b2086ba4 Add ability to lookup parameter name in urlskip=
Relate case:
https://github.com/uBlockOrigin/uBlock-issues/issues/3206#issuecomment-2395121619

Newly supported step: `&i`, meant to lookup a parameter's name at
position `i` (1-based). The parameter name will be used as the
URL (whereas `?` is meant to lookup a parameter's value).
2024-10-05 14:59:43 -04:00
Raymond Hill
02cba63331 Partially revert 4169340 2024-10-05 14:51:38 -04:00
Raymond Hill
5f2ee6caf8 Make Firefox dev build auto-update 2024-10-05 14:00:44 -04:00
Raymond Hill
73404e5988 New revision for dev build 2024-10-05 13:30:49 -04:00
Raymond Hill
5145747ac7 Update chengelog 2024-10-05 13:30:18 -04:00
Raymond Hill
6d2b3375f8 Mind that BroadcastChannel contructor can throw in Firefox
BroadcastChannel constructor throws in Firefox when Enhanced
Tracking Protection is set to "strict".

This behavior could cause scriptlet injection to wholly break
when uBO's logger was opened, as BroadcastChannel() is used
by scriptlets to report information to the logger.

This commit ensures that exceptions from BroadcastChannel
constructor are properly handled.

The scriptlets will fall back to report at the console should
they be unable to report to the logger through BroadcastChannel.
2024-10-05 12:42:30 -04:00
Raymond Hill
41693407b2 Fix npm test suite
Ensure serialization returns copy of data rather than live
references to data. This allows to immediately deserialize() the
result of serialize().

Also, adjust code to modified behavior of filterQuery().
2024-10-05 11:32:59 -04:00
Raymond Hill
3b53d8e5b7 Update changelog 2024-10-05 08:43:14 -04:00
Raymond Hill
95b0ce5e3a Add trusted-override-element-method scriptlet
@description
Override the behavior of a method on matching elements.

@param methodPath
The method which calls must be intercepted.

@param [selector]
A CSS selector which the target element must match. If not specified,
the override will occur for all elements.

@param [disposition]
How the override should be handled. If not specified, the overridden call
will be equivalent to an empty function. If set to `throw`, an exception
will be thrown. Any other value will be validated and returned as a
supported safe constant.

@example
..##+js(trusted-override-element-method, HTMLAnchorElement.prototype.click, a[target="_blank"][style])
2024-10-05 08:35:43 -04:00
Raymond Hill
a0a33eb9b9 Code review for new trusted-prevent-dom-bypass scriptlet
Related commit:
https://github.com/gorhill/uBlock/commit/1abc864742
2024-10-05 07:41:44 -04:00
Raymond Hill
05ba71aef0 Make Firefox dev build auto-update 2024-10-04 13:30:54 -04:00
Raymond Hill
d24ffe6bb8 Import translation work from https://crowdin.com/project/ublock 2024-10-04 12:30:37 -04:00
Raymond Hill
fccda96bd7 New revision for dev build 2024-10-04 12:28:25 -04:00
Raymond Hill
5e2f94bebc New revision for dev build 2024-10-04 12:27:57 -04:00
Raymond Hill
1abc864742 Add trusted-prevent-dom-bypass scriptlet
@description
Prevent the bypassing of uBO scriptlets through anonymous embedded context.

To ensure that a target method in the embedded context is using the
corresponding parent context's method (which is assumed to be
properly patched), or to replace the embedded context with that of the
parent context.

Root issue:
https://issues.chromium.org/issues/40202434

@param methodPath
The method which calls must be intercepted. The arguments
of the intercepted calls are assumed to be HTMLElement, anything else will
be ignored.

@param selector (optional)
A plain CSS selector which will be used in a `document.querySelector()`
call, to validate that the returned element must be processed by the
scriptlet. If no selector is provided, all elements will be processed.

@param targetMethod (optional)
The method in the embedded context which should be delegated to the
parent context. If no method is specified, the embedded context becomes
the parent one, i.e. all  properties of the embedded context will be that
of the parent context.
2024-10-04 12:24:35 -04:00
Raymond Hill
5133991f7e Fix spurious error in content script
No guarantee vAPI.bootstrap will still be present when callback
executes.
2024-10-04 08:57:10 -04:00
Ilya (Marshal)
9f4123a4e2 Fix AdGuard Knowledge Base URLs 2024-10-04 11:27:24 +02:00
Raymond Hill
8196b99e9d Make Firefox dev build auto-update 2024-10-03 13:51:14 -04:00
Raymond Hill
89a1fd5b0e New revision for dev build 2024-10-03 13:42:24 -04:00
Raymond Hill
f3bc426a57 Update changelog 2024-10-03 13:42:03 -04:00
Raymond Hill
fe49ced2ac Imrpove prevent-xhr scriptlet; add trusted-prevent-xhr scriptlet
Add support for synchronous `send()` calls.

`trusted-prevent-xhr` is essentially the same as `prevent-xhr` except
that if the `directive` argument is not a known token, it will be
used as is as the response text of the xhr request, whereas `prevent-xhr`
returns an empty string when the directive is unknown.
2024-10-03 13:31:52 -04:00
Raymond Hill
bcb31db176 Update changelog 2024-10-02 15:11:26 -04:00
Raymond Hill
b25d2153af Make Firefox dev build auto-update 2024-10-02 15:05:42 -04:00
Raymond Hill
ce8cc4793c Update changelog 2024-10-02 14:58:39 -04:00
Raymond Hill
99593f82f4 New revision for dev build 2024-10-02 14:58:31 -04:00
Raymond Hill
4305bfbdb1 Skip dns resolution when requests are proxied through http
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3396

Reference:
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/proxy/ProxyInfo#type_2
2024-10-02 14:51:26 -04:00
Raymond Hill
73ce4e6bcf Blocking large media elements also prevents autoplay, regardless of size
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3394

When the "No large media elements" per-site switch is toggled on,
it will also act to prevent autoplay of video/audio media, regardless
of their size. This also works for xhr-based media streaming.

If blocking by size is not desirable while blocking autoplay is
desired, one can toggle on "No large media elements" switch while
setting "Block media elements larger than ..." to a very high value.
2024-10-02 13:39:36 -04:00
Raymond Hill
0b02c7ccb6 Import translation work from https://crowdin.com/project/ublock 2024-10-01 12:27:56 -04:00
Raymond Hill
6cac645830 Do not discard !#else block for unknown preprocessor tokens
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3393
2024-09-30 10:16:48 -04:00
Raymond Hill
3d6984aeaf Import translation work from https://crowdin.com/project/ublock 2024-09-29 17:06:51 -04:00
Raymond Hill
63cf3dc959 Make Firefox dev build auto-update 2024-09-29 12:50:55 -04:00
Raymond Hill
c6baa2fb51 Import translation work from https://crowdin.com/project/ublock 2024-09-29 11:15:04 -04:00
Raymond Hill
7a9481b5a5 New revision for dev build 2024-09-29 10:57:12 -04:00
Raymond Hill
a2f81f19ff Update changelog 2024-09-29 10:56:54 -04:00
Raymond Hill
e81e70937f Add ability to decode base64 in urlskip=
Related case:
https://github.com/uBlockOrigin/uAssets/issues/25467

New step: `-base64`
Purpose: to decode base64-encoded output of previous step
2024-09-29 10:51:56 -04:00
Raymond Hill
7f117e8d21 Import translation work from https://crowdin.com/project/ublock 2024-09-28 14:14:26 -04:00
Raymond Hill
99191d1363 Import translation work from https://crowdin.com/project/ublock 2024-09-28 14:12:13 -04:00
Raymond Hill
560def639f [mv3] Add a _chat_ icon in popup panel to report filter issues
Just the same as with uBO, but for uBOL.
2024-09-28 14:08:42 -04:00
Raymond Hill
dcb86e3667 Update README.md 2024-09-27 11:04:42 -04:00
Raymond Hill
5425ac2375 Make Firefox dev build auto-update 2024-09-26 13:40:44 -04:00
Raymond Hill
7b585a733a New revision for dev build 2024-09-26 13:32:50 -04:00
Raymond Hill
82ab15f856 Update changelog 2024-09-26 13:32:24 -04:00
Raymond Hill
aec0bd39e3 Fix images not properly downloading on click
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/1670#issuecomment-2372048056

The issue affected images supporting `srcset` attribute without
the presence of `src` attribute. This commit takes add fallback
onto `srcset` attribute when the `src` attribute is not present.
2024-09-26 13:27:06 -04:00
Raymond Hill
03df1a40d8 New version for stable release 2024-09-26 10:13:24 -04:00
Raymond Hill
ff57f01026 Code review of fix re "internal error"
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/199
2024-09-22 12:14:52 -04:00
Raymond Hill
687475ebf2 Make Firefox dev build auto-update 2024-09-22 12:01:33 -04:00
Raymond Hill
854c1ee4cc New revision for release candidate 2024-09-22 11:53:54 -04:00
Raymond Hill
4c5a9353b0 Import translation work from https://crowdin.com/project/ublock 2024-09-22 11:50:20 -04:00
Raymond Hill
bd6d9c3296 Fix benchmark quirk related to new ipaddress option 2024-09-22 11:16:57 -04:00
Raymond Hill
e7c783cefa Code review for new DNS cache code
Prevent discarding DNS cache entries looked up during a passive
read. Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3376#discussioncomment-10711948

Add advanced setting `dnsCacheTTL` to control the TLL (in
seconds) of DNS cache entries. Default to 600 (10 minutes).
2024-09-22 10:02:45 -04:00
Raymond Hill
1c97ca10fc Minor code review
Use class fields to declare/initialize instance and static
properties.
2024-09-21 12:41:57 -04:00
Raymond Hill
f84b3e4ce9 Revert "Minor code review"
This reverts commit 76e035989f.
2024-09-20 17:52:31 -04:00
Raymond Hill
76e035989f Minor code review 2024-09-20 11:40:03 -04:00
Raymond Hill
37da838255 Make Firefox dev build auto-update 2024-09-20 09:26:10 -04:00
Raymond Hill
63f0a2b912 New revision for release candidate 2024-09-20 09:17:10 -04:00
Raymond Hill
055973cc3f Import translation work from https://crowdin.com/project/ublock 2024-09-20 09:16:32 -04:00
Raymond Hill
59487b189c Add +https directive to urlskip= option
When present, the `+https` directive will force the protocol of the
resulting URL to be `https:`.

Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/3206#issuecomment-2363392357
2024-09-20 08:15:31 -04:00
Raymond Hill
4f181b0bc5 Support matching against list of IP addresses
Related commit:
6acf97bf51
2024-09-20 07:20:55 -04:00
Raymond Hill
55ab6d6875 Make Firefox dev build auto-update 2024-09-19 09:06:24 -04:00
Raymond Hill
1139085ca5 Update changelog 2024-09-19 08:56:36 -04:00
Raymond Hill
760b2ffce6 Add advanced setting dnsResolveEnabled
Default to `true`.

Set to `false` to wholly disable calls to `dns.resolve()` (Firefox-
only). Disabling calls to `dns.resolve()` will prevent cname-uncloaking
and will limit ability to enforce `ipaddress` filter option.
2024-09-19 08:43:54 -04:00
Raymond Hill
b01a418073 Add filtering output expressionsreplace/urlskip to logger
Additioanlly, removed `uritransform` as it is currently barely used,
if at all.
2024-09-19 08:08:49 -04:00
Raymond Hill
4ccc0d0fda Minimize memory allocation in scriptlet helper proxy-apply-fn
Probably beneficial in cases of proxied method called in a tight
loop.

Additionally, added `throwFunc` as valid constant in script helper
`validate-constant.fn`. Does what the name implies.
2024-09-19 07:49:54 -04:00
Raymond Hill
e98fdeb0a5 Mind urlskip= in built-in benchmark 2024-09-18 12:24:04 -04:00
Raymond Hill
7843a21428 Make Firefox dev build auto-update 2024-09-18 11:56:22 -04:00
Raymond Hill
60039ab133 New revision for release candidate 2024-09-18 11:37:06 -04:00
Raymond Hill
b06c5337ec Update changelog 2024-09-18 11:36:39 -04:00
Raymond Hill
0a6dc47a72 Fix contextual menu quirks
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3382
2024-09-18 11:33:31 -04:00
Raymond Hill
b3ffba7238 Fine tune indent rules 2024-09-18 11:32:16 -04:00
Raymond Hill
11c3a16036 Fix exception thrown in spoof-css in Firefox
Related feedback:
https://github.com/uBlockOrigin/uAssets/issues/25358#issuecomment-2358278979
2024-09-18 10:34:18 -04:00
Raymond Hill
62d74d4f1d Add trailing wildcard syntax to ipaddress= option
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3381
2024-09-18 09:56:46 -04:00
Raymond Hill
f0f859c685 Make Firefox dev build auto-update 2024-09-17 18:16:11 -04:00
Raymond Hill
4094f43daf New revision for release candidate 2024-09-17 18:10:32 -04:00
Raymond Hill
fe3846b72f Oops meant to be 5s, not 300s... 2024-09-17 18:10:09 -04:00
Raymond Hill
11f43d4a3d Make Firefox dev build auto-update 2024-09-17 18:00:42 -04:00
Raymond Hill
3238fe48db Import translation work from https://crowdin.com/project/ublock 2024-09-17 17:48:45 -04:00
Raymond Hill
2375ca3ca0 Update changelog 2024-09-17 17:36:12 -04:00
Raymond Hill
00d4262c0d New revision for release candidate 2024-09-17 17:35:22 -04:00
Raymond Hill
e8f6f3ddff Throttle down repeated scriptlet logging information
Related feedback
https://github.com/uBlockOrigin/uBlock-issues/issues/3378#issuecomment-2356422784
2024-09-17 17:33:06 -04:00
Raymond Hill
acffae6a21 Make Firefox dev build auto-update 2024-09-17 10:36:08 -04:00
Raymond Hill
58c13bacb7 new revision for release candidate 2024-09-17 10:28:54 -04:00
Raymond Hill
6a042f152b Ignore browser-provided 0.0.0.0 ip address when DNS is proxied
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3379
2024-09-17 10:26:40 -04:00
Raymond Hill
d238baa374 Make Firefox dev build auto-update 2024-09-17 09:35:36 -04:00
Raymond Hill
7fb626850e New revision for release candidate 2024-09-17 09:28:31 -04:00
Raymond Hill
9155a89c08 Update changelog 2024-09-17 09:28:02 -04:00
Raymond Hill
547fae4842 Improve scriptlet helper proxy-apply
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3378
2024-09-17 09:09:19 -04:00
Raymond Hill
ef1e134460 Import translation work from https://crowdin.com/project/ublock 2024-09-15 13:27:32 -04:00
Raymond Hill
b62aabda85 Import translation work from https://crowdin.com/project/ublock 2024-09-15 13:25:58 -04:00
Raymond Hill
e18a3707c7 Add an entry in _Report_ page for badware/phishing category
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3151

Entry:
"Add an entry in the reporting tool for badware issues"
2024-09-15 13:20:47 -04:00
Raymond Hill
a9d8e96675 Update changelog 2024-09-15 10:38:52 -04:00
Raymond Hill
5fda425059 Make Firefox dev build auto-update 2024-09-15 09:51:42 -04:00
Raymond Hill
096b4d9e81 New revision for dev build 2024-09-15 09:46:06 -04:00
Raymond Hill
b79fe942e1 Update changelog 2024-09-15 09:45:33 -04:00
Raymond Hill
266ec4894b New static network filter option urlskip=
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3206

The main purpose is to bypass URLs designed to track whether a user
visited a specific URL, typically used in click-tracking links.

The `urlskip=` option ...

- ... is valid only when used in a trusted filter list
- ... is enforced only on top documents
- ... is enforced on both blocked and non-blocked documents
- ... is a modifier, i.e. it cannot be used along with other
      modifier options in a single filter

The syntax is `urlskip=[steps]`, where steps is a space-separated
list of extraction directives detailing what action to perform on
the current URL.

The only supported directive in this first commit is `?name`,
which purpose is to extract the value of a named URL parameter
and use the result as the new URL. Example:

  ||example.com/path/to/tracker$urlskip=?url

The above filter will cause navigation to

  https://example.com/path/to/tracker?url=https://example.org/

to automatically bypass navigation to `example.com` and navigate
directly to

  https://example.org/

It is possible to recursively extract URL parameters by using
more than one directive, example:

  ||example.com/path/to/tracker$urlskip=?url ?to

More extraction capabilities may be added in the future.
2024-09-15 09:17:19 -04:00
Raymond Hill
4b285c0593 Dynamically load DNR conversion module on-demand
DNR conversion module is a dev tool, no point loading it by
default. This was done this way because in a distant past uBO
had to be compatible with browsers not supporting dynamically
loaded modules.

Currently all supported browser versions support dynamically
loaded modules.
2024-09-14 12:13:47 -04:00
Raymond Hill
c265e849e0 Fetch and cache cname of collated hostnames in page store
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3376
2024-09-14 11:50:10 -04:00
Raymond Hill
f936dfa648 Fix potential failure to unregister scriptlet
In Firefox-specific contentScripts API used to register
scriptlets. This could potentially occurs when there are
registrations pending during a reload of filter lists.
2024-09-14 09:32:37 -04:00
Raymond Hill
41d49921c8 Minor code review 2024-09-14 09:20:54 -04:00
Raymond Hill
f9ab4b7504 Make Firefox dev build auto-update 2024-09-14 00:15:41 -04:00
Raymond Hill
42700a6f76 New revision for dev build 2024-09-14 00:12:00 -04:00
Raymond Hill
5e6f78a902 Fix regression re. mp4 filter option
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3375
2024-09-14 00:10:34 -04:00
Raymond Hill
93042eced4 Use dummy dns API when it's not present 2024-09-13 11:20:37 -04:00
Raymond Hill
d1db02b04c Make Firefox dev build auto-update 2024-09-13 10:11:27 -04:00
Raymond Hill
63e5611877 New revision for dev build 2024-09-13 10:04:13 -04:00
Raymond Hill
73ee3ffe92 Code review of DNS-related code
Related commit:
6acf97bf51
2024-09-13 10:00:41 -04:00
Raymond Hill
8fadfb2c5e Import translation work from https://crowdin.com/project/ublock 2024-09-12 15:40:24 -04:00
Raymond Hill
671b0c540c Make Firefox dev build auto-update 2024-09-12 12:06:26 -04:00
Raymond Hill
9b967eccc8 New revision for dev build 2024-09-12 11:42:03 -04:00
Raymond Hill
71f07b18ae Update changelog 2024-09-12 11:41:26 -04:00
Raymond Hill
6acf97bf51 Rewrite cname uncloaking code to account for new ipaddress= option
This commit makes the DNS resolution code better suited for both
filtering on cname and ip address. The change allows early availability
of ip address so that `ipaddress=` option can be matched at
onBeforeRequest time.

As a result, it is now possible to block root document using
`ipaddress=` option -- so long as an ip address can be extracted
before first onBeforeRequest() call.

Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2792

Caveat
------

the ip address used is the first one among the list of ip
addresses returned by dns.resolve() method. There is no way for uBO
to know which exact ip address will be used by the browser when
sending the request, so this is at most a best guess. The exact IP
address used by the browser is available at onHeadersReceived time,
and uBO will also filter according to this value, but by then the
network request has already been sent to the remote server.

Possibly a future improvement would make available the whole list
of ip addresses to the filtering engine, but even then it's impossible
to know with certainty which ip address will ultimately be used by the
browser -- it is entirely possible that the ip address used by the
browser might not be in the list received through dns.resolve().
2024-09-12 11:19:57 -04:00
Raymond Hill
44b6519db1 Make Firefox dev build auto-update 2024-09-11 10:41:19 -04:00
Raymond Hill
0e2f04eb2b New revision for dev build 2024-09-11 10:21:50 -04:00
Raymond Hill
099b9852cd Code review for ipaddress= filter option
If an IP address can be extracted from the hostname portion of
a URL, the IP address matching will be performed at onBeforeRequest()
time.

Regardless, IP address matching will subsequently always be performed
at onHeadersReceived() time as the request details at that point
contain a reliable IP address value on supported platforms (Firefox-
only as of now).

The `cap_ipaddress` now evaluates to `true` in Chromium-based
browsers. Even though these browsers are unable to provide reliable
IP address value at onHeadersReceived() time, they can still
perform IP address matching for IP address extracted from hostname
portion of a URL.
2024-09-11 09:56:44 -04:00
Raymond Hill
c19497db33 Update changelog 2024-09-10 15:13:28 -04:00
Raymond Hill
d5f14ffa32 Avoid using dns.resolve() for proxied DNS resolution
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/1743
2024-09-10 14:58:40 -04:00
Raymond Hill
09ccfc8cfb Make Firefox dev build auto-update 2024-09-10 12:11:03 -04:00
Raymond Hill
0ae02788b2 New revision for dev build 2024-09-10 11:56:13 -04:00
Raymond Hill
185580d23f Update changelog 2024-09-10 11:55:53 -04:00
Raymond Hill
401d2e8ea9 [mv3] Mind unsupported header=/ipaddress options in DNR API
Properly report unsupported `header=` and `ipaddress=` option in
log file.

`header=` support may become possible soon with Chromium 128
introducing blocking according to response headers content.
2024-09-10 11:50:09 -04:00
Raymond Hill
030d7334e4 Add support for lan/loopback values to ipaddress= option
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/1070
2024-09-10 11:11:11 -04:00
Raymond Hill
839857dd4b Make Firefox dev build auto-update 2024-09-09 11:15:41 -04:00
Raymond Hill
faf1b15f8d New revision for dev build 2024-09-09 10:55:57 -04:00
Raymond Hill
52dee35325 Properly reflect whether ipaddress= is supported 2024-09-09 10:54:47 -04:00
Raymond Hill
41c96690a5 Make Firefox dev build auto-update 2024-09-09 10:06:34 -04:00
Raymond Hill
7732df1dbd New revision for dev build 2024-09-09 09:51:45 -04:00
Raymond Hill
2cb2ee8446 Update changelog 2024-09-09 09:51:24 -04:00
Raymond Hill
c6dedd253f New static network filter option ipaddress=
The purpose is to block according to the ip address of a network
request. In the current implementation, the filter option can only
be enforced at onHeadersReceived time.

The new filter option cannot be enforced in Chromium-based browsers
since the ip address of network requests is available only at
onResponseStarted time, which is not blocking.

The value assigned to `ipaddress` can either be a plain string which
must match exactly a given ip address, or a regex which will be
matched against the ip address.

The `ipaddress` option can only be enforced when the extension
framework does provide a valid ip address in a onHeadersReceived
listener. For instance, cached resources do not have a valid ip
address and thus can't be a match to `ipaddress` option.

Example:

  *$script,ipaddress=93.184.215.14
2024-09-09 09:35:23 -04:00
Raymond Hill
20115697e5 Add ability to quote static network option values
For the sake of convenience for filter list maintainers, this commit
add ability to quote static network option values, so as to avoid the
need to escape commas when parser ambiguity arises.

The quotes can be `"`, `'`, or backticks.

Example, the following filter requires escaping commas:

  example.com$xhr,replace=/"loremIpsum.*?([A-Z]"\}|"\}{2\,4})\}\]\,//,1p

Can be now rewritten with no need to escape when using quotes:

  example.com$xhr,replace='/"loremIpsum.*?([A-Z]"\}|"\}{2,4})\}\],//',1p
2024-09-08 10:01:13 -04:00
Raymond Hill
1b464f75cc Fix spurious browser error at the console 2024-09-07 16:47:43 -04:00
Raymond Hill
bec5d53ce0 [mv3] Attempt at mitigation for when "internal error" occurs
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/199
2024-09-06 09:31:17 -04:00
Raymond Hill
08e5bffc76 Make Firefox dev build auto-update 2024-09-05 15:01:24 -04:00
Raymond Hill
8981d3e7fe New revision for dev build 2024-09-05 14:52:19 -04:00
Raymond Hill
901b4ad061 Import changes from https://github.com/gorhill/uBlock/pull/3924 2024-09-05 14:51:47 -04:00
Imre Eilertsen
8631b955bf Maintenance for the Serbo-Croatian Filters section (#3924)
* Maintenance for the Serbo-Croatian Filters section

* Implemented the request to move to contentURLs

I sure I hope I understood the request correctly, or things would get slightly awkward for me.
2024-09-05 14:49:32 -04:00
Raymond Hill
60a009c530 Further improve prevent-fetch scriptlet 2024-09-05 11:17:36 -04:00
Raymond Hill
1dc09b6217 Make Firefox dev build auto-update 2024-09-04 11:56:02 -04:00
Raymond Hill
ae9acbf521 New revision for dev build 2024-09-04 11:37:35 -04:00
Raymond Hill
f4a75ccd80 Update changelog 2024-09-04 11:37:14 -04:00
Raymond Hill
e8202af11d Improve prevent-fetch scriptlet
- Add support for negated matches
- Log caller's arguments when verbose logging is enabled
2024-09-04 11:32:26 -04:00
Raymond Hill
89f02098fd Apply CSP/PP injections to object resources
Related feedback:
https://old.reddit.com/r/uBlockOrigin/comments/1f84tc5/
2024-09-04 11:28:45 -04:00
Raymond Hill
22fb9c4d63 Make Firefox dev build auto-update 2024-09-03 12:01:04 -04:00
Raymond Hill
08ed4b4ed8 New revision for dev build 2024-09-03 11:19:13 -04:00
Raymond Hill
6e426aeac3 Update changelog 2024-09-03 11:18:52 -04:00
Raymond Hill
c8307f58a3 Improve xml-prune scriptlet
Related feedback:
https://github.com/uBlockOrigin/uAssets/issues/25164#issuecomment-2326358453
2024-09-03 11:15:16 -04:00
Raymond Hill
91125d29cf Add support for application/dash+xml in replace= option
Related feedback:
https://github.com/uBlockOrigin/uAssets/issues/25164#issuecomment-2326358453
2024-09-03 10:14:15 -04:00
Raymond Hill
856dc419b5 Make Firefox dev build auto-update 2024-09-02 19:55:53 -04:00
Raymond Hill
4310732b98 New revision for dev build 2024-09-02 19:49:49 -04:00
Raymond Hill
969d3cb40b Update changelog 2024-09-02 19:49:31 -04:00
Raymond Hill
b7ed3b45ed Add ability to directly evaluate static network filtering engine
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3362

There used to be a way to test URL against the network filtering engine,
but this was removed in a distant past during refactoring.

The ability has been brought back through uBO's own developer tools,
accessible through the _More_ button in the _Support_ pane in the
dashboard.

To query the static network filtering engine, enter the following
in the text editor:

snfe?url-to-test [type] [url-of-context]

`snfe?` is a prompt indicating the intent to query the static network
filtering engine.

At a minimum there must be a URL to test.

Optionally the type of the resource to match, default to `xhr` if
none specified. Also optionally, the context from within which the
request is made. Example:

Enter:
snfe?https://www.google-analytics.com/analytics.js

Result:
url: https://www.google-analytics.com/analytics.js
blocked: ||google-analytics.com^

Enter:
snfe?https://www.google-analytics.com/analytics.js script

Result:
url: https://www.google-analytics.com/analytics.js
type: script
blocked: ||google-analytics.com^
modified: ||google-analytics.com/analytics.js$script,redirect-rule=google-analytics_analytics.js:5

Enter:
snfe?https://example.com/

Result:
url: https://example.com/
not blocked

Enter:
snfe?https://example.com/ ping

Result:
url: https://example.com/
type: ping
blocked: *$ping,3p
2024-09-02 19:32:56 -04:00
Raymond Hill
eef99e9db6 Make Firefox dev build auto-update 2024-08-31 13:11:29 -04:00
Raymond Hill
73e0cc7163 New revision for dev build 2024-08-31 12:48:12 -04:00
Raymond Hill
17183f7de5 Update changelog 2024-08-31 12:47:38 -04:00
Raymond Hill
f552f655cb Fix prevent-window-open for when logger is open
Related discussion:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/906
2024-08-31 12:36:20 -04:00
Raymond Hill
66cf6f0a14 Make Firefox dev build auto-update 2024-08-30 10:56:51 -04:00
Raymond Hill
11e0f08c9a New revision for dev build 2024-08-30 10:28:59 -04:00
Raymond Hill
63166ca882 Update changelog 2024-08-30 10:28:23 -04:00
Raymond Hill
7f11d6216e Improve prevent-window-open scriptlet
As discussed with filter list maintainers.
2024-08-30 10:25:39 -04:00
Raymond Hill
ae5dc6299e Improve validate-constant scriptlet helper
Add support for `json:`-prefixed values.
2024-08-29 13:47:48 -04:00
Raymond Hill
b1f28b4ce0 Make Firefox dev build auto-update 2024-08-27 13:01:04 -04:00
Raymond Hill
d24bf002e2 New revision for dev build 2024-08-27 12:54:35 -04:00
Raymond Hill
1e14a2176b Update changelog 2024-08-27 12:54:19 -04:00
Raymond Hill
0dcb985601 Improve trusted-replace-outbound-text scriptlet
When the replacement starts with `json:`, it will be first
decoded using JSON.parse(). Example:

example.com##+js(trusted-replace-outbound-text, somefn, json:"ok")

The doublequotes are required since this is what JSON.parse()
expects as a valid JSON string.
2024-08-27 12:49:35 -04:00
Raymond Hill
f5f042a6f0 Make Firefox dev build auto-update 2024-08-26 14:50:41 -04:00
Raymond Hill
f306479f5a New revision for dev build 2024-08-26 14:30:45 -04:00
Raymond Hill
bada70af83 Update changelog 2024-08-26 14:30:27 -04:00
Raymond Hill
3a249f395c Improve prevent-xhr scriptlet
As per filter list maintainers feedback.
2024-08-26 14:28:53 -04:00
Raymond Hill
26b2ab8bb5 Make Firefox dev build auto-update 2024-08-24 12:36:21 -04:00
Raymond Hill
6991d9fdd7 New revision for dev build 2024-08-24 12:14:27 -04:00
Raymond Hill
794e6ca0b5 Update changelog 2024-08-24 12:14:07 -04:00
Raymond Hill
59a9a43a83 Add noop resources for redirect purpose
Related discussion:
https://github.com/uBlockOrigin/uAssets/issues/25014#issuecomment-2307982886
2024-08-24 12:11:35 -04:00
Raymond Hill
0a048eb64e Address eslint warnings 2024-08-22 12:36:31 -04:00
Raymond Hill
3360d3e3e1 [mv3] Remove unused file 2024-08-21 11:52:39 -04:00
Raymond Hill
09fef54959 [mv3] Ensure redirect has priority overblock
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/187#issuecomment-2301450418
2024-08-21 10:56:18 -04:00
Raymond Hill
520f81fcca [mv3] Fix injection of scriptlets into embedded contexts 2024-08-20 08:18:03 -04:00
Raymond Hill
24756e8340 Update changelog 2024-08-19 17:56:54 -04:00
Raymond Hill
378be82dec Make Firefox dev build auto-update 2024-08-19 15:15:45 -04:00
Raymond Hill
40c3d4bcca New revision for dev build 2024-08-19 15:01:37 -04:00
Raymond Hill
5f14716954 Update changelog 2024-08-19 15:01:18 -04:00
Raymond Hill
79e10323ad Use helper function to lookup safe cookie values
This helper function is now used by `set-cookie` and
`set-local-storage-item` scriptlets, so changes in the
helper function will benefit both scriptlets.
2024-08-19 14:56:15 -04:00
Fanboynz
3e2171f550 Add checked/unchecked to set-cookie (#3923) 2024-08-19 14:40:33 -04:00
Raymond Hill
34047daa06 Import translation work from https://crowdin.com/project/ublock 2024-08-19 12:02:00 -04:00
Fanboynz
41c2258f91 Add allowed/denied to set-local-storage (#3922) 2024-08-18 09:14:44 -04:00
Raymond Hill
5287f6e029 Code review of scriptlet helper 2024-08-18 09:12:54 -04:00
Raymond Hill
2c60b331e3 Make Firefox dev build auto-update 2024-08-17 12:50:45 -04:00
Raymond Hill
a6cc75109d New revision for dev build 2024-08-17 12:32:51 -04:00
Raymond Hill
cb452bc21c Update changelog 2024-08-17 12:32:31 -04:00
Raymond Hill
6891037758 [mv3] Fix exception filters not overriding redirect filters
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/185
2024-08-17 11:00:42 -04:00
Raymond Hill
e73eb23c90 [mv3] Don't filter out tabless requests in "logger" 2024-08-17 10:42:17 -04:00
Raymond Hill
1cb660b94e Fix plain exceptions not overriding block filters using header= option
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3347
2024-08-17 10:11:18 -04:00
Raymond Hill
8de454ccca Make Firefox dev build auto-update 2024-08-16 12:11:18 -04:00
Raymond Hill
4520a8e611 New revision for dev build 2024-08-16 11:56:20 -04:00
Raymond Hill
cf5e781c91 Update changelog 2024-08-16 11:55:53 -04:00
Raymond Hill
56dfdd2568 Improve various scriptlets
Specifically, improve proxying of native methods.
2024-08-16 11:49:16 -04:00
Raymond Hill
9ced01ebf7 Add publish script for stable version on Chromium 2024-08-12 14:24:10 -04:00
Raymond Hill
415f9b8743 Make Firefox dev build auto-update 2024-08-12 14:20:54 -04:00
Raymond Hill
0ec2c1f54c New revision for dev build 2024-08-12 14:12:55 -04:00
Raymond Hill
f919218e27 Update changelog 2024-08-12 14:11:49 -04:00
Raymond Hill
db3dc69bcc Improve href-sanitizer sciptlet
Tolerate unexpected spaces in extracted URL parameters.

Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/3297#issuecomment-2283806183
2024-08-12 13:45:46 -04:00
Raymond Hill
1822d1503f Import translation work from https://crowdin.com/project/ublock 2024-08-12 10:54:11 -04:00
Raymond Hill
665648ba97 [mv3] Re-word some text for accuracy 2024-08-07 10:03:03 -04:00
Raymond Hill
f0dd466f99 Make Firefox dev build auto-update 2024-08-06 16:55:50 -04:00
Raymond Hill
fa285f0e97 New revision for dev build 2024-08-06 16:50:33 -04:00
Raymond Hill
4697f18d0e Update changelog 2024-08-06 16:50:07 -04:00
Raymond Hill
277977aa8a [mv3] Remove useless arguments 2024-08-06 15:00:59 -04:00
Raymond Hill
ae6b53479d [mv3] Minor change to debug output 2024-08-06 14:55:30 -04:00
Raymond Hill
fb037e97d0 [mv3] Improve remove-attr.js scriptlet
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/166
2024-08-06 14:47:03 -04:00
Raymond Hill
417dab538c [mv3] Fix generating allowAllRequests rule when default mode is no-filtering 2024-08-04 11:59:16 -04:00
Raymond Hill
3668445679 Use random trusted-types policy name
Related commit:
4f0d1301ab
2024-08-04 00:15:40 -04:00
Raymond Hill
fea92ac110 Make Firefox dev build auto-update 2024-08-03 20:21:23 -04:00
Raymond Hill
a577d5ff50 New revision for dev build 2024-08-03 20:12:19 -04:00
Raymond Hill
de0a35e7cc Update changelog 2024-08-03 20:11:51 -04:00
Raymond Hill
4f0d1301ab Improve trusted-replace-node-text scriptlet
Related discussion:
https://github.com/brave/adblock-resources/pull/194
2024-08-03 20:09:21 -04:00
Raymond Hill
d42329a3a3 Rephrase more accurately
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/160
2024-08-03 12:03:56 -04:00
Raymond Hill
23a113715d Update README.md 2024-08-02 11:20:34 -04:00
Raymond Hill
2d41dc89e5 Update README.md 2024-08-02 11:12:39 -04:00
Raymond Hill
cc50accd4c Update README.md 2024-08-02 10:58:03 -04:00
Raymond Hill
9562b19a93 Fall back to "Basic" when removing all-urls from "No filtering"
Related discussion:
https://github.com/uBlockOrigin/uBOL-home/issues/156#issuecomment-2254576670
2024-08-01 11:24:42 -04:00
Raymond Hill
0cc8b7864f Ignore transient py stuff 2024-08-01 10:37:22 -04:00
Raymond Hill
a0de43aba9 Import translation work from https://crowdin.com/project/ublock 2024-07-29 16:05:15 -04:00
Raymond Hill
30e0d01656 New revision for stable release 2024-07-29 15:50:38 -04:00
Raymond Hill
c7b54af0a2 [mv3] Add minimal ability to diagnose ruleset issue
A new icon has been added to the popup panel, to open a popup
window with a terse list of DNR events for the current tab, in
reverse chronological order (most recent DNR event appears at
the top).

The new ability is available only when the extension is sideloaded,
as per `declarativeNetRequestFeedback` documentation. Ref:
https://developer.chrome.com/docs/extensions/reference/api/declarativeNetRequest#event-onRuleMatchedDebug

Purposefully minimal, so as to have something rather than nothing
when having to diagnose filtering issue with the DNR API. Example:
https://github.com/uBlockOrigin/uBOL-home/issues/156

The content of the popup window does not dynamically update, force
a refresh (F5) to get the most recent DNR events. This might be
improved in the future.

The DNR event buffer is not persisted, so the buffer is empty when
service worker is restarted. This might be improved in the future
by using session storage API.

There is no output filtering ability in this first draft. This
might be improved in the future.

DNR rules are reported. The filter from which a DNR rule
originates is not reported. Given that the rulesets are optimized
after conversion from original filter lists to reduce the DNR rule
count, this is unlikely to ever be possible.
2024-07-29 14:54:46 -04:00
Raymond Hill
ec633887dd Improve abort-on-stack-trace scriptlet
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3314
2024-07-28 10:44:17 -04:00
Fanboynz
76246f2c59 Add dismissed to set-cookie (#3921) 2024-07-27 08:26:59 -04:00
Raymond Hill
2dd591c1d7 Update README.md 2024-07-24 12:43:57 -04:00
Raymond Hill
2a675785bc Update README.md 2024-07-24 12:43:00 -04:00
Raymond Hill
ac34aa975b Make Firefox dev build auto-update 2024-07-23 09:40:31 -04:00
Raymond Hill
b7676e8f9f New revision for release candidate 2024-07-23 09:23:31 -04:00
Raymond Hill
45a1d61c87 Update changelog 2024-07-23 09:23:14 -04:00
Raymond Hill
84be9cde6d Improve href-sanitizer scriptlet
Support ability to recursively unwrap destination URL. Example:

    ...##+js(href-sanitizer, a.clickTracker, ?r?u)

Related discussion:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/775#discussioncomment-10120835
2024-07-23 09:21:17 -04:00
Raymond Hill
a54e3c5e39 Make Firefox dev build auto-update 2024-07-22 10:41:52 -04:00
Raymond Hill
5526b035bd New revision for release candidate 2024-07-22 10:32:45 -04:00
Raymond Hill
bf75dc2f90 Code review of trusted-replace-node-text scriptlet 2024-07-22 09:51:40 -04:00
Raymond Hill
ec568b614d Make Firefox dev build auto-update 2024-07-21 08:45:51 -04:00
Raymond Hill
fa2a0a9549 New revision for release candidate 2024-07-21 08:36:10 -04:00
Raymond Hill
14d90418b8 Fix regression in trusted-replace-node-text scriptlet
Related commit:
8afd9e233d
2024-07-21 08:34:18 -04:00
Raymond Hill
f1c45a2800 Make Firefox dev build auto-update 2024-07-20 09:50:55 -04:00
Raymond Hill
c36f7822ef New revision for release candidate 2024-07-20 09:44:22 -04:00
Raymond Hill
62f87b0ea8 Rename parameters as per earlier commit
Related commit:
8afd9e233d
2024-07-20 09:43:08 -04:00
Raymond Hill
db33eb9f41 Make Firefox dev build auto-update 2024-07-20 09:06:03 -04:00
Raymond Hill
86d751b2ec New revision for release candidate 2024-07-20 08:59:16 -04:00
Raymond Hill
b871b00337 Update changelog 2024-07-20 08:58:56 -04:00
Raymond Hill
8afd9e233d Improve trusted-replace-node-text scriptlet
Related discussion:
https://github.com/uBlockOrigin/uAssets/discussions/23769#discussioncomment-10102276
2024-07-20 08:57:11 -04:00
Fanboynz
f2c4328a2e Switch to updated Icelandic ABP List (#3920) 2024-07-19 08:01:38 -04:00
Raymond Hill
152983f031 Make Firefox dev build auto-update 2024-07-18 09:19:15 -04:00
Raymond Hill
59d9bbf0b2 New revision for release candidate 2024-07-17 11:06:48 -04:00
Raymond Hill
b9ab889be5 Update changelog 2024-07-17 11:06:31 -04:00
Raymond Hill
77feb25c4d Improve set-constant scriptlet
Related feedback:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/881#discussioncomment-10072370
2024-07-17 09:36:55 -04:00
Raymond Hill
fd054176a8 Make Firefox dev build auto-update 2024-07-15 16:05:30 -04:00
Raymond Hill
68e81f640c New revision for release candidate 2024-07-14 17:44:52 -04:00
Raymond Hill
9ce3056361 Improve prevent-fetch scriptlet
Add `statusText` as overridable property in response instance.

Supported values are: `""`, `"Not Found"`. `statusText` defaults
to `"OK"` when not overridden.
2024-07-14 12:15:53 -04:00
Raymond Hill
324102cb65 Make Firefox dev build auto-update 2024-07-13 11:16:01 -04:00
Raymond Hill
302ddad720 New revision for release candidate 2024-07-13 11:10:16 -04:00
Raymond Hill
b9717555c3 Update changelog 2024-07-13 11:09:53 -04:00
Raymond Hill
e785b99338 Improve prevent-fetch scriptlet
Related discussion:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/848#discussioncomment-10027757

Added support for AdGuard's `responseType` parameter. Extended the
meaning of that 3rd parameter to also be a JSON string with
properties to set on the returned response instance. Currently
supported properties:

- `ok`, supported values: `false`, `true`
- `type, supported values: `"basic"`, `"cors"`, `"opaque"`

Reference:
https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#-%EF%B8%8F-prevent-fetch
2024-07-13 11:02:54 -04:00
Raymond Hill
a54d416143 Make Firefox dev build auto-update 2024-07-11 11:55:39 -04:00
Raymond Hill
23b0e08715 New revision for release candidate 2024-07-11 11:04:34 -04:00
Raymond Hill
7fbf792ba0 Update changelog 2024-07-11 11:04:07 -04:00
Raymond Hill
66e3a1ad47 Improve href-sanitizer scriptlet
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3297

Mind that the sanitized URL can have Unicode characters beyond
ASCII.
2024-07-10 12:43:36 -04:00
Raymond Hill
569c8cbe04 Make Firefox dev build auto-update 2024-07-10 11:50:30 -04:00
Raymond Hill
dea9e77e27 New revision for release candidate 2024-07-10 11:46:00 -04:00
Raymond Hill
60a7812d7e Update changelog 2024-07-10 11:45:25 -04:00
Raymond Hill
c90f4933df Fix CSP/PP header injection in non-document resources
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/229#issuecomment-2220354261
https://old.reddit.com/r/uBlockOrigin/comments/1dz6du7/

Regression from:
https://github.com/gorhill/uBlock/commit/7c3e060c01
2024-07-10 11:41:55 -04:00
Raymond Hill
9c1252ef9c Make Firefox dev build auto-update 2024-07-10 10:35:31 -04:00
Raymond Hill
282f4f5ef4 New revision for release candidate 2024-07-10 10:28:29 -04:00
Raymond Hill
6fb697b490 Update changelog 2024-07-10 10:16:17 -04:00
Raymond Hill
b98ef8141a Fix CSP injection in non-document resources
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/229#issuecomment-2220354261
https://old.reddit.com/r/uBlockOrigin/comments/1dz6du7/

Regression from:
https://github.com/gorhill/uBlock/commit/7c3e060c01
2024-07-10 10:09:59 -04:00
Raymond Hill
e3b71a5861 Make Firefox dev build auto-update 2024-07-09 13:25:30 -04:00
Raymond Hill
462a4e0304 New revision for release candidate 2024-07-09 13:16:54 -04:00
Raymond Hill
2bdbac1b84 Import translation work from https://crowdin.com/project/ublock 2024-07-09 13:16:17 -04:00
Raymond Hill
25f8c03fde Update changelog 2024-07-09 13:06:31 -04:00
Raymond Hill
97d11c03c2 Add trusted-suppress-native-method scriptlet
Reference:
https://github.com/AdguardTeam/Scriptlets/blob/5a92d79489/wiki/about-trusted-scriptlets.md#trusted-suppress-native-method

This is a first draft version, see code comments for details.
2024-07-09 13:03:50 -04:00
Raymond Hill
a3576ea651 Add support for $currentISODate$ in trusted-set-cookie scriptlet
Related discussion:
https://github.com/uBlockOrigin/uAssets/discussions/20789#discussioncomment-9979107
2024-07-07 11:19:40 -04:00
Fanboynz
37d31a82d8 Add essential and nonessential to set-cookie (#3919) 2024-07-07 09:25:34 -04:00
Raymond Hill
966a233219 Make Firefox dev build auto-update 2024-07-05 10:41:17 -04:00
Raymond Hill
7343035a17 New revision for dev build 2024-07-05 10:34:26 -04:00
Raymond Hill
efc16c7069 Update changelog 2024-07-05 10:34:02 -04:00
Raymond Hill
9569969b55 Fix distance calculation in picker
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3279
2024-07-05 10:20:33 -04:00
Raymond Hill
8c5918dec7 Prevent resizing of title bar in popup menu
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3284
2024-07-05 10:11:27 -04:00
Raymond Hill
1d7feb83a2 [firefox] Add entry for 128px icon
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3285
2024-07-05 10:01:28 -04:00
Raymond Hill
c154aaa69c Fix bad serialization of Date objects
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3283
2024-06-28 13:40:19 -04:00
Raymond Hill
57ed293760 [mv3] Fix bad test re. managed storage 2024-06-28 13:39:38 -04:00
Raymond Hill
896737d098 Fix race condition when loading redirect/scriptlet resources
Related feedback:
https://github.com/uBlockOrigin/uAssets/issues/23806#issuecomment-2190491767
2024-06-26 11:00:50 -04:00
Raymond Hill
6b349ca0ef Make Firefox dev build auto-update 2024-06-25 10:05:54 -04:00
Raymond Hill
8447fc5d17 New revision for dev build 2024-06-25 09:59:07 -04:00
Raymond Hill
8eb3b19c69 Improve logging in prevent-addEventListener scriptlet
Related feedback:
https://github.com/uBlockOrigin/uAssets/discussions/17907#discussioncomment-9871079
2024-06-25 09:08:46 -04:00
Raymond Hill
88065d0091 [mv3] Bring procdural cosmetic filtering code up to date with uBO 2024-06-22 11:09:57 -04:00
Raymond Hill
5c69159b36 [mv3] Inject procedural cosmetic filtering script earlier
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/139
2024-06-22 11:06:19 -04:00
Raymond Hill
5dd59889b9 Make Firefox dev build auto-update 2024-06-20 21:06:09 -04:00
Raymond Hill
533c5c7c73 New revision for dev build 2024-06-20 20:59:21 -04:00
Raymond Hill
3aaff8604d Merge branch 'scripthunter' 2024-06-20 09:35:24 -04:00
Raymond Hill
47b985a056 Fix :matches-prop() operator when no value provided 2024-06-20 09:21:43 -04:00
scripthunter7
83aee4a516 Update subscription URL for hufilter 2024-06-20 10:48:09 +02:00
Raymond Hill
aaceabeba1 Make Firefox dev build auto-update 2024-06-19 19:31:19 -04:00
Raymond Hill
459060f564 New revision for dev build 2024-06-19 19:22:28 -04:00
Raymond Hill
ad3bdba7c9 Update changelog 2024-06-19 19:22:04 -04:00
Raymond Hill
aca7674bac Add :matches-prop() pseudo CSS operator
`subject:matches-prop(arg)`

Description: Allows to select an element by a property name (or chain of
properties), and optionally the property value.

Chainable: Yes.

`subject`: Can be a plain CSS selector, or a procedural cosmetic filter.

`arg`: A declaration in the form `chain=value`, where `chain` is a dot-
  separated string for the target property, and `value` is the optional
  property value to match. `value` can be literal text or literal regular
  expression. When no `value` is declared, the operator only tests for
  the presence of the target property

Example:

  example.org##div:matches-prop(imanad)
  example.org##img:matches-prop(naturalWidth=160)
2024-06-19 19:06:53 -04:00
Raymond Hill
7be7e0b870 Make Firefox dev build auto-update 2024-06-19 10:16:19 -04:00
Raymond Hill
cc860a67f8 New revision for dev build 2024-06-19 08:52:07 -04:00
Raymond Hill
297167755f Update changelog 2024-06-19 08:51:46 -04:00
Raymond Hill
b4d8750f44 Improve set-cookie scriptlet
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/3178#issuecomment-2178502856
2024-06-19 08:48:54 -04:00
Raymond Hill
8e3eaf1cc8 Make Firefox dev build auto-update 2024-06-18 10:15:54 -04:00
Raymond Hill
1df4ea4506 New revision for dev build 2024-06-18 10:11:03 -04:00
Raymond Hill
58a9838e41 Update changelog 2024-06-18 10:10:45 -04:00
Raymond Hill
cb0f65e035 Improve trusted-replace-node-text scriptlet
Related discussion:
https://github.com/uBlockOrigin/uAssets/discussions/24143
2024-06-18 10:03:54 -04:00
Fanboynz
bdb99862ce Add hide and hidden to set-cookie (#3918) 2024-06-14 14:32:11 -04:00
Raymond Hill
62fdd8b4a4 Make Firefox dev build auto-update 2024-06-13 09:45:44 -04:00
Raymond Hill
f499cd2742 New revision for dev build 2024-06-13 09:39:31 -04:00
Raymond Hill
4611752f71 Update changelog 2024-06-13 09:39:07 -04:00
Raymond Hill
9072772f61 Improve trusted-replace-[fetch|xhr]-response scriptlets
Related discussion:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/831#discussioncomment-9750621
2024-06-13 09:32:30 -04:00
Raymond Hill
441cf7c2b8 Make Firefox dev build auto-update 2024-06-11 15:40:47 -04:00
Raymond Hill
b5819a29e9 New revision for dev build 2024-06-11 15:36:36 -04:00
Raymond Hill
3e35ea6414 Update changelog 2024-06-11 15:36:16 -04:00
Raymond Hill
b24793bc02 Import translation work from Crowdin 2024-06-11 07:47:26 -04:00
Raymond Hill
91ee5bdeae Improve prevent-addEventListener scriptlet
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3061#issuecomment-2159662039
2024-06-11 07:44:43 -04:00
Raymond Hill
79c2eec802 Make Firefox dev build auto-update 2024-06-07 09:05:45 -04:00
Raymond Hill
f10a17a6dc New revision for dev build 2024-06-07 08:55:03 -04:00
Raymond Hill
59b158217b Update changelog 2024-06-07 08:54:35 -04:00
Raymond Hill
d5208ee5dd Add isodate as available placeholder for auto-comment
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3265
2024-06-07 08:52:30 -04:00
Raymond Hill
6075dbb131 Make Firefox dev build auto-update 2024-06-05 08:50:42 -04:00
Raymond Hill
9ffba93712 New revision for dev build 2024-06-05 08:42:38 -04:00
Raymond Hill
b8619929bd Update changelog 2024-06-05 08:42:22 -04:00
Raymond Hill
fa6740a059 Improve trusted-replace-outbound-text scriptlet
As per filter list maintainers feedback.
2024-06-05 08:40:02 -04:00
Raymond Hill
cc417a0cd4 Fix transition to AdGuard Dutch from EasyDutch
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3250

Related commit:
f1f63c940b
2024-06-03 10:46:08 -04:00
Raymond Hill
10918d3b11 Make Firefox dev build auto-update 2024-06-01 11:00:55 -04:00
Raymond Hill
f2555024a5 New revision for dev build 2024-06-01 10:53:45 -04:00
Raymond Hill
43c4c70e64 Update changelog 2024-06-01 10:53:18 -04:00
Raymond Hill
8f81833efc Classify generic cosmetic filters with comma as highly generic
Related discussion:
https://old.reddit.com/r/uBlockOrigin/comments/1d3ezoy/
2024-06-01 10:46:18 -04:00
Raymond Hill
82a3992896 Raise max buffer size for response body filtering
Related discussion:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/891
2024-06-01 10:42:14 -04:00
Raymond Hill
ad77938f24 [mv3] Raise minimum chromium version to 118
This allows to drop the special handling of `isUrlFilterCaseSensitive`
for chromium-based browsers.
2024-05-29 09:57:09 -04:00
Raymond Hill
044b7face1 Make Firefox dev build auto-update 2024-05-29 07:56:08 -04:00
Raymond Hill
3c3eef9246 New revision for dev build 2024-05-29 07:50:18 -04:00
Raymond Hill
f444e3f22c Update changelog 2024-05-29 07:49:57 -04:00
Raymond Hill
98977971db [mv3] Improve generic cosmetic filtering surveyor 2024-05-28 22:08:24 -04:00
Raymond Hill
8ea1bac80b Trim end of class tokens in generic cosmetic filtering's surveyor
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3257
2024-05-28 18:42:06 -04:00
Raymond Hill
ce7806e3f1 Make Firefox dev build auto-update 2024-05-28 09:30:44 -04:00
Raymond Hill
96df6539f9 New revision for dev build 2024-05-28 09:21:17 -04:00
Raymond Hill
3cebe53ee2 Update changelog 2024-05-28 09:20:46 -04:00
Raymond Hill
0e1e4b82c5 Improve trusted-set-cookie scriptlet
Replace placehoders instead of direct assignement

Related feedback:
https://github.com/uBlockOrigin/uAssets/pull/23877#issuecomment-2134417389
2024-05-28 09:18:09 -04:00
Raymond Hill
d8a77f38ce New revision for stable release 2024-05-21 08:40:16 -04:00
Raymond Hill
70737da2af Fine tune eslint 2024-05-20 14:00:36 -04:00
Raymond Hill
f1b2a367b2 Make Firefox dev build auto-update 2024-05-16 09:46:18 -04:00
Raymond Hill
406bbd4668 Update changelog 2024-05-16 09:31:24 -04:00
Raymond Hill
1ffb1db701 New revision for release candidate 2024-05-16 09:30:07 -04:00
Raymond Hill
59ffc96e89 Fallback to requestAnimationFrame when requestIdleCallback is not available
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3237
2024-05-16 09:29:12 -04:00
Fanboynz
7f0b2f4a5e Add Approved/disapproved (#3917) 2024-05-14 21:51:27 -04:00
Raymond Hill
e03f1a6955 Make Firefox dev build auto-update 2024-05-14 12:20:47 -04:00
Raymond Hill
a4989039c9 New revision for release candidate 2024-05-14 12:14:10 -04:00
Raymond Hill
c1b3b39c52 Update changelog 2024-05-14 12:13:45 -04:00
Raymond Hill
3e7eca364b Make logger console filter expression case-insensitive 2024-05-14 11:58:53 -04:00
Raymond Hill
ee67cd6284 Improve trusted-click-element scriptlet
Use `openOrClosedShadowRoot` to lookup shadow root.

Related issue:
https://github.com/AdguardTeam/AdguardFilters/issues/178995
2024-05-14 11:37:19 -04:00
Raymond Hill
e738eaa447 Import translation work from https://crowdin.com/project/ublock 2024-05-12 15:51:46 -04:00
Raymond Hill
ca7d2ad61d Replace EasyDutch with AdGuard Dutch
Related discussion:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/380#discussioncomment-9402570
2024-05-12 10:19:37 -04:00
Raymond Hill
f1f63c940b Replace EasyDutch with AdGuard Dutch
Related discussion:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/380#discussioncomment-9402570
2024-05-12 10:17:54 -04:00
Raymond Hill
19e568b6b9 Make Firefox dev build auto-update 2024-05-11 19:11:20 -04:00
Raymond Hill
27224c0738 New revision for dev build 2024-05-11 19:06:53 -04:00
Raymond Hill
509dba1441 Fix regression in previous commit
Related feedback:
https://github.com/uBlockOrigin/uAssets/issues/23652#issuecomment-2105555721

Related commit:
2ccc3135c1
2024-05-11 19:05:14 -04:00
Raymond Hill
661c1c6e16 Make Firefox dev build auto-update 2024-05-09 21:35:42 -04:00
Raymond Hill
f2d00dbb8c New revision for dev build 2024-05-09 21:31:56 -04:00
Raymond Hill
a8cc3759ad Update changelog 2024-05-09 21:31:37 -04:00
Raymond Hill
0e6d607484 Add checksum validation when loading trie buffers in selfie
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3217#issuecomment-2103048654
2024-05-09 21:29:24 -04:00
Raymond Hill
bb479b0a66 Catch exceptions in API calls for the sake of old Chromium versions
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/3217#issuecomment-2103628821
2024-05-09 21:29:24 -04:00
Fanboynz
363ad6795c Add accept/reject to local-storage (#3916) 2024-05-09 20:51:07 -04:00
Raymond Hill
809a57af05 Make Firefox dev build auto-update 2024-05-05 12:01:21 -04:00
Raymond Hill
0987956bce New revision for dev build 2024-05-05 11:51:33 -04:00
Raymond Hill
635e054f93 Update changelog 2024-05-05 11:51:10 -04:00
Raymond Hill
923452b788 Use raw string for regex patterns in python scripts
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3229
2024-05-05 11:47:31 -04:00
Raymond Hill
4d8ee35ef7 Improve noeval-if scriptlet
Related feedback:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/841#discussioncomment-9320245
2024-05-05 11:46:16 -04:00
Raymond Hill
a351852268 Update changelog 2024-05-05 06:59:31 -04:00
Raymond Hill
2ccc3135c1 Improve trusted-set-local-storage-item scriptlet
Related discussion:
df1041c616 (commitcomment-141265533)
2024-05-05 06:54:46 -04:00
Raymond Hill
f0cfc77170 Make Firefox dev build auto-update 2024-05-02 20:46:30 -04:00
Raymond Hill
f98a24b47b New revision for dev build 2024-05-02 20:34:44 -04:00
Raymond Hill
bae2c64cc8 Update changelog 2024-05-02 20:34:20 -04:00
Raymond Hill
c098eb8625 Fix potential corruption when reading serialized data
Corrpution would occur when reading back serialized data which
contained multiple references to same instance of an object.

The issue could manifest when reading cache storage-related
data from the browser storage API, since the serializer is not
used when reading from indexedDB. Private/incognito mode
fall back on using browser storage API as cache storage.

Off the top of my head, I think the following conditions all
together could result in high likelihood of malfunction caused
by improperly deserializing data at launch time:

- Load from a selfie
- Selfie created after uBO ran for a while
- Selfie loaded from browser storage API (not the case by
  default)

Possibly related to reports of uBO malfunctioning:
https://github.com/uBlockOrigin/uBlock-issues/issues/3217#event-12686416838
2024-05-02 20:21:47 -04:00
Raymond Hill
e891465775 Add more console logging for cache storage code 2024-05-02 20:15:46 -04:00
Raymond Hill
1ce845b2dc Update changelog 2024-04-22 06:56:45 -04:00
Raymond Hill
f81003c45e Make Firefox dev build auto-update 2024-04-22 06:36:09 -04:00
Raymond Hill
12451d733a New revision for dev build 2024-04-22 06:25:36 -04:00
Raymond Hill
4c530b732f Adjust element picker visuals
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3220
2024-04-22 06:08:49 -04:00
Raymond Hill
a60a43103c Make Firefox dev build auto-update 2024-04-17 09:33:00 -04:00
Raymond Hill
facd16d3fe New revision for dev build 2024-04-17 09:21:05 -04:00
Raymond Hill
1157e51130 Update changelog 2024-04-17 09:20:38 -04:00
Raymond Hill
91dfcbef2a Improve remove-[attr|class] scriptlets
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3215
2024-04-17 09:17:49 -04:00
Raymond Hill
5de19ace91 Make Firefox dev build auto-update 2024-04-16 11:31:18 -04:00
Raymond Hill
fd08e90070 New revision for dev build 2024-04-16 11:23:59 -04:00
Raymond Hill
f3cf75ec92 Update changelog 2024-04-16 11:23:39 -04:00
Raymond Hill
6152f5269e Improve dashboard layout at high zoom factor
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3211
2024-04-16 11:21:06 -04:00
Raymond Hill
2481e4a130 Make Firefox dev build auto-update 2024-04-13 16:15:48 -04:00
Raymond Hill
bf2c7e729b New revision for dev build 2024-04-13 16:07:49 -04:00
Raymond Hill
539938969d Ensure reading last data written
Related discussion:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/888
2024-04-13 16:03:17 -04:00
Raymond Hill
800eca7b58 Make Firefox dev build auto-update 2024-04-11 18:20:38 -04:00
Raymond Hill
ca518bcf41 New revision for dev build 2024-04-11 18:03:01 -04:00
Raymond Hill
931f44ae16 Improve logging in m3u-prune scriptlet
Related feedback:
https://github.com/uBlockOrigin/uAssets/issues/23042#issuecomment-2050238172
2024-04-11 15:44:07 -04:00
Raymond Hill
6e61a13e40 Open details pane only when clicking non-interactive elements
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3202
2024-04-11 11:12:37 -04:00
Raymond Hill
79543d6c32 Make Firefox dev build auto-update 2024-04-10 11:41:14 -04:00
Raymond Hill
9bca28cea0 New revision for dev build 2024-04-10 11:32:10 -04:00
Raymond Hill
ed694d09f8 Update changelog 2024-04-10 11:31:51 -04:00
Raymond Hill
3b4f02db21 Add a console pane to the logger
The console pane will report logging information reported by
scriptlets.

Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3096#discussioncomment-8748932

Plus other changes.
2024-04-10 11:27:40 -04:00
Raymond Hill
5e7b88cb86 Update changelog 2024-04-10 10:30:47 -04:00
Raymond Hill
c0b56cffab Improve suggested candidate filters in element picker
Additionally, fix eslint warnings.
2024-04-10 10:28:11 -04:00
Raymond Hill
89fa666bc4 Improve set-cookie.fn scriptlet
As per browser behavior, space character does not require encoding.
2024-04-10 08:25:24 -04:00
Raymond Hill
581c2824d0 Minor code review 2024-04-09 20:05:53 -04:00
Raymond Hill
e3247cb48c Fine tune eslint behavior 2024-04-09 20:05:40 -04:00
Raymond Hill
277e90a4a7 Improve spoof-css scriptlet 2024-04-09 20:05:05 -04:00
Raymond Hill
a5f6c35bb0 Fix bad date computation in auto-comment feature
Related feedback:
https://old.reddit.com/r/uBlockOrigin/comments/1bxz6oi/
2024-04-09 12:15:03 -04:00
Raymond Hill
846c6462c3 Make Firefox dev build auto-update 2024-04-08 21:00:47 -04:00
Raymond Hill
8c0ca68529 New revision for dev build 2024-04-08 20:53:31 -04:00
Raymond Hill
db6e9b2ec0 New revision for dev build 2024-04-08 20:53:03 -04:00
Raymond Hill
c13fbac549 Update changelog 2024-04-08 20:52:02 -04:00
Raymond Hill
c223a8cd39 Fix regression breaking import of file:// lists
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3199
2024-04-08 20:48:58 -04:00
Raymond Hill
d4a99a98f4 Update changelog 2024-04-08 08:24:21 -04:00
Raymond Hill
e7951c2114 Import translation work from https://crowdin.com/project/ublock 2024-04-08 08:23:48 -04:00
Raymond Hill
e61f093fa0 Make Firefox dev build auto-update 2024-04-07 18:31:08 -04:00
Raymond Hill
7e8beca971 New revision for dev build 2024-04-07 18:24:00 -04:00
Raymond Hill
defd68ef7d Fix stray lists in redesigned cache storage
Related issue:
https://old.reddit.com/r/uBlockOrigin/comments/1bxzwf9/

These stray filter lists prevents uBO from properly updating
those filter lists.
2024-04-07 18:21:37 -04:00
Raymond Hill
98a600698e Remove letsblock.it as target for subscribe.js content script
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3194
2024-04-03 10:51:39 -04:00
Raymond Hill
4533f0e37e Fix eslint warnings 2024-04-03 10:22:57 -04:00
Raymond Hill
8dc0e885b5 Make Firefox dev build auto-update 2024-04-02 11:10:50 -04:00
Raymond Hill
80315a53ec New revision for dev build 2024-04-02 11:06:15 -04:00
Raymond Hill
c6e99f8490 Improve trusted-replace-outbound-text scriptlet
Add vararg `condition, [pattern]`.
2024-04-02 11:04:27 -04:00
Raymond Hill
f9408415a5 Add missing alarms permissions in Thunderbird manifest
Possibly related:
https://old.reddit.com/r/uBlockOrigin/comments/1bquaw8/ublock_origin_157_announcement_thread_please/kxktycl/
2024-04-01 14:50:06 -04:00
Raymond Hill
21f81145bc Make Firefox dev build auto-update 2024-04-01 11:35:58 -04:00
Raymond Hill
5045810a9d Update changelog 2024-04-01 11:30:54 -04:00
Raymond Hill
a2fa36386f New revision for dev build 2024-04-01 11:30:10 -04:00
Raymond Hill
21e1ee30ee Add trusted-replace-outbound-text scriptlet
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3157

Paremeters:
- `pattern`: a string or regex to match in the outbound text. If
  not provided or empty, the scriptlet will only log the outbound
  text without modifying it.
- `replacement`: the replacement string for the matched part.
2024-04-01 11:27:19 -04:00
Raymond Hill
6876fa46cc Update changelog 2024-04-01 09:19:10 -04:00
Raymond Hill
8e0cf1765c Make Firefox dev build auto-update 2024-04-01 08:51:03 -04:00
Raymond Hill
7ca3855395 Import translation work from https://crowdin.com/project/ublock 2024-04-01 08:33:56 -04:00
Raymond Hill
49ff7cffb1 Improve [trusted-]set-cookie scriptlets
As per RFC 6265 the characters ", should be encoded but apparently
browsers don't care. Remove them from the set of characters which
presence trigger encoding.

Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/3178#issuecomment-2029622321
2024-04-01 08:23:10 -04:00
Raymond Hill
08aa3ebe10 Fix eslint warnings 2024-03-31 13:35:11 -04:00
Raymond Hill
152e9c9a95 New revision for dev build 2024-03-30 13:24:40 -04:00
Raymond Hill
d2ea9c1b2f Fix eslint warnings 2024-03-30 13:24:27 -04:00
Raymond Hill
0579d14d52 Update changelog 2024-03-29 10:36:25 -04:00
Raymond Hill
7d321c0a11 Spin-off cookie notices/social widgets lists into own category
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3154
2024-03-29 10:23:07 -04:00
Raymond Hill
b2a927d5ed New revision for stable release 2024-03-29 10:22:27 -04:00
Raymond Hill
08b8b875ca Import translation work from https://crowdin.com/project/ublock 2024-03-29 09:26:56 -04:00
Raymond Hill
d3fe073149 Import translation work from https://crowdin.com/project/ublock 2024-03-28 08:21:46 -04:00
Raymond Hill
108f1556c2 Use hard tabs for assets.json 2024-03-26 13:59:12 -04:00
Raymond Hill
fdb78b63d5 Make Firefox dev build auto-update 2024-03-26 13:25:55 -04:00
Raymond Hill
5307b886d3 New revision for release candidate 2024-03-26 12:48:33 -04:00
Raymond Hill
082d38d9d9 New revision for dev build 2024-03-26 12:48:00 -04:00
Raymond Hill
27e0db1dd2 Import translation work from https://crowdin.com/project/ublock 2024-03-26 12:47:05 -04:00
Raymond Hill
8e5e13cbdc Fine tune allowed tab indents in eslint 2024-03-26 12:45:05 -04:00
Raymond Hill
3919a16bb8 Do not block large media resources when loaded as top-level document
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1201
- https://github.com/uBlockOrigin/uBlock-issues/issues/3184

Top-level media resources are not meant to be blocked, see:
https://github.com/gorhill/uBlock/issues/2813#issuecomment-317177212
2024-03-26 12:44:08 -04:00
Raymond Hill
616c54f475 Make Firefox dev build auto-update 2024-03-23 13:40:50 -04:00
Raymond Hill
4c96acb913 Update changelog 2024-03-23 13:33:57 -04:00
Raymond Hill
c6019e755b Import translation work from https://crowdin.com/project/ublock 2024-03-23 13:33:08 -04:00
Raymond Hill
ce69a45d75 New revision for release candidate 2024-03-23 13:30:59 -04:00
Raymond Hill
90ab1a76ab Properly manage cache storage regarding managed user filters
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3177
2024-03-23 13:28:18 -04:00
Raymond Hill
11a48561e0 Improve [trusted-]set-cookie scriptlets
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/3178
- https://github.com/uBlockOrigin/uBlock-issues/issues/2777
2024-03-23 11:00:45 -04:00
Raymond Hill
b78f0c4fa4 Make Firefox dev build auto-update 2024-03-22 15:35:59 -04:00
Raymond Hill
47ae87724a Import translation work from https://crowdin.com/project/ublock 2024-03-22 14:53:22 -04:00
Raymond Hill
513942c2a4 New revision for release candidate 2024-03-22 14:49:21 -04:00
Raymond Hill
5d60df4b1b Fix bad eslint rule + minor code review
`webext.js` module needs to be explicitly imported.

Added time-based heuristic to decide when a webpage loses
communication with background process.
2024-03-22 14:46:57 -04:00
Raymond Hill
d368747235 Import translation work from https://crowdin.com/project/ublock 2024-03-22 09:49:42 -04:00
Raymond Hill
0a7e2d2ae8 Import translation work from https://crowdin.com/project/ublock 2024-03-21 13:59:06 -04:00
Raymond Hill
764a1772ba [mv3] Add option to disable toolbar icon badge
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/119
2024-03-21 13:57:50 -04:00
Raymond Hill
62965cd34f Import translation work from https://crowdin.com/project/ublock 2024-03-21 13:55:53 -04:00
Raymond Hill
fbfbae7c74 Make Firefox dev build auto-update 2024-03-20 16:20:46 -04:00
Raymond Hill
630cca4b8e New revision for release candidate 2024-03-20 16:14:24 -04:00
Raymond Hill
9fd80cf6dd Improve spoof-css scriptlet 2024-03-20 09:31:17 -04:00
Raymond Hill
466126704c Make Firefox dev build auto-update 2024-03-19 12:06:16 -04:00
Raymond Hill
60c7ffb0af New revision for release candidate 2024-03-19 11:56:27 -04:00
Raymond Hill
61e916901b Add concept of "preferred" lists
Preferred lists will be visually listed above other lists.
2024-03-19 11:51:03 -04:00
Raymond Hill
7e48a03927 Make syntax errors more visible
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/992#issuecomment-2002586019
2024-03-19 11:39:07 -04:00
Raymond Hill
0cb6170584 Fix various quirks with "My filters" trust-related checkbox
Simplify code to force syntax highlighter and linter to reprocess
the content when toggling trust-related checkbox.

Fix issue with using `mousedown` on searchbar widgets, related
feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/3161#issuecomment-2002112770

Fix issues reported by eslint.
2024-03-19 10:59:15 -04:00
Raymond Hill
58c935aa9e Fine tune eslint
Allow arbitrary indent inside literal array declaration.
2024-03-19 09:55:28 -04:00
Raymond Hill
7c235df611 Make Firefox dev build auto-update 2024-03-18 12:36:05 -04:00
Raymond Hill
7a7f7ee7a9 New revision for release candidate 2024-03-18 12:27:44 -04:00
Raymond Hill
d5aa38aec8 Update changelog 2024-03-18 12:27:20 -04:00
Raymond Hill
950b5ea55e Fine tune eslint
Support no-indentation for file-level if block or
arrow function block.
2024-03-18 11:08:52 -04:00
Raymond Hill
38b325ecce Raise the limit for detection of stale content scripts 2024-03-17 13:03:19 -04:00
Raymond Hill
fc1f0b771a Allow body of file-level if statement to not be indented 2024-03-17 13:03:19 -04:00
Imre Kristoffer Eilertsen
499c80bd8a Fixed Belgian and Nepali flags for Windows Chromium users (#3914)
* Added flagcode matching for Belgium specifically

* Added a transparent Nepal flag
2024-03-17 10:42:20 -04:00
Raymond Hill
36f81be13b Use eslint instead of jshint
Eslint supports newer JS syntax such as static fields in classes,
which is supported by all browsers/version with official uBO
support.

Reference:
https://eslint.org/docs/latest/

Fixing all warnings for all JS files will be done over time.
2024-03-17 09:44:00 -04:00
Raymond Hill
42dfdfea5d Fix regression in visual of document-blocked page
Related commit:
46ea5519c1
2024-03-17 09:40:59 -04:00
Raymond Hill
94de4e266e Fix popup panel when embedded in logger
Regression from commit:
https://github.com/gorhill/uBlock/commit/0d77ccded7

Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/2419#discussioncomment-8759449
2024-03-17 09:36:39 -04:00
Raymond Hill
3f7374c1f1 Mind that tabs.sendMessage can throw 2024-03-17 09:34:05 -04:00
Raymond Hill
9146134874 Improve set-cookie scriptlet
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3016
2024-03-15 12:29:22 -04:00
Raymond Hill
85955368bd Make Firefox dev build auto-update 2024-03-14 17:01:19 -04:00
Raymond Hill
52705c6e6e New revision for dev build 2024-03-14 16:55:24 -04:00
Raymond Hill
ac8abc4eba Update changelog 2024-03-14 16:54:52 -04:00
Raymond Hill
1cb190e102 Append wildcard character only when filter starts & ends with /
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/1088
2024-03-14 13:32:36 -04:00
Raymond Hill
65b6753c69 Simpler to use an extra property than to use a new assets.json 2024-03-14 10:20:25 -04:00
Raymond Hill
8165067b9b Act on default mouse button 2024-03-14 09:14:15 -04:00
Raymond Hill
706c79b226 Make Firefox dev build auto-update 2024-03-13 14:45:44 -04:00
Raymond Hill
3807844b34 New revision for dev build 2024-03-13 14:41:13 -04:00
Raymond Hill
78bffee4ae Update changelog 2024-03-13 14:40:18 -04:00
Raymond Hill
67a653046d Import translation work from https://crowdin.com/project/ublock 2024-03-13 14:39:55 -04:00
Raymond Hill
52b46eb98b Add procedural operator :shadow() -- status is experimental
For internal use by filter list maintainers, do not open issues
about this. Left undocumented on purpose.

This new procedural operator allows to target elements in the
shadow root of an element.

subject:shadow(arg)

- Description: Look-up matching elements inside the shadow root (if
  present) of _subject_.
- Chainable: Yes
- _subject_: Can be a plain or procedural selector.
- _arg_: A plain or a procedural selector for the elements to target
  inside the shadowroot.

Example:

..##body > div:not([class]):shadow(div[style]):has(:shadow([data-i18n^="#ad"]))
2024-03-13 14:28:53 -04:00
Raymond Hill
6f54317bdf Keep search input field visuals consistent
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/3161#issuecomment-1992340127
2024-03-13 10:57:56 -04:00
Raymond Hill
df5a6d1fcc Constant name consistency 2024-03-13 10:03:05 -04:00
Raymond Hill
c8762945d9 Fix failure to create popup logger window sometimes
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2249
2024-03-13 10:01:33 -04:00
Raymond Hill
924d3b3c4c Make Firefox dev build auto-update 2024-03-12 13:36:17 -04:00
Raymond Hill
474fd3d2f3 New revision for dev build 2024-03-12 13:28:16 -04:00
Raymond Hill
747a354548 Update changelog 2024-03-12 13:27:53 -04:00
Raymond Hill
e7a0f8c781 Improve json-prune-related scriptlets
New special properties:
- `[-]`: remove an array entry if part right of `[-]` matches the
  inspected item.
- `{-}`: remove a property if part right of `{-}` mmatches the
  inspected item.

This is useful to remove entries which have unspecified names.
2024-03-12 13:21:16 -04:00
Raymond Hill
664dd95700 Support maximizing editor to viewport size
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/3161#issuecomment-1991066618
2024-03-12 11:25:50 -04:00
Raymond Hill
710d8c6494 Import translation work from https://crowdin.com/project/ublock 2024-03-12 10:08:22 -04:00
Raymond Hill
258a26283d assets.json is not meant to be updated until 1.57 is widespread 2024-03-11 22:24:15 -04:00
Raymond Hill
2c9ab8ee04 Fix the salvaging of rule ids 2024-03-11 22:22:57 -04:00
Raymond Hill
7c14b3963e actions/checkout@v3 => actions/checkout@v4 2024-03-11 19:31:17 -04:00
Raymond Hill
633135745f Need new assets.son file for next release
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3154
2024-03-11 18:41:18 -04:00
Raymond Hill
461810d93c Rename scuo- to s14e- 2024-03-11 15:40:50 -04:00
Raymond Hill
9c35ffe3c7 Make Firefox dev build auto-update 2024-03-11 13:36:30 -04:00
Raymond Hill
0332bf163c Import translation work from https://crowdin.com/project/ublock 2024-03-11 13:29:30 -04:00
Raymond Hill
24fd6f587c New revision for dev build 2024-03-11 13:10:00 -04:00
Raymond Hill
25687f9124 Update changelog 2024-03-11 13:07:58 -04:00
Raymond Hill
0d77ccded7 Add advanced setting to force popup panel orientation
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/discussions/2419#discussioncomment-8746679

Name: `popupPanelOrientation`

Supported values:
- `unset` (default): uBO decides whichever mode is best
- `landscape`: force popup panel to landscape mode
- `portrait`: force popup panel to portrait mode
2024-03-11 13:01:51 -04:00
Raymond Hill
46ea5519c1 Add checkboxes to "My filters" pane
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/3161
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2895#discussioncomment-8504374

Two checkboxes have been added to the "My filters "pane:

1. A checkbox to wholly disable/enable "My filters". This is equivalent
   to the checkbox for "My filters" in "Filter lists" pane.

2. A checkbox to enable/disable the trustworthiness of the content
   of "My filters". Default to untrusted.

Since toggling these checkboxes requires reloading all filter lists,
their new state must be committed through the "Apply changes" button.

Additionally: a "book" icon has been added to the top-right of the
dashboard, which is a link to the wiki according to whichever pane is
currently active.
2024-03-11 11:39:31 -04:00
Raymond Hill
640eaf89d0 Import translation work from https://crowdin.com/project/ublock 2024-03-11 08:38:57 -04:00
Raymond Hill
d5c359d411 Import translation work from https://crowdin.com/project/ublock 2024-03-07 13:09:24 -05:00
Raymond Hill
e1e861704b [mv3] Fix build script 2024-03-07 09:19:16 -05:00
Raymond Hill
8533fa74ee [mv3] Use EasyList lists for "Annoyances" section 2024-03-07 09:14:30 -05:00
Raymond Hill
02966afb8c [mv3] Do not pollute browser console in stable release versions 2024-03-06 12:46:12 -05:00
Raymond Hill
4f6fa840c3 Use 100svh everywhere 100vh is used
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3058
2024-03-06 08:45:49 -05:00
Raymond Hill
7dffaa03d5 Make Firefox dev build auto-update 2024-03-05 12:11:22 -05:00
Raymond Hill
c990e74ee5 New revision for dev build 2024-03-05 11:50:52 -05:00
Raymond Hill
f6e2cb29d5 Update changelog 2024-03-05 11:20:33 -05:00
Raymond Hill
63acdcbdeb Assume UTF-8 when no encoding can be looked up.
This will make HTML filtering and `replace=` filter option less
likely to be bypassed by uBO, as the body response filterer
previously required an encoding to be expressly declared before
acting on the response body.

UTF-8 usage is currently reported as ~98.2%:
https://w3techs.com/technologies/history_overview/character_encoding
2024-03-05 11:11:42 -05:00
Raymond Hill
b95a1e987f Use hard tabs 2024-03-05 09:03:51 -05:00
Raymond Hill
f18d62ee4c Import translation work from https://crowdin.com/project/ublock 2024-03-05 08:11:39 -05:00
Raymond Hill
04fead8d8a Group lists with unknown group to special section
Related issue:
https://old.reddit.com/r/uBlockOrigin/comments/1b6tad0
2024-03-05 08:02:55 -05:00
Raymond Hill
24d94e559d Fix issue with "My filters" pane on mobile
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3058
2024-03-05 08:00:42 -05:00
Raymond Hill
185ff3fd96 Empty target directory instead of re-creating it
For better web-ext compatibility.
2024-03-05 07:59:11 -05:00
Raymond Hill
395fa7197b Reduce TTL of serializer workers 2024-03-05 07:27:02 -05:00
Raymond Hill
238724eed1 Fix looking-up unexisting sections in "Filter lists" pane
Related feedback:
https://old.reddit.com/r/uBlockOrigin/comments/1b6tad0/i_updated_to_the_new_dev_build_1561b10_and_now/
2024-03-04 23:57:47 -05:00
Raymond Hill
3682eed638 Use "small viewport" for max height of dashboard
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3058
2024-03-04 21:52:34 -05:00
Raymond Hill
c7a9bcb7b2 Import translation work from https://crowdin.com/project/ublock 2024-03-04 11:38:55 -05:00
Raymond Hill
041e13304e Make Firefox dev build auto-update 2024-03-03 20:35:57 -05:00
Raymond Hill
0a72745f9c Import translation work from https://crowdin.com/project/ublock 2024-03-03 20:28:07 -05:00
Raymond Hill
e2ed86ff65 New revision for dev build 2024-03-03 20:19:24 -05:00
Raymond Hill
a557f62112 Support aborting "Pick" mode in element picker
This allows a user to go back to the previous selection after
entering interactive "Pick" mode.
2024-03-03 20:08:15 -05:00
Raymond Hill
0f4e50db07 Remove sections with no lists in "Filter lists" pane
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/3154#issuecomment-1975413427
2024-03-03 20:05:45 -05:00
Raymond Hill
ca432fa5d2 Make Firefox dev build auto-update 2024-03-03 15:40:49 -05:00
Raymond Hill
d1ccbdfc7c New revision for dev build 2024-03-03 15:34:28 -05:00
Raymond Hill
0268980233 Update changelog 2024-03-03 15:33:56 -05:00
Raymond Hill
393fb91325 Import translation work from https://crowdin.com/project/ublock 2024-03-03 15:32:37 -05:00
Raymond Hill
8781ffe82a Minor CSS fine-tuning 2024-03-03 15:31:41 -05:00
Raymond Hill
21a76e32a1 Add "Social widgets", "Cookie notices" sections in "Filter lists" pane
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3154
2024-03-03 15:29:38 -05:00
Raymond Hill
aac88ac766 Import translation work from https://crowdin.com/project/ublock 2024-03-03 14:30:30 -05:00
Raymond Hill
270040d466 Fix disabled state of new benchmark buttons 2024-03-03 13:46:29 -05:00
Raymond Hill
43e0e15125 More fine-tuning of element picker visual/behavior
- Group "Pick" and "Preview"
- Set minimal button width
- Auto-minimize when picking instead of fully hiding the dialog:
  this allows to quit while in picking mode
2024-03-03 10:08:56 -05:00
Raymond Hill
7f68c62f23 Remove obsolete built-in trusted directives
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/3101#issuecomment-1974922229
2024-03-02 18:02:43 -05:00
Raymond Hill
41aab2a20e Make Firefox dev build auto-update 2024-03-02 17:11:07 -05:00
Raymond Hill
48e1c8d9a8 New revision for dev build 2024-03-02 17:01:56 -05:00
Raymond Hill
fa3c1f7200 Update changelog 2024-03-02 16:59:51 -05:00
Raymond Hill
6266c4718d Move "Quit" button to top bar in element picker
Additionally:

- Removed auto fade out of dialog when mouse does not hover the
  dialog.
- Added a minimize/maximize button in top bar

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/55
2024-03-02 16:45:03 -05:00
Raymond Hill
a0a6ae0d0c Rename module-scoped classes for better distinction in profiling data 2024-03-02 09:41:12 -05:00
Raymond Hill
7ab7104a54 Clicking again currently inspected row will close the dialog 2024-03-02 09:37:15 -05:00
Raymond Hill
252656968e Benchmark buttons must be disabled by default 2024-03-02 08:58:49 -05:00
Raymond Hill
7a768e7b1a No longer disable generic cosmetic filters by default on mobile
As discussed with filter list maintainers.
2024-03-02 08:52:42 -05:00
Raymond Hill
603239970d Improve spoof-css scriptlet 2024-03-02 08:11:29 -05:00
Raymond Hill
a086ae1f19 Make Firefox dev build auto-update 2024-03-01 20:06:09 -05:00
Raymond Hill
2aef53a117 New revision for dev build 2024-03-01 19:59:14 -05:00
Raymond Hill
ea2d5dde85 Update changelog 2024-03-01 19:58:56 -05:00
Raymond Hill
96704f2fda Make asset updater compatible with non-persistent background page
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2969

Additionally, modified default timing values for asset updater and
selfie creation.
2024-03-01 19:52:55 -05:00
Raymond Hill
80b66c849a Add more benchmark tools to devtool page 2024-03-01 17:26:21 -05:00
Raymond Hill
9215fefab4 Remove Kurdish as target language
No translation work has ever be done to it.
2024-03-01 16:26:14 -05:00
Raymond Hill
953c978d59 Move dragbar to the top of element picker dialog
Also fine-tuning CSS for small screen displays.

Related feedback:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/871
2024-03-01 11:56:22 -05:00
Raymond Hill
7b290e99ab Make Firefox dev build auto-update 2024-02-29 20:35:43 -05:00
Raymond Hill
bc8aba48ab New revision for dev build 2024-02-29 20:31:23 -05:00
Raymond Hill
c2c80be897 Forgot Chromium's alarms API is not promisified... 2024-02-29 20:29:36 -05:00
Raymond Hill
d1fe023281 Make Firefox dev build auto-update 2024-02-29 20:05:38 -05:00
Raymond Hill
a2ad1a67a9 New revision for dev build 2024-02-29 20:00:16 -05:00
Raymond Hill
9b60a68a75 Update changelog 2024-02-29 19:59:39 -05:00
Raymond Hill
e02ea69c86 Add advanced setting requestStatsDisabled
To disable collating global blocked/allowed counts.

Boolean, default to `false`.

Setting to `true` will prevent uBO from loading/saving global
blocked/allowed counts, and in such case the "Blocked since
install" count instead reflects the count since uBO launched.

Setting back to `false` will cause the counts to resume from
last time they were saved.

Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3100
2024-02-29 19:53:06 -05:00
Raymond Hill
e0971fe0ac Make Firefox dev build auto-update 2024-02-29 13:36:16 -05:00
Raymond Hill
70cf53067d New revision for dev build 2024-02-29 13:29:26 -05:00
Raymond Hill
801d6500b0 Fix idbStorage.keys()
Related commit:
https://github.com/gorhill/uBlock/commit/d4efaf020b
2024-02-29 13:28:04 -05:00
Raymond Hill
d8544dc047 Forgot to declarare "alarms" permmission in manifest for Chromium
Related commit:
https://github.com/gorhill/uBlock/commit/059e4e5e28
2024-02-29 13:18:33 -05:00
Raymond Hill
727e71b328 Make Firefox dev build auto-update 2024-02-29 12:05:40 -05:00
Raymond Hill
2a27643874 Update changelog 2024-02-29 11:56:49 -05:00
Raymond Hill
275a1299e1 New revision for dev build 2024-02-29 11:54:51 -05:00
Raymond Hill
059e4e5e28 Imrpove saving request stats for non-persistent background page
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2969

Related previous commit:
https://github.com/gorhill/uBlock/commit/5a338b7210

The save-to-storage period is back to being around ~4 minutes, but
now browser.storage.session API is used to keep track of request
stats should the extension be suspended before the period elapse.
2024-02-29 11:43:51 -05:00
Raymond Hill
09bba3199e Import translation work from https://crowdin.com/project/ublock 2024-02-29 09:48:01 -05:00
Raymond Hill
d7154de9e9 Minor renaming of variables 2024-02-29 09:18:07 -05:00
Raymond Hill
ba95d2bc49 Minor code review of last commit
Related commit:
https://github.com/gorhill/uBlock/commit/2b16a10b82
2024-02-29 08:37:44 -05:00
Raymond Hill
2b16a10b82 First lookup matching stock lists when importing URLs
Related discussion:
https://github.com/MasterKia/PersianBlocker/discussions/224
2024-02-29 07:51:08 -05:00
Raymond Hill
b0067b79d5 Reset filter lists in worker when creating filters via "Block element"
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/968
2024-02-28 18:53:27 -05:00
Raymond Hill
c6706c1983 Make Firefox dev build auto-update 2024-02-28 17:45:38 -05:00
Raymond Hill
a2aa357dac Update changelog 2024-02-28 17:42:38 -05:00
Raymond Hill
0dc8cf6e8a New revision for dev build 2024-02-28 17:39:13 -05:00
Raymond Hill
d4efaf020b Make indexedDB to default fast cache by default
Turns out it's currently the fastest among the three currently
implemented (Cache, browser.storage.session, indexedDB). Possibly
because indexedDB can natively persist structure-cloneable data,
something uBO can now benefit with the work on abstracting away
the limitations of various storages being limited to persist only
text or JSON data.

Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2969
2024-02-28 17:31:29 -05:00
Raymond Hill
9862446b10 Various fine tuning code of recent commits 2024-02-28 13:32:24 -05:00
Raymond Hill
3c299b8632 Remove trusted-source requireement when using badfilter
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3136
2024-02-28 12:14:59 -05:00
Raymond Hill
ad03f7d86a Make Firefox dev build auto-update 2024-02-27 21:56:01 -05:00
Raymond Hill
50271e2ba0 New revision for dev build 2024-02-27 21:47:42 -05:00
Raymond Hill
79ea85dbc4 More fine tuning of cache storage-related code 2024-02-27 21:47:06 -05:00
Raymond Hill
a9211cfa2f Make Firefox dev build auto-update 2024-02-27 18:51:05 -05:00
Raymond Hill
96d45f12d2 New revision for dev build 2024-02-27 18:42:43 -05:00
Raymond Hill
b0fc5d3d21 Fix race condition when saving cache registry
Related to new cache storage code.
2024-02-27 18:41:10 -05:00
Raymond Hill
e8b7037ba8 Make Firefox dev build auto-update 2024-02-27 15:11:11 -05:00
Raymond Hill
ac665ba7cc New revision for dev build 2024-02-27 15:05:25 -05:00
Raymond Hill
7590c0711d Fine-tune cache storage related-code
Related discussion:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/876

Related commit:
086766a924
2024-02-27 15:04:05 -05:00
Raymond Hill
4d88b5121c Fine tune publishing scripts 2024-02-27 07:09:02 -05:00
Raymond Hill
65ab026f25 Make Firefox dev build auto-update 2024-02-26 18:21:19 -05:00
Raymond Hill
30036ad36f New revision for dev build 2024-02-26 18:02:38 -05:00
Raymond Hill
385bc21ef1 Update changelog 2024-02-26 17:57:03 -05:00
Raymond Hill
086766a924 Redesign cache storage
In uBO, the "cache storage" is used to save resources which can
be safely discarded, though at the cost of having to fetch or
recompute them again.

Extension storage (browser.storage.local) is now always used as
cache storage backend. This has always been the default for
Chromium-based browsers.

For Firefox-based browsers, IndexedDB was used as backend for
cache storage, with fallback to extension storage when using
Firefox in private mode by default.

Extension storage is reliable since it works in all contexts,
though it may not be the most performant one.

To speed-up loading of resources from extension storage, uBO will
now make use of Cache API storage, which will mirror content of
key assets saved to extension storage. Typically loading resources
from Cache API is faster than loading the same resources from
the extension storage.

Only resources which must be loaded in memory as fast as possible
will make use of the Cache API storage layered on top of the
extension storage.

Compiled filter lists and memory snapshot of filtering engines
(aka "selfies") will be mirrored to the Cache API storage, since
these must be loaded into memory as fast as possible, and reloading
filter lists from their compiled counterpart is a common
operation.

This new design makes it now seamless to work in permanent private
mode for Firefox-based browsers, since extension storage now
always contains cache-related assets.

Support for IndexedDB is removed for the time being, except to
support migration of cached assets the first time uBO runs with
the new cache storage design.

In order to easily support all choices of storage, a new serializer
has been introduced, which is capable of serializing/deserializing
structure-cloneable data to/from a JS string.

Because of this new serializer, JS data structures can be stored
directly from their native representation, and deserialized
directly to their native representation from uBO's point of view,
since the serialization occurs (if needed) only at the storage
interface level.

This new serializer simplifies many code paths where data
structures such as Set, Map, TypedArray, RegExp, etc. had to be
converted in a disparate manner to be able to persist them to
extension storage.

The new serializer supports workers and LZ4 compression. These
can be configured through advanced settings.

With this new layered design, it's possible to introduce more
storage layers if measured as beneficial (i.e. maybe
browser.storage.session)

References:
- https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage/local
- https://developer.mozilla.org/en-US/docs/Web/API/Cache
- https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm
2024-02-26 16:50:11 -05:00
Raymond Hill
2262a129ec Don't match network filter-derived regexes against non-network URIs
Context: element picker

Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3142
2024-02-26 16:08:12 -05:00
Raymond Hill
f7e00e4223 [mv3] Fix rule id-salvaging task 2024-02-25 20:49:25 -05:00
Raymond Hill
fcc77e7c92 [mv3] Add ability to manually add filters to a ruleset 2024-02-25 20:39:21 -05:00
Raymond Hill
c4d2dcd835 Add ability to clean dist/build/[assets-related folders] 2024-02-25 18:27:07 -05:00
Raymond Hill
439a059cca Remove obsolete trusted directives
All supported browsers now have the concept of priviledged
pages, there is no need for these extra trusted-site directives.

Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3101
2024-02-19 11:06:39 -05:00
Raymond Hill
e527a8f9af Support logging details of calls to json-prune-fetch-response
Example:

    example.com##+js(json-prune-fetch-response)

This will output to the logger details of all fetch() with a
Response.json() call.

Related discussion:
https://github.com/uBlockOrigin/uAssets/discussions/22556
2024-02-19 10:59:12 -05:00
Raymond Hill
fef26e234d Make the "untrusted sources" warning always visible
It won't disappear when vertical space is restricted.
2024-02-18 08:00:34 -05:00
Raymond Hill
9666eeb9cf Do not treat selectors as "common" when char 0x09-0x0D are in attr value 2024-02-17 20:25:41 -05:00
Raymond Hill
0096b74d46 Make Firefox dev build auto-update 2024-02-17 20:06:02 -05:00
Raymond Hill
a7e8485b32 Update changelog 2024-02-17 20:01:42 -05:00
Raymond Hill
e6e01d96a4 New revision for dev build 2024-02-17 19:59:53 -05:00
Raymond Hill
be3e366019 Escape special whitespace characters in attribute values
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3127

Reference:
https://mathiasbynens.be/notes/css-escapes
2024-02-17 19:57:44 -05:00
Raymond Hill
33749d2d3f Use requestIdleCallback() in href-sanitizer scriptlet
Instead of requestAnimationFrame().
2024-02-17 12:53:57 -05:00
Raymond Hill
4af57e3e60 Import translation work from https://crowdin.com/project/ublock 2024-02-17 09:34:41 -05:00
Raymond Hill
557d8075a2 New version for stable release 2024-02-17 09:28:38 -05:00
Raymond Hill
d8fc4b6c68 Make Firefox dev build auto-update 2024-02-15 14:46:13 -05:00
Raymond Hill
f6d68be858 New revision for release candidate 2024-02-15 14:40:25 -05:00
Raymond Hill
0f4078901a Update changelog 2024-02-15 14:39:50 -05:00
Raymond Hill
2a5a444482 Mind that multiple uritransform may apply to a single request
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3125
2024-02-15 14:34:50 -05:00
Raymond Hill
9bff0c2f94 Fix incorrect built-in filtering expression in logger
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3126
2024-02-15 14:03:15 -05:00
Raymond Hill
4832821715 Minor code review 2024-02-15 10:05:10 -05:00
Raymond Hill
84481fcd98 Fix typo in log message 2024-02-15 09:47:15 -05:00
Raymond Hill
7e00046b8e [mv3] Salvage rule ids for all rulesets 2024-02-15 08:02:46 -05:00
Raymond Hill
8d47eac6e6 [mv3] Indent rulesets with fewer rules 2024-02-14 15:48:59 -05:00
Raymond Hill
88d9064a30 Put back proper account id 2024-02-14 15:09:03 -05:00
Raymond Hill
c6eefe3992 Make Firefox dev build auto-update 2024-02-14 15:06:10 -05:00
Raymond Hill
57c387af36 Update changelog 2024-02-14 14:57:56 -05:00
Raymond Hill
a2ced90398 Update changelog 2024-02-14 14:54:13 -05:00
Raymond Hill
bc0248bd07 Merge remote-tracking branch 'origin/master' 2024-02-14 14:51:43 -05:00
Raymond Hill
41511726dc Further improve detection of forbidden report-xxx usage in filters
As per feedback from https://github.com/distinctmondaylila

Related commit:
https://github.com/gorhill/uBlock/commit/db5656f607
2024-02-14 14:48:31 -05:00
Raymond Hill
e8194aecf0 Further improve detection of forbidden report-xxx usage in filters
As per feedback from https://github.com/distinctmondaylila
2024-02-14 14:43:29 -05:00
Raymond Hill
1ef2ea0e93 Update changelog 2024-02-14 14:34:23 -05:00
Raymond Hill
b39dac34b1 New revision for release candidate 2024-02-14 14:33:25 -05:00
Raymond Hill
21ec5a277c Fix improper invalidation of valid uritransform exception filters
Related feedback:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/831#discussioncomment-8461847
2024-02-14 14:30:05 -05:00
Raymond Hill
f2d7413a42 [mv3] Reuse rule ids across release where possible
This is to reduce the diff size of rulesets in new
releases. Beside smaller diff size, this also makes it
easier to investigate rule changes across releases.
2024-02-14 14:27:36 -05:00
Raymond Hill
d6b88d5d6e Make Firefox dev build auto-update 2024-02-14 11:50:43 -05:00
Raymond Hill
65b71f2e19 New revision for release candidate 2024-02-14 11:43:39 -05:00
Raymond Hill
ebb110fb3e Fix logging code in trusted-replace-argument scriptlet
Related feedback:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/859#discussioncomment-8368839
2024-02-14 11:41:58 -05:00
Raymond Hill
e16cedb18d Make Firefox dev build auto-update 2024-02-14 09:11:15 -05:00
Raymond Hill
71eccf94dc Update changelog 2024-02-14 08:46:40 -05:00
Raymond Hill
f2c1e72661 New revision for release candidate 2024-02-14 08:40:09 -05:00
Raymond Hill
50ebfb9932 Mind that attribute names are case-insensitive
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3121
2024-02-14 08:37:01 -05:00
Raymond Hill
b22b3d729b Improve prevent-addEventListener scriptlet
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/3061#issuecomment-1899042062
2024-02-14 08:23:16 -05:00
Raymond Hill
068b625bef In set-attr, restrict on... attributes to empty string only
As per feedback from https://github.com/distinctmondaylilac

Related commit:
https://github.com/gorhill/uBlock/commit/3037ae5f04

Additionally, added logging ability to the scriptlet.
2024-02-13 19:41:25 -05:00
Raymond Hill
68186a9242 Minor code review 2024-02-13 17:52:05 -05:00
Raymond Hill
e2d40cc446 Make Firefox dev build auto-update 2024-02-13 17:00:29 -05:00
Raymond Hill
9e1e19bdf3 New revision for release candidate 2024-02-13 16:49:00 -05:00
Raymond Hill
d80a3e30f8 Minor code review 2024-02-13 16:41:45 -05:00
Fanboynz
397d6d47b9 Fix Chartbeat flicker control div's (#3913) 2024-02-13 16:35:20 -05:00
Raymond Hill
6551cab525 Improve loggger output of prevent-fetch scriptlet
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3115
2024-02-13 16:12:11 -05:00
Raymond Hill
246ae91c79 Make Firefox dev build auto-update 2024-02-13 15:46:21 -05:00
Raymond Hill
a7786a0a32 Import translation work from https://crowdin.com/project/ublock 2024-02-13 15:36:10 -05:00
Raymond Hill
00d90570a3 Update changelog 2024-02-13 15:16:11 -05:00
Raymond Hill
cc1199f4b6 New revision for dev build 2024-02-13 15:13:40 -05:00
Raymond Hill
7b138b58c6 Fix potential exfiltration of browsing history by a rogue list author through permissions=
As with `csp=` option, reporting capabilities need to be taken
into account with `permissions=` option.

Reference:
https://github.com/w3c/webappsec-permissions-policy/blob/main/reporting.md

This commit ensures that `permissions=` option using `report-to` are
marked as invalid.
2024-02-13 15:09:38 -05:00
Raymond Hill
3037ae5f04 Ignore event handler-related attributes in set-attr scriptlet
As suggested by https://github.com/distinctmondaylilac in internal
email to ubo-security:

> As a sidenote, it may be worth considering if `set-attr` should
> be able to set event handler attributes. It could potentially
> be used to copy the contents of e.g. onclick to other event handlers,
> resulting in self-clicking buttons.
2024-02-13 14:59:00 -05:00
Raymond Hill
db5656f607 Fix potential exfiltration of browsing history by a rogue list author through csp=
As reported internally to ubo-security by https://github.com/distinctmondaylila

One issue is a regression from the rewriting of the static filtering
parser in version 1.47.0, specifically the following commit:
https://github.com/gorhill/uBlock/commit/8ea3b0f64c
The existing regex was no longer suitable to properly detect
some usage of `report-xxx` in the rwritten parser.

Another issue which predates 1.47.0 is that the regex used for
validation was case-sensititive, while the `report-uri` directive
can be written using uppercase letters, i.e. `Report-uri`.
2024-02-13 14:35:08 -05:00
Raymond Hill
2705059d7a Make Firefox dev build auto-update 2024-02-02 12:55:48 -05:00
Raymond Hill
ca3bd00d74 New revision for dev build 2024-02-02 12:48:23 -05:00
Raymond Hill
9b40b2150a Fix argument list lookup in trusted-replace-argument scriptlet 2024-02-02 12:46:59 -05:00
Raymond Hill
8c7a33fe90 Make Firefox dev build auto-update 2024-02-02 09:56:17 -05:00
Raymond Hill
4688138d0f New revision for dev build 2024-02-02 09:47:45 -05:00
Raymond Hill
b4da81f8d4 Improve logging information in prevent-window-open scriptlet 2024-02-02 09:36:08 -05:00
Raymond Hill
28e1424058 Fall back to console if log info can't be relayed to logger 2024-02-02 09:24:24 -05:00
Raymond Hill
b0122bb9fc Do not rely on vAPI presence in logger broadcast code
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3096#discussioncomment-8339494
2024-02-02 09:15:09 -05:00
Raymond Hill
605c830312 Review/fix content of assets.json 2024-02-01 18:22:48 -05:00
Raymond Hill
12a9245164 Remove outdated, unused scriptlet
Related commit:
2b2e0fcb14
2024-01-31 11:31:24 -05:00
Raymond Hill
0e8ff10e92 [mv3] Mind service workers for sites in "no filtering" mode
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/114
2024-01-31 09:59:45 -05:00
Raymond Hill
ad88ff213b Make Firefox dev build auto-update 2024-01-30 21:11:07 -05:00
Raymond Hill
46d09c5b7a New revision for dev build 2024-01-30 20:53:35 -05:00
Raymond Hill
1db54c47e1 Fix the logging of all prevent-xhr calls
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3096#discussioncomment-8309729
2024-01-30 20:52:07 -05:00
Raymond Hill
1e614a7b10 Remove duplicate URL
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3099
2024-01-29 09:04:27 -05:00
Raymond Hill
d731ea11e0 Make Firefox dev build auto-update 2024-01-28 19:05:37 -05:00
Raymond Hill
0d1b9a14e2 New revision for dev build 2024-01-28 18:58:30 -05:00
Raymond Hill
7282d953b6 Fix last commit
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3096#discussioncomment-8272470

Related commit:
6cfba082f9
2024-01-28 18:54:37 -05:00
Raymond Hill
0f12d5f344 Make Firefox dev build auto-update 2024-01-28 11:45:31 -05:00
Raymond Hill
2b257d86fc New revision for dev build 2024-01-28 11:31:18 -05:00
Raymond Hill
59d46ecd78 Postprocess selections only from from logger entries
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3097
2024-01-28 11:17:36 -05:00
Raymond Hill
6cfba082f9 Add more output to logger re. scriptlets 2024-01-28 10:58:41 -05:00
Raymond Hill
55879e6014 Add more output to logger re. scriptlets 2024-01-28 10:27:46 -05:00
Raymond Hill
54fba5270f Make Firefox dev build auto-update 2024-01-27 18:36:13 -05:00
Raymond Hill
6173610422 New revision for dev build 2024-01-27 18:25:43 -05:00
Raymond Hill
030072c324 Output more information to dev console when loading filter lists
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/discussions/2993#discussioncomment-8265914
2024-01-27 18:23:04 -05:00
Raymond Hill
6c54731a72 Add remove-cache-storage-item scriptlet
Usage:

...##+js(remove-cache-storage-item, cacheNamePattern[, urlPattern])

`cacheNamePattern`: the name of the cache to target. Plain string
  or regex.

`urlPattern`: the URL of the resource to remove. Plain string
  or regex. If no pattern is provided, the whole cache is removed.

Reference:
https://developer.mozilla.org/en-US/docs/Web/API/CacheStorage
2024-01-27 18:17:28 -05:00
Raymond Hill
fa162e2a31 Fix type
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3096#discussioncomment-8265304
2024-01-27 08:56:00 -05:00
Raymond Hill
cd736b515c Fix bad CSS style 2024-01-27 07:54:37 -05:00
Raymond Hill
7fee16a4bd Minor CSS changes in logger's 'Export' tool 2024-01-27 07:51:05 -05:00
Raymond Hill
9d1d5f9839 Support 'week' unit in ! Expires: directive 2024-01-27 07:36:58 -05:00
Raymond Hill
7cd0ef6ab5 Make Firefox dev build auto-update 2024-01-27 07:30:30 -05:00
Raymond Hill
d1b3f78ba8 New revision for dev build 2024-01-27 07:23:05 -05:00
Raymond Hill
f200bbf5d5 Add trace information to console 2024-01-27 07:22:32 -05:00
Raymond Hill
8be8ac57a7 Bring back ability to log all calls to JSON.parse
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3096
2024-01-27 06:43:36 -05:00
Raymond Hill
0df57e08d2 Make Firefox dev build auto-update 2024-01-26 22:45:41 -05:00
Raymond Hill
efddb727bd New revision for dev build 2024-01-26 22:42:02 -05:00
Raymond Hill
302d2f5670 Fix type
Related issue:
https://github.com/uBlockOrigin/uAssets/pull/22228
2024-01-26 22:38:31 -05:00
Raymond Hill
11dc33eb02 Make Firefox dev build auto-update 2024-01-26 21:11:08 -05:00
Raymond Hill
98ef5f0576 Update changelog 2024-01-26 21:05:42 -05:00
Raymond Hill
f37aa96033 New revision for dev build 2024-01-26 21:03:01 -05:00
Raymond Hill
cb6ff38f86 Fix error when site has only exception scriptlet filters
Cause by recent refactoring of scriptlet-related code.
2024-01-26 20:57:26 -05:00
Raymond Hill
be1f938c17 [mv3] Adjust as per changes in uBO base 2024-01-26 14:51:50 -05:00
Raymond Hill
120e845a81 Make Firefox dev build auto-update 2024-01-26 13:56:28 -05:00
Raymond Hill
f941043fc9 New revision for dev build 2024-01-26 13:53:00 -05:00
Raymond Hill
94ec65b7db Fix regression in response body filtering 2024-01-26 13:52:17 -05:00
Raymond Hill
6148d450ac Make Firefox dev build auto-update 2024-01-26 13:11:18 -05:00
Raymond Hill
5ece451cbd New revision for dev build 2024-01-26 13:01:41 -05:00
Raymond Hill
34da372d7a Ensure scriptlet logging information make it to destination
Avoid race conditions between isolated world-side broadcast channel
and main-side broadcast channel, so as to not lose logging
information if the isolated world-side is not yet ready to
receive through its broadcast channel.

Additionally, added new scriptlet: `trusted-replace-argument`.

[...]##+js(trusted-replace-argument, fn, argpos, argval [,condition, pattern])

Where:

- `fn` is the function we want to proxy through an `apply` handler.
  This can also be a class, in which case the scriptlet will proxy
  through `construct` handler. At the moment, `fn` must exist at the
  time the scriptlet executes.

- `argpos` is the 0-based position of the argument we want to change

- `argval` is the value we want to have for the argument -- the value
  is interpreted the same way the value for `set-constant` is
  interpreted.

- `condition, pattern` is a vararg which tells the scriptlet to act
  only if `pattern` is found in the argument to overwrite.

Example of usage:

    alliptvlinks.com##+js(trusted-replace-argument, MutationObserver, 0, noopFunc)
2024-01-26 12:18:30 -05:00
Raymond Hill
55e4cee6e8 Discard repeating adjacent entries in the logger 2024-01-26 09:24:10 -05:00
Raymond Hill
c1af7a7e0d Make Firefox dev build auto-update 2024-01-26 06:55:46 -05:00
Raymond Hill
f65109233f New revision for dev build 2024-01-26 06:47:27 -05:00
Raymond Hill
567508f619 Fix regression in looking up scriptlets for entity
Related feedback:
https://www.reddit.com/r/uBlockOrigin/comments/19fihsu/
2024-01-26 06:46:21 -05:00
Raymond Hill
663df76e8a Make Firefox dev build auto-update 2024-01-25 13:41:24 -05:00
Raymond Hill
e9c417d77e New revision for dev build 2024-01-25 13:32:01 -05:00
Raymond Hill
49a6dc868f Fix verbose mode not applying to newly injected scriptlets
Related commit:
869a653fdf
2024-01-25 13:30:41 -05:00
Raymond Hill
aa56fe1224 Make Firefox dev build auto-update 2024-01-25 13:06:07 -05:00
Raymond Hill
022a7ddf0e New revision for dev build 2024-01-25 12:51:13 -05:00
Raymond Hill
4dd9bcf956 Update changelog 2024-01-25 12:50:45 -05:00
Raymond Hill
c11db790ff Import translation work from https://crowdin.com/project/ublock 2024-01-25 12:49:32 -05:00
Raymond Hill
feb05f7e83 Add default tooltip until i18n-ed 2024-01-25 12:43:31 -05:00
Raymond Hill
869a653fdf Output scriptlet logging information to the logger
This commit brings the following changes to the logger:

All logging output generated by injected scriptlets are now sent to
the logger, the developer console will no longer be used to log
scriptlet logging information.

When the logger is not opened, the scriplets will not output any
logging information.

The goal with this new approach is to allow filter authors to
more easily assess the working of scriptlets without having to
go through scriptlet parameters to enable logging.

Consequently all the previous ways to tell scriptlets to log
information are now obsolete: if the logger is opened, the
scriptlets will log information to the logger.

Another benefit of this approach is that the dev tools do not
need to be open to obtain scriptlets logging information.

Accordingly, new filter expressions have been added to the logger:
"info" and "error". Selecting the "scriptlet" expression will also
keep the logging information from scriptlets.

A new button has been added to the logger (not yet i18n-ed): a
"volume" icon, which allows to enable verbose mode. When verbose
mode is enabled, the scriptlets may choose to output more
information regarding their inner working.

The entries in the logger will automatically expand on mouse hover.
This allows to scroll through entries which text does not fit into
a single row.

Clicking anywhere on an entry in the logger will open the detailed
view when applicable.

Generic information/errors will now be rendered regardless of which
tab is currently selected in the logger (similar to how tabless
entries are already being rendered).
2024-01-25 12:20:38 -05:00
Raymond Hill
f1889b02ee [mv3] Fix conversion of :xpath procedural filters
Procedural filters with `:xpath` operator were silently rejected
at conversion time because the parser was failing to evaluate the
xpath expression due to the absence of a `document` object in
nodejs.

If `document` object is not present, the parser will assume the
xpath expression is valid.
2024-01-22 10:57:48 -05:00
Raymond Hill
46e19e4f7f Update changelog 2024-01-21 14:46:59 -05:00
Raymond Hill
2e12d14259 Make Firefox dev build auto-update 2024-01-21 14:40:28 -05:00
Raymond Hill
3d576603c4 [mv3] uritransform cannot be converted to DNR 2024-01-21 14:32:14 -05:00
Raymond Hill
ec3f029b18 New revision for dev build 2024-01-21 14:30:44 -05:00
Raymond Hill
49dd68ef3d Code review recent commit re. quoting parameters
Related commit:
fa3a290ad4
2024-01-21 09:26:17 -05:00
Raymond Hill
77dc3339ac Make Firefox dev build auto-update 2024-01-20 22:00:49 -05:00
Raymond Hill
e3e01e32e7 New revision for dev build 2024-01-20 21:55:02 -05:00
Raymond Hill
967ec33b6a Update changelog 2024-01-20 21:54:35 -05:00
Raymond Hill
fa3a290ad4 Fix decompiling of scriptlet parameters
Scriptlets parameters which are quoted must be re-quoted when
output to the logger to be sure they can be properly looked up
in the list, and that they can be used through copy-paste
operations.
2024-01-20 21:46:12 -05:00
Raymond Hill
12b9efe74b Make Firefox dev build auto-update 2024-01-20 10:55:42 -05:00
Raymond Hill
b88fa360a7 New revision for dev build 2024-01-20 10:41:03 -05:00
Raymond Hill
2657cc0413 Update changelog 2024-01-20 10:39:21 -05:00
Raymond Hill
45e62c939f Add support for extraMatch in trusted-click-element scriptlet
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/20744#issuecomment-1900710708

Reference documentation:
https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-trusted-scriptlets.md#-%EF%B8%8F-trusted-click-element

Except that in uBO's implementation, if a regex is given as value
to match, it will be tested against an assembled "key=value"
string.
2024-01-20 10:33:36 -05:00
Raymond Hill
728799dab9 Make Firefox dev build auto-update 2024-01-19 11:41:28 -05:00
Raymond Hill
3160fa5825 New revision for dev build 2024-01-19 11:28:48 -05:00
Raymond Hill
6fc4dd31e7 Update changelog 2024-01-19 11:28:22 -05:00
Raymond Hill
f624c835c2 Remove minimum height constraint from "My filters" pane
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3058
2024-01-19 11:26:01 -05:00
Raymond Hill
13dcd844a7 Unregister all scriptlets when disabling uBO on a specific site
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3083

This will not completely eliminate the issue but it should
lower the likelihood it will occur -- so at least uBO can
still benefit from reliable scriptlet execution in Firefox.
2024-01-19 11:00:07 -05:00
Raymond Hill
5e9a7c60db Make Firefox dev build auto-update 2024-01-18 12:15:33 -05:00
Raymond Hill
ed761041fc New revision for dev build 2024-01-18 12:06:28 -05:00
Raymond Hill
b549cf3892 Update changelog 2024-01-18 12:06:02 -05:00
Raymond Hill
b19094339f Allow uritransform to process the hash part of a URL
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3084
2024-01-18 11:36:40 -05:00
Raymond Hill
c9ceb561fc Make Firefox dev build auto-update 2024-01-17 10:55:31 -05:00
Raymond Hill
f4f6b5d864 Import translation work from https://crowdin.com/project/ublock 2024-01-17 10:44:41 -05:00
Raymond Hill
c9b1a802ec New revision for dev build 2024-01-17 10:40:33 -05:00
Raymond Hill
3bc2f55146 Update changelog 2024-01-17 10:40:10 -05:00
Raymond Hill
3d1b100646 Remember presentation state of "My rules" pane
Related feedback:
https://old.reddit.com/r/uBlockOrigin/comments/198ohgi/
2024-01-17 10:36:23 -05:00
Raymond Hill
588468821c Add support for differential updates to Swedish list
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3079
2024-01-17 08:13:58 -05:00
Raymond Hill
cfd5b95361 Make Firefox dev build auto-update 2024-01-16 10:15:45 -05:00
Raymond Hill
c1d5e34fc8 Update changelog 2024-01-16 10:07:47 -05:00
Raymond Hill
0e00010b91 Fix improperly assembled !#include sublists
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3077
2024-01-16 10:04:21 -05:00
Raymond Hill
757b8be9cd Mark procedural filters with pseudo-elements selector as invalid
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2786
2024-01-16 09:25:22 -05:00
Raymond Hill
101cef44d2 Import translation work from https://crowdin.com/project/ublock 2024-01-16 08:49:52 -05:00
Raymond Hill
5e26e7474a New revision for dev build 2024-01-16 08:43:06 -05:00
Raymond Hill
249186452e Update changelog 2024-01-16 08:36:51 -05:00
Raymond Hill
bc641fc024 Prevent access to picker when "My filters" is not enabled
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3076
2024-01-16 08:31:46 -05:00
Raymond Hill
a15c3564ef Make Firefox dev build auto-update 2024-01-14 13:40:54 -05:00
Raymond Hill
7719e7665a New revision for dev build 2024-01-14 13:30:53 -05:00
Raymond Hill
3e6333d02b Further fine tune visual as per feedback
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3066#issuecomment-1891023881
2024-01-14 13:29:58 -05:00
Raymond Hill
975e3819a9 Make Firefox dev build auto-update 2024-01-14 13:05:58 -05:00
Raymond Hill
8db074b780 New revision for dev build 2024-01-14 12:59:48 -05:00
Raymond Hill
44faf7bd69 Update changelog 2024-01-14 12:59:02 -05:00
Raymond Hill
c4bb8a0f64 Provide visual feedback when applying changes in "Filter lists" pane
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3066#event-11479409505
2024-01-14 11:25:41 -05:00
Raymond Hill
a605f13e63 Import translation work from https://crowdin.com/project/ublock 2024-01-14 09:58:34 -05:00
Raymond Hill
1cac61a9a4 Empty query parameters must still use =
Related issue:
https://github.com/uBlockOrigin/uAssets/commit/453b544f31
2024-01-14 08:03:03 -05:00
Raymond Hill
edf7897eb5 Make Firefox dev build auto-update 2024-01-12 18:05:42 -05:00
Raymond Hill
89659a06f5 New revision for dev build 2024-01-12 17:50:51 -05:00
Raymond Hill
e15cb4e8d3 Import translation work from https://crowdin.com/project/ublock 2024-01-12 17:50:08 -05:00
Raymond Hill
1c2d21d91e Add missing entries in manifest for new toggle-javascript command
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/692
2024-01-12 17:34:59 -05:00
Raymond Hill
b3b8f45961 Make Firefox dev build auto-update 2024-01-12 12:36:18 -05:00
Raymond Hill
cdf3537b3c New revision for dev build 2024-01-12 12:06:23 -05:00
Raymond Hill
56e7ccd9d6 Update changelog 2024-01-12 12:05:59 -05:00
Raymond Hill
1c1091b83f import translation work from https://crowdin.com/project/ublock 2024-01-12 12:05:03 -05:00
Raymond Hill
936444883f Add support to toggle no-scripting switch with keyboard shortcut
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/692
2024-01-12 12:01:23 -05:00
Raymond Hill
c03c23d962 Import translation work from https://crowdin.com/project/ublock 2024-01-12 12:00:55 -05:00
Raymond Hill
4680cccf10 Make Firefox dev build auto-update 2024-01-11 13:40:34 -05:00
Raymond Hill
c1dab02124 New revision for dev build 2024-01-11 13:34:01 -05:00
Raymond Hill
0ad198ecfc Update changelog 2024-01-11 13:33:43 -05:00
Raymond Hill
63fe18a761 Do not exceed rate-limited calls to handlerBehaviorChanged()
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3063

To prevent spurious performance warnings by chromium-based browsers.
2024-01-11 13:25:19 -05:00
Raymond Hill
ba3a8d58a7 Make Firefox dev build auto-update 2024-01-11 11:55:34 -05:00
Raymond Hill
fc0b9b1d50 New revision for dev build 2024-01-11 11:47:54 -05:00
Raymond Hill
9caaad8fd0 Update changelog 2024-01-11 11:47:09 -05:00
Raymond Hill
534d877e95 Shield some code paths against potentially tampered global properties
Related feedback:
https://github.com/uBlockOrigin/uAssets/issues/21895#issuecomment-1887472623
2024-01-11 11:41:37 -05:00
Raymond Hill
f6b726136c Do not prevent applying changes when lists are updating
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3066
2024-01-11 10:50:18 -05:00
Raymond Hill
bfb4304b1d Make Firefox dev build auto-update 2024-01-10 13:05:26 -05:00
Raymond Hill
010cd3f9e0 Import translation work from https://crowdin.com/project/ublock 2024-01-10 12:59:09 -05:00
Raymond Hill
d5a5ca851c Update changelog 2024-01-10 12:56:13 -05:00
Raymond Hill
dbfbd63871 New revision for dev build 2024-01-10 12:54:14 -05:00
Raymond Hill
060f9d68fc Add elements vararg to prevent-addEventListener scriptlet
If present, `elements` vararg must be a valid CSS selector, which will
be used to apply the scriptlet to only elements matching the
selector.

Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3061

Example of usage:

[...]##+js(aeld, click, return"undefined", elements, a.indirect)
2024-01-10 12:46:23 -05:00
Raymond Hill
a9eb9630cf Do not use tab character as field separator
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2730#issuecomment-1881821674

Character `\x1F` is now used instead.
2024-01-09 14:31:00 -05:00
Raymond Hill
17be8dafc5 Make Firefox dev build auto-update 2024-01-04 11:25:27 -05:00
Raymond Hill
b8a8e70c67 Update changelog 2024-01-04 11:04:47 -05:00
Raymond Hill
36a1e45e5c New revision for dev build 2024-01-04 11:02:17 -05:00
Raymond Hill
4234faafc4 Use arrow function 2024-01-04 11:01:51 -05:00
Raymond Hill
9a104bcbd2 Prevent :others() from hiding html tag
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3060
2024-01-04 10:57:27 -05:00
Raymond Hill
c65dbdbffa New version for stable release 2024-01-03 15:08:40 -05:00
Raymond Hill
8f3397f581 Make Firefox dev build auto-update 2024-01-01 10:40:38 -05:00
Raymond Hill
1ea1ff7f4f Import translation work from https://crowdin.com/project/ublock 2024-01-01 10:30:57 -05:00
Raymond Hill
3adb2b7cfb New revision for release candidate 2024-01-01 10:26:55 -05:00
Raymond Hill
e1ae17ed00 Improve prevent-fetch scriptlet
Related issue:
https://github.com/AdguardTeam/AdguardFilters/issues/153796
2024-01-01 10:24:47 -05:00
Raymond Hill
00fb5f18b2 Add to error message 2023-12-26 11:32:08 -05:00
Raymond Hill
35bf15cf96 Make Firefox dev build auto-update 2023-12-25 09:15:33 -05:00
Raymond Hill
3e17146daf New revision for release candidate 2023-12-25 09:10:52 -05:00
Raymond Hill
38bde79146 Use CSS.supports() to detect support of native :has()
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2480#issuecomment-1868595930
2023-12-25 09:06:42 -05:00
Raymond Hill
abbff2dea9 Make Firefox dev build auto-update 2023-12-23 17:55:41 -05:00
Raymond Hill
26f45e1fdf Import translation work from https://crowdin.com/project/ublock 2023-12-23 17:45:36 -05:00
Raymond Hill
313df91f54 New revision for release candidate 2023-12-23 17:42:46 -05:00
Raymond Hill
ec8292ef92 Fix bad text colors in logger for dark theme
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/1963#discussioncomment-7921578
2023-12-22 19:49:36 -05:00
Raymond Hill
82becb8329 Make Firefox dev build auto-update 2023-12-22 12:15:55 -05:00
Raymond Hill
bf1be1c031 New revision for dev build 2023-12-22 11:46:40 -05:00
Raymond Hill
f81d71c6e8 Mind type of drop event items
Related feedback:
https://github.com/gorhill/uBlock/commit/c8b7d1a526#commitcomment-135590810
2023-12-22 11:45:35 -05:00
Raymond Hill
bdbb52e538 Make Firefox dev build auto-update 2023-12-22 10:55:42 -05:00
Raymond Hill
71c3bbe46b New revision for dev build 2023-12-22 10:48:15 -05:00
Raymond Hill
7287a852e7 Update changelog 2023-12-22 10:47:45 -05:00
Raymond Hill
c8b7d1a526 Mind drop events in filter expression field of logger
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/issues/3036#issuecomment-1867497436
2023-12-22 10:45:43 -05:00
Raymond Hill
d7063a052f Improve xml-prune scriptlet
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/21532
2023-12-22 10:15:37 -05:00
Raymond Hill
a770ed957b Make Firefox dev build auto-update 2023-12-21 12:11:16 -05:00
Raymond Hill
fa2f91216e Update changelog 2023-12-21 12:05:49 -05:00
Raymond Hill
ac860837ef New revision for dev build 2023-12-21 12:04:40 -05:00
Raymond Hill
49c8310e22 Fix message entry overflowing in logger
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3021
2023-12-21 12:02:57 -05:00
Raymond Hill
34a8a7ae82 Make Firefox dev build auto-update 2023-12-21 11:35:35 -05:00
Raymond Hill
4907864e50 Update changelog 2023-12-21 11:17:53 -05:00
Raymond Hill
2ae5c33449 New revision for dev build 2023-12-21 11:16:52 -05:00
Raymond Hill
826bc7d457 It's ok for toLogger() to be in derived class
Related commit:
aa7f77aaad
2023-12-21 11:14:33 -05:00
Raymond Hill
aa7f77aaad Split scriptlet filtering engine into lo- and hi-level classes
The idea is to remove as many dependencies as possible for
low-level ScriptletFilteringEngine in order to make it easier
to reuse the module outside uBO itself.

The high-level derived class takes care of caching and
injection of scriptlets into documents, which requires
more knowledge about the environment in which scriptlets
are to be used.

Also improve scriptlet cache usage to minimize overhead of
retrieving scriptlets.
2023-12-21 10:48:01 -05:00
Raymond Hill
abeadf18eb Add support for application/x-javascript in replace= option
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/5090
2023-12-21 10:43:14 -05:00
Raymond Hill
c692be3969 Make Firefox dev build auto-update 2023-12-20 11:46:03 -05:00
Raymond Hill
546c989ebb New revision for dev build 2023-12-20 11:32:42 -05:00
Raymond Hill
9a8dd66517 Fix having picker & inspector active at the same time
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/3004#issuecomment-1863610146
2023-12-20 11:23:25 -05:00
Raymond Hill
698bec4f5b Make Firefox dev build auto-update 2023-12-19 12:20:47 -05:00
Raymond Hill
462e8fe917 Import translation work from https://crowdin.com/project/ublock 2023-12-19 12:04:22 -05:00
Raymond Hill
4a929dbde3 Update changelog 2023-12-19 12:00:57 -05:00
Raymond Hill
4ef8945693 New revision for dev build 2023-12-19 11:59:29 -05:00
Raymond Hill
7f2703acd6 Only filter lists are diff-updatable 2023-12-19 11:51:20 -05:00
Raymond Hill
443c1f81e1 Extend support for differential updates to imported lists
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3028
2023-12-19 11:01:40 -05:00
Raymond Hill
d13cd30043 Make Firefox dev build auto-update 2023-12-18 10:56:30 -05:00
Raymond Hill
95813793a5 New revision for dev build 2023-12-18 10:44:11 -05:00
Raymond Hill
24ab492b77 Fix overlooking whether auto-update is disabled
Related feedback:
https://old.reddit.com/r/uBlockOrigin/comments/18ktpd5/
2023-12-18 10:41:48 -05:00
Raymond Hill
ebd9d93666 Prevent element picker from throwing when targeting html/body
Occurred when element picker was launched from context menu
as a result of clicking on `html` or `body` elements.
2023-12-16 11:23:58 -05:00
Raymond Hill
c2b5fb1fda Make Firefox dev build auto-update 2023-12-15 17:20:46 -05:00
Raymond Hill
0efa583202 Update changelog 2023-12-15 17:13:26 -05:00
Raymond Hill
b850ea7f83 New revision for dev build 2023-12-15 17:01:06 -05:00
Raymond Hill
9f4b31a96f Add detection of mismatched!#if-!#endif in linter
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/1712
2023-12-15 16:57:49 -05:00
Raymond Hill
ac814302e0 Make Firefox dev build auto-update 2023-12-15 13:21:16 -05:00
Raymond Hill
625250716a New revision for dev build 2023-12-15 13:10:23 -05:00
Raymond Hill
d56468b4ec Fix launch of auto update shortly after launch
Regression from:
https://github.com/gorhill/uBlock/commit/bd7ce41224
2023-12-15 09:59:56 -05:00
Raymond Hill
b9476cfb6e Make Firefox dev build auto-update 2023-12-14 17:06:27 -05:00
Raymond Hill
ef4870b179 New revision for dev build 2023-12-14 16:57:18 -05:00
Raymond Hill
a2caa7da78 Fix heuristic to verify whether a resource on a remote server is stale
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3022
2023-12-14 16:51:28 -05:00
Raymond Hill
7822db1304 Make Firefox dev build auto-update 2023-12-14 10:46:42 -05:00
Raymond Hill
1a27f6a6cd Import translation work from https://crowdin.com/translate/ublock 2023-12-14 10:36:18 -05:00
Raymond Hill
2087114d48 Update changelog 2023-12-14 10:24:43 -05:00
Raymond Hill
035be61be0 New revision for dev build 2023-12-14 10:20:26 -05:00
Raymond Hill
5e3f9695b4 Support links to update lists which are differential update-friendly
If the `manual` parameter is assigned a date in the form of
`YYMMDD`, this will tell uBO to update lists from origin sources
when the current time is within the range of the specified date,
otherwise lists will be updated from CDNs. Updating from CDNs
is always strongly recommended since this enables differential
updates.

For the time being, `manual=1` will always cause to update lists
from origin, but this form will be deprecated once next stable
release is widespread. The idea is to not leave behind stale
and obsolete links which would be detrimental to differential
updates should someone click on one of these old links left
behind.
2023-12-14 09:50:11 -05:00
Raymond Hill
bd7ce41224 Remove "Purge all caches" button from "Filter lists" pane
Purging all the lists from cache storage is detrimental to
differential update, and cause filter lists to be updated less
often and consequently to be less up to date then when letting
differential updater do its work.
2023-12-13 21:01:51 -05:00
Raymond Hill
14926913f7 Add support for all list token in updater-link feature
Using `listkeys=all` will cause all enabled lists to be updated.
2023-12-12 11:04:16 -05:00
Raymond Hill
4305ea9c0c Fix logging of broad exception filter #@#+js()
Related feedback:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/843

Regression from:
https://github.com/gorhill/uBlock/commit/1a863a877d
2023-12-12 08:21:47 -05:00
Raymond Hill
a3e3cd9216 Ensure cache storage backend is selected before use
Related commit:
bfa28b960e
2023-12-11 12:17:25 -05:00
Raymond Hill
acc2950736 [mv3] Fine tuning ruleset output 2023-12-11 09:29:59 -05:00
Raymond Hill
cc305b84e0 Make Firefox dev build auto-update 2023-12-10 15:30:54 -05:00
Raymond Hill
e1b23444aa Update changelog 2023-12-10 15:23:40 -05:00
Raymond Hill
d01ad24291 Improve no-xhr-if scriptlet
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2518
2023-12-10 15:21:29 -05:00
Raymond Hill
afcefb4b35 Update changelog 2023-12-10 13:55:33 -05:00
Raymond Hill
33add0bbbf New revision for dev build 2023-12-10 13:53:39 -05:00
Raymond Hill
f2dc195576 Fix URLs for EasyDutch 2023-12-10 13:48:51 -05:00
Raymond Hill
bfa28b960e Ensure cache storage is selected before access
Possibly related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2136

Also reported internally, steps to reproduce the issue fixed here:

- Open uBO's dashboard through 3-dot > Add-ons > uBO > Settings
- Bring forth "Filter lists" pane
  We want the tab to be already opened at next launch
- Quit Firefox for Android
- Launch Firefox for Android

Result:

Very long launch time, lists marked as out of date.
2023-12-10 12:33:51 -05:00
Raymond Hill
184942503f Make Firefox dev build auto-update 2023-12-09 18:06:13 -05:00
Raymond Hill
6cdf030125 New revision for dev build 2023-12-09 17:57:53 -05:00
Raymond Hill
563b6cf0bf Update changelog 2023-12-09 17:57:33 -05:00
Raymond Hill
4183ce477a Fix popup panel rendering when embedded in logger
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3015
2023-12-09 17:54:02 -05:00
Raymond Hill
af0a3f4abb [mv3] Have one rule per line in ruleset files 2023-12-09 11:02:20 -05:00
Raymond Hill
7e44db763e Add visual hint in support information re. differential update
In Support pane's troubleshooting information, a delta sign will
be added to list update information when the list was last updated
through differential update.
2023-12-08 15:28:20 -05:00
Raymond Hill
310bfec6a1 Remove obsolete web accessible resources 2023-12-08 12:06:34 -05:00
Raymond Hill
b35d17143b Fix DNR output in uBO's dev tools page 2023-12-08 11:45:39 -05:00
Raymond Hill
db16dfbfbc Make Firefox dev build auto-update 2023-12-08 10:26:13 -05:00
Raymond Hill
e789a6b0c5 Import translation work from https://crowdin.com/project/ublock 2023-12-08 10:19:18 -05:00
Raymond Hill
6ad8bad45a New revision for dev build 2023-12-08 10:13:05 -05:00
Raymond Hill
1d9a4e9178 Update changelog 2023-12-08 10:12:42 -05:00
Raymond Hill
cdc5e89f52 Rename urltransform to uritransform
Related commit:
https://github.com/uBlockOrigin/uAssets/commit/20312c2178

To work around incompatibity with `urltransform` in 1.53.0.
With this commit support for `urltransform` is dropped in
favor of `uritransform`. Since `uritransform` won't be parsed
by older versions of uBO, the change in syntax for `urltransform`
between 1.53.0 and 1.54.0 will no longer cause issue.
2023-12-08 10:07:11 -05:00
Raymond Hill
01ce24eea2 Make Firefox dev build auto-update 2023-12-07 21:31:12 -05:00
Raymond Hill
4ec0cf09ed New revision for dev build 2023-12-07 21:24:34 -05:00
Raymond Hill
994c9264de Update changelog 2023-12-07 21:23:58 -05:00
Raymond Hill
885bc3875b Vertically expand/collapse in steps in dom inspector
Additionally, lock the inspected page to the item under
the mouse in the dom inspector.
2023-12-07 20:59:45 -05:00
Raymond Hill
77b33c47b3 Make Firefox dev build auto-update 2023-12-06 21:31:20 -05:00
Raymond Hill
695acce53b New revision for dev build 2023-12-06 21:22:00 -05:00
Raymond Hill
15b1250c99 [firefox] Fix DOM inspector being broken in private window
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3004

Related commit:
ee83a4304a

Use extensions API message ports to establish direct communication
between content script and logger window.
2023-12-06 21:16:48 -05:00
Raymond Hill
fddca0b7cb Log all by default when needle is empty in aost scriptlet
As discussed with filter list maintainers.
2023-12-06 10:17:19 -05:00
Raymond Hill
42f31b9d16 Make Firefox dev build auto-update 2023-12-05 19:11:06 -05:00
Raymond Hill
3c921a1812 New revision for dev build 2023-12-05 19:04:31 -05:00
Raymond Hill
b38d89c335 Disable session storage for the time being
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3003#issuecomment-1841831191
2023-12-05 19:03:04 -05:00
Raymond Hill
2afd4846b2 Make Firefox dev build auto-update 2023-12-05 17:50:49 -05:00
Raymond Hill
b6d307d66c New revision for dev build 2023-12-05 17:43:02 -05:00
Raymond Hill
06d22ca6c3 Fix details regarding light/dark theme in dom inspector
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/1411#issuecomment-1841509464
2023-12-05 17:38:12 -05:00
Raymond Hill
cc726c06cd Remove untranslated language 2023-12-05 13:15:00 -05:00
Raymond Hill
71be1a4fe5 [mv3] Detect and discard regex-based from=/to= domains 2023-12-05 09:18:58 -05:00
Raymond Hill
b8b4193f15 Import translation work from https://crowdin.com/project/ublock 2023-12-04 17:06:06 -05:00
Raymond Hill
eb66820728 ]firefox] Improve load time & behavior from suspended state
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2969

Changes:

Use browser.alarms to trigger selfie creation. Presence of a selfie
improve markedly time to readiness when uBO is unsuspended.

Mirror content of storage.local to (in-memory) storage.session for
faster load to readiness when uBO is ususpended.
2023-12-04 15:15:08 -05:00
Raymond Hill
a969a672e0 Change official description in source code top comment 2023-12-04 12:10:34 -05:00
Raymond Hill
5dcb9d42ab Add support to auto-complete permissions= 2023-12-04 11:19:06 -05:00
Raymond Hill
87e2f350a7 Make Firefox dev build auto-update 2023-12-04 11:01:42 -05:00
Raymond Hill
13f47d71f7 New revision for dev build 2023-12-04 09:55:21 -05:00
Raymond Hill
aa584d750b Import translation work from https://crowdin.com/project/ublock 2023-12-04 08:13:19 -05:00
Raymond Hill
c744c87607 Reset the DOM inspector when URL in top context changes
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/542
2023-12-04 08:07:53 -05:00
Raymond Hill
941077a25c Support shadow-piercing combinator >>> in trusted-click-element
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2971

Example usage:

...##+js(trusted-trusted-click-element, #cmpwrapper >>> .cmpboxbtnyes)

The substring before ` >>> ` must select an element with a non-null
shadow root, in which case the substring after ` >>> ` will be used
to find the element in the targeted shadow root. ` >>> ` can be used
recursively when multiple shadow root must be pierced.
2023-12-04 08:02:07 -05:00
Raymond Hill
f15f1b3937 Make Firefox dev build auto-update 2023-12-03 16:41:45 -05:00
Raymond Hill
16e8e0c634 Update changelog 2023-12-03 16:31:28 -05:00
Raymond Hill
a9b509ec1e New revision for dev build 2023-12-03 16:27:26 -05:00
Raymond Hill
03ea001681 Minor 2023-12-03 16:26:05 -05:00
Raymond Hill
ee83a4304a Isolate DOM inspector layers from page context
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/1411

Additionally, refactored communication mechanism between content
script contexts and uBO contexts by using MessageChannel/BroadcastChannel
web APIs.
2023-12-03 16:21:32 -05:00
Raymond Hill
2c495487f1 Import translation work from https://crowdin.com/project/ublock 2023-12-02 12:59:05 -05:00
Raymond Hill
67fb969572 Refactoring: Replace DOM events with broadcast channels
Broadcast channels are more suited to uBO than DOM events to dispatch
notifications to different parts of uBO.

DOM events can only be dispatched to local context, broadcast channels
dispatch to all contexts (i.e. background process, workers, auxiliary
pages) -- this last behavior is better suited to uBO to communicate
internal changes to all potential listeners, not just those in the local
context.

Additionally, broadcasting to content scripts is now done through
tabs.sendMessage() instead of through potentially opened message
ports, this simplifies broadcasting to content scripts, and this
doesn't require to have long-lived message ports in content
scripts.
2023-12-01 14:35:28 -05:00
Raymond Hill
c4de5552e5 Fix non-filter lists ending into selected lists at install time
Fortunately, getAvailableLists() filters out non-filter
list resources thus preventing those mistakenly selected
resources from being loaded as filter lists.
2023-12-01 12:03:54 -05:00
Raymond Hill
ea7d411bc2 Support non-default sticky lists
"Sticky" lists are those which stay visible when collapsing
non-used lists in the "Filter lists" pane.
2023-12-01 08:31:28 -05:00
rajiv
a8cf08325d Add enableLazyLoad function
see https://developers.google.com/publisher-tag/reference#javascript_16

Fixes https://github.com/uBlockOrigin/uAssets/issues/20988
2023-12-01 02:20:40 -05:00
Raymond Hill
c16fcc1105 Import translation work from https://crowdin.com/project/ublock 2023-11-29 16:19:23 -05:00
Raymond Hill
a77c23c74f [mv3] Improve and cleanup options page
Additionally, ensure the options page stay in sync with the
internal state of the extension.
2023-11-29 16:11:22 -05:00
Raymond Hill
554400f7bd Import translation work from https://crowdin.com/project/ublock 2023-11-28 21:15:51 -05:00
Raymond Hill
d7acad6c90 [mv3] Add textarea to list/edit trusted sites
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/29
2023-11-28 21:13:44 -05:00
Raymond Hill
2bd2e6a079 Import translation work from https://crowdin.com/project/ublock 2023-11-28 21:10:29 -05:00
Raymond Hill
4f07df33a1 [mv3] Remove reference to nonexistent ruleset 2023-11-28 11:02:55 -05:00
Raymond Hill
430c578978 Import translation work from https://crowdin.com/project/ublock 2023-11-27 19:04:43 -05:00
Raymond Hill
5a33492b8d Make Firefox dev build auto-update 2023-11-25 11:36:21 -05:00
Raymond Hill
ccda6e0ee6 Update changelog 2023-11-25 11:27:06 -05:00
Raymond Hill
5a338b7210 Change frequency of save-to-storage blocking stats
In order to prepare for support of non-persistent background
process.
2023-11-25 11:22:26 -05:00
Raymond Hill
187c06fe01 New revision for dev build 2023-11-25 11:21:27 -05:00
Raymond Hill
6aeab2adbc Improve prevent-fetch scriptlet
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2526

Improvements:

Support fulfilling the response with the content of a
`web_accessible_resources` resource, using the syntax already
supported by `prevent-xhr`: `war:[name of resource]`

Support fulfilling the response with randomized text with length
specified using `length:min[-max]` directive.
2023-11-25 11:13:57 -05:00
Raymond Hill
74f54d0633 Make Firefox dev build auto-update 2023-11-22 13:56:34 -05:00
Raymond Hill
b40b1a0fb2 Update changelog 2023-11-22 13:44:37 -05:00
Raymond Hill
d65c6fe4ef New revision for dev build 2023-11-22 13:41:57 -05:00
Raymond Hill
9ce958432d Catch cases of ! Expires: field with no value 2023-11-22 13:40:49 -05:00
Raymond Hill
bda46d5cc7 New version for stable release 2023-11-22 10:36:58 -05:00
Raymond Hill
5e2bee11b2 Remove obsolete workflow 2023-11-22 10:35:36 -05:00
Raymond Hill
fb84cc3cbc Forgot to save file before commit 2023-11-22 10:33:21 -05:00
Raymond Hill
f546b4f91d Update KOR-1 URL as per request 2023-11-22 10:32:14 -05:00
Raymond Hill
72a5914dab Create draft release by default 2023-11-22 10:31:15 -05:00
Raymond Hill
9123563895 Make Firefox dev build auto-update 2023-11-20 19:51:17 -05:00
Raymond Hill
9a5e661924 Update changelog 2023-11-20 19:46:51 -05:00
Raymond Hill
747191950e New revision for release candidate 2023-11-20 19:40:00 -05:00
Raymond Hill
c5724c1cce Enable path for native has() selector in Firefox
Reference:
https://bugzilla.mozilla.org/show_bug.cgi?id=1858743
2023-11-20 19:38:18 -05:00
Raymond Hill
c090ab1d1d Make Firefox dev build auto-update 2023-11-20 13:31:33 -05:00
Raymond Hill
d1f1c9d62b New revision for release candidate 2023-11-20 13:20:47 -05:00
Raymond Hill
f77481f740 Import translation work from https://crowdin.com/project/ublock 2023-11-20 12:47:49 -05:00
Raymond Hill
e9cab80151 Fix untranslated "Filter lists" in dashboard 2023-11-20 12:36:01 -05:00
Raymond Hill
2da9f0b03f [mv3] Ensure filters incompatible with DNR are properly reported 2023-11-18 10:46:25 -05:00
Raymond Hill
0c29374a72 Add abp-resource:blank-mp4 alias for increased ABP compatibility 2023-11-18 10:04:52 -05:00
Raymond Hill
a4f8ec6d54 Support AdGuard's emptyArr/emptyObj for increased compatibility
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2411
2023-11-17 09:28:23 -05:00
Raymond Hill
bfb66297dd Make Firefox dev build auto-update 2023-11-16 19:50:51 -05:00
Raymond Hill
27d2ac092c New revision for release candidate 2023-11-16 17:17:24 -05:00
Raymond Hill
dc6fbd2011 Update changelog 2023-11-16 17:15:39 -05:00
Raymond Hill
3fd2588650 Allow scriptlets to be injected in about:blank
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2963
2023-11-16 17:07:48 -05:00
Raymond Hill
c292a90b90 Fix faulty as vararg in set-constant scriptlet 2023-11-16 13:18:39 -05:00
Raymond Hill
bd8a91ed3a Add support to redirect to noop.json
There ar ea couple of AdGuard filters supporting this local
resource.

Reference:
https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-redirects.md#noopjson
2023-11-16 09:54:21 -05:00
Dave Vandyke
c1d8f5908d More improvements to the google-ima shim script (#3908)
We have enabled the google-ima shim script again in the DuckDuckGo
Privacy Essentials browser extension, and found a couple more issues:
- Some websites set the enablePreloading[1] option, which should
  cause[2] the AdsManager.init() method to trigger the LOADED AdEvent
  to fire. If the event doesn't fire, those websites can get stuck
  waiting for the event forever.
- When AdsManager.start() method is called, a bunch of events are
  dispatched in order, to simulate ads loading, playing and
  finishing. There was a mistake in that logic though. The
  CONTENT_PAUSE_REQUESTED and CONTENT_RESUME_REQUESTED events[3]
  should fire as the ads start and finish respectively. By firing the
  latter early, and skipping the former, some websites got confused
  and tried to display ad overlays at the same time as playing their
  content, or didn't display they content at all.

1 - https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/reference/js/google.ima.AdsRenderingSettings#enablePreloading
2 - https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/preload#timing
3 - https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/reference/js/google.ima.AdEvent
2023-11-16 09:41:07 -05:00
Raymond Hill
8df6c3243c Make Firefox dev build auto-update 2023-11-14 18:16:15 -05:00
Raymond Hill
5d4d745d45 New revision for release candidate 2023-11-14 18:03:28 -05:00
Raymond Hill
dac320e396 Fix bad argument passing 2023-11-14 18:03:02 -05:00
Raymond Hill
0b871e6546 If response is 404, skip trying other CDNs
When there is a 404 response, in all likelihood other
CDNs will also return 404, no point pointlessly fetching
from others.
2023-11-14 17:39:48 -05:00
Raymond Hill
c7490e8493 Make Firefox dev build auto-update 2023-11-14 14:21:05 -05:00
Raymond Hill
14fcc4e167 New revision for release candidate 2023-11-14 14:08:07 -05:00
Raymond Hill
28d92d38f3 Use trusted- prefix for replace-node-text
The official name is `trusted-replace-node-text`.

`replace-node-text` is demoted to alias. `trusted-rpnt` added
asan alias. Aliases not prefixed with `trusted-` are deprecated
and will be removed eventually.

Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/2895#discussioncomment-7567863
2023-11-14 13:53:29 -05:00
Raymond Hill
6a9c69aa94 Add support for minute unit 2023-11-14 13:53:17 -05:00
Raymond Hill
143fc84f40 Make Firefox dev build auto-update 2023-11-14 10:11:26 -05:00
Raymond Hill
5a1a547432 New revision for release candidate 2023-11-14 10:02:19 -05:00
Raymond Hill
d2b8d990e6 All exceptions filters are exempt from requiring a trusted source
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/2895#discussioncomment-7566154
2023-11-14 09:58:26 -05:00
Raymond Hill
1e05665bdc Make Firefox dev build auto-update 2023-11-14 09:16:20 -05:00
Raymond Hill
7c6005278e Import translation work from https://crowdin.com/project/ublock 2023-11-14 09:05:37 -05:00
Raymond Hill
6d38180608 Fix spurious change in i18n strings 2023-11-14 09:04:06 -05:00
Raymond Hill
929c6a5299 New revision for release candidate 2023-11-14 08:45:15 -05:00
Raymond Hill
92c0088f64 Keep assetKey and diffName well separated 2023-11-13 14:55:52 -05:00
Raymond Hill
7a2994c74e Make Firefox dev build auto-update 2023-11-13 12:06:17 -05:00
Raymond Hill
2d25b78e59 Update changelog 2023-11-13 10:42:13 -05:00
Raymond Hill
f3d6a21e7a Add trusted-set-session-storage-item scriptlet
Related discussion:
https://github.com/uBlockOrigin/uAssets/issues/20630#issuecomment-1807390945
2023-11-13 10:36:55 -05:00
Raymond Hill
a373efe9c0 Import translation work from https://crowdin.com/project/ublock 2023-11-13 10:34:09 -05:00
Raymond Hill
d0b3452848 New revision for release candidate 2023-11-13 10:31:30 -05:00
Raymond Hill
7b2149e595 Fix quirks re. diff-updater 2023-11-13 09:42:31 -05:00
Raymond Hill
1f88359964 Make Firefox dev build auto-update 2023-11-12 19:36:19 -05:00
Raymond Hill
ffe3b548f3 Update changelog 2023-11-12 19:28:40 -05:00
Raymond Hill
7c562d0c5c Allow the use of quotes in set-cookie scriptlet
Related discussion:
https://github.com/uBlockOrigin/uAssets/issues/20630#issuecomment-1807260357
2023-11-12 19:26:05 -05:00
Raymond Hill
30a01d8e84 Update changelog 2023-11-12 19:09:07 -05:00
Raymond Hill
decafc5cbf Allow the use of quotes in set-[local|session]-storage-item
Related discussion:
https://github.com/uBlockOrigin/uAssets/issues/20630#issuecomment-1807260357
2023-11-12 19:05:56 -05:00
Raymond Hill
b26d421a57 Add Punjabi (pa) translation 2023-11-12 13:51:50 -05:00
Raymond Hill
ce38e6c81a Import changes following removal of unused i18n strings 2023-11-12 13:50:40 -05:00
Raymond Hill
01d796346c Import translation work from https://crowdin.com/project/ublock 2023-11-12 13:48:39 -05:00
Raymond Hill
b201c61584 [mv3] Remove unused i18n strings 2023-11-12 13:45:46 -05:00
Fanboynz
32fb93c525 Add a few more cookie names (#3907) 2023-11-12 12:51:58 -05:00
Raymond Hill
d24b2d8165 Make Firefox dev build auto-update 2023-11-12 11:51:21 -05:00
Raymond Hill
dee19fb51b New revision for release candidate 2023-11-12 11:45:33 -05:00
Raymond Hill
3db46c1728 Allow for support of more event types
Related commit:
ef311ddbec
2023-11-12 11:44:24 -05:00
Raymond Hill
11fe8ee3b5 Make Firefox dev build auto-update 2023-11-12 10:45:35 -05:00
Raymond Hill
38c606d7ad Update changelog 2023-11-12 10:39:56 -05:00
Raymond Hill
b3c48fd1ad Swap canonical name with alias 2023-11-12 10:39:43 -05:00
Raymond Hill
d6db5374b0 New revision for release candidate 2023-11-12 10:37:13 -05:00
Raymond Hill
ef311ddbec Add ability to trigger cookie removal on specific events
As discussed with filter list volunteers.

Related discussion:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/834
2023-11-12 10:35:28 -05:00
Raymond Hill
bcf809615c Make Firefox dev build auto-update 2023-11-12 09:26:04 -05:00
Raymond Hill
e9ddd99deb New revision for release candidate 2023-11-11 19:55:00 -05:00
Raymond Hill
1db569d4ee Fix last commit
Related commit:
e30223c42e

This needs to be done with currently cached list, not with
failed modified list.
2023-11-11 19:54:05 -05:00
Raymond Hill
a014b547ef Make Firefox dev build auto-update 2023-11-11 16:05:56 -05:00
Raymond Hill
6c80bb0de0 New revision for release candidate 2023-11-11 15:54:47 -05:00
Raymond Hill
e30223c42e Add check-then-fix code to ensure diff-path name in sync
There is a lot asynchronicity in the auto-update code, and
the fix here is to detect then fix instances of out of sync
state between a cached filter list and its metadata stored
separately.
2023-11-11 15:51:59 -05:00
Raymond Hill
4422926b63 Add more details to error message 2023-11-11 13:25:58 -05:00
Raymond Hill
130c437dd3 Import translation work from https://crowdin.com/project/ublock 2023-11-11 10:55:40 -05:00
Raymond Hill
18f6f143af Make Firefox dev build auto-update 2023-11-11 09:45:51 -05:00
Raymond Hill
5baff8275a New revision for release candidate 2023-11-11 09:36:58 -05:00
Raymond Hill
193672dae5 Extract diff-name from diff-path when diff-name field is missing 2023-11-11 09:35:08 -05:00
Raymond Hill
54edb62bcf Make Firefox dev build auto-update 2023-11-10 12:46:15 -05:00
Raymond Hill
a197cab446 New revision for release candidate 2023-11-10 12:37:47 -05:00
Raymond Hill
f68683f988 Do not use implicit regex flag when pattern is regex
As discussed with filter list volunteers.
2023-11-10 12:31:30 -05:00
Raymond Hill
15e3f763a3 Mind exception filters for replace= option
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/2952
2023-11-10 10:45:24 -05:00
Raymond Hill
a986a03b97 Make Firefox dev build auto-update 2023-11-09 20:10:36 -05:00
Raymond Hill
bd54c4bff9 New revision for release candidate 2023-11-09 20:03:55 -05:00
Raymond Hill
9f52b4763e Lookup asset key from diff name
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2948

This fix has to make it into next stable release to ensure
imported external lists can benefit from diff-updater.
2023-11-09 20:01:39 -05:00
Raymond Hill
5b7d951c4b New revision for release candidate 2023-11-09 19:59:29 -05:00
Raymond Hill
7dd98258e9 Add stackToMatch vararg to trusted-prune-inbound-object.js
As discussed with filter list maintainers.
2023-11-09 19:57:51 -05:00
Raymond Hill
574bd8fba3 Make Firefox dev build auto-update 2023-11-09 09:50:44 -05:00
Raymond Hill
eaa00607d2 New revision for stable release 2023-11-09 09:38:04 -05:00
Raymond Hill
ec53a8f2c7 Re-work unescaping arguments in parser
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/5184#issuecomment-1803455520
2023-11-09 09:11:59 -05:00
Raymond Hill
2bc7996d64 Remove country flag because occurrences below threshold
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/issues/2946
2023-11-09 07:10:25 -05:00
Raymond Hill
9204fdf92c Partially revert 3ff456a
Related feedback:
3ff456a63d (commitcomment-132105051)
2023-11-09 07:01:22 -05:00
Raymond Hill
1809b2d1ad Make Firefox dev build auto-update 2023-11-08 22:46:16 -05:00
Raymond Hill
831a707616 Typo in comment 2023-11-08 22:40:43 -05:00
Raymond Hill
abe114c8e3 Update changelog 2023-11-08 22:39:19 -05:00
Raymond Hill
1100480d22 New revision for release candidate 2023-11-08 22:37:58 -05:00
Raymond Hill
1dba557c9a Ensure CSSTree does not hold onto last parsed string
When done compiling, force CSSTree to parse an empty string, so
as to ensure it doesn't keep a reference to that string.

Typically, the string passed to CSSTree is a small slice of a
larger string which is a whole filter list. This means that
holding a reference to the sliced string causes the JS engine
to hold in memory to the whole filter list last parsed.
2023-11-08 22:33:01 -05:00
Raymond Hill
f7511cc13f Make Firefox dev build auto-update 2023-11-08 19:56:19 -05:00
Raymond Hill
bef2e88199 Update changelog 2023-11-08 19:45:00 -05:00
Raymond Hill
9ebed116da Import translation work from https://crowdin.com/project/ublock 2023-11-08 19:44:33 -05:00
Raymond Hill
4282b9ab61 New revision for release candidate 2023-11-08 19:40:40 -05:00
Raymond Hill
3c5491a8bd Improve comment 2023-11-08 07:22:23 -05:00
Raymond Hill
856e8de64c Diff-updater: report URL without the hash part 2023-11-08 07:16:23 -05:00
Raymond Hill
eb52d46afa Make Firefox dev build auto-update 2023-11-07 17:46:16 -05:00
Raymond Hill
a1e8bcfc3b New revision for dev build 2023-11-07 17:39:53 -05:00
Raymond Hill
2170051c4a Fix documentation in comment following recent changes 2023-11-07 17:29:25 -05:00
Raymond Hill
b8193ea5f9 Fix detection of unfilled filter list fields
Related feedback:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/781#discussioncomment-7503866
2023-11-07 17:27:37 -05:00
Raymond Hill
cd430386f5 Forgot to git-add this one in last commit 2023-11-07 13:48:32 -05:00
Raymond Hill
74a0af8af6 Replace flag with more relevant one
Related discussion:
https://github.com/EasyDutch-uBO/EasyDutch/issues/92
2023-11-07 13:47:04 -05:00
Raymond Hill
09b609cbb4 Update changelog 2023-11-07 10:12:21 -05:00
Raymond Hill
3ff456a63d Prefer CDNs when subscribing to a new list
Also, purging the cache of a list should not remove the
compiled version of that list so that it keep being seen
as cached, but obsolete.
2023-11-07 08:21:22 -05:00
Raymond Hill
ae24032607 Add more replace-able types
Reference:
https://en.wikipedia.org/wiki/M3U#Internet_media_types
2023-11-07 07:53:37 -05:00
Raymond Hill
1aa92c7570 Update image to reflect actual implementation 2023-11-07 07:52:35 -05:00
Raymond Hill
f96cf25436 Update changelog 2023-11-06 20:10:36 -05:00
Raymond Hill
a9a523e2fc Make Firefox dev build auto-update 2023-11-06 19:56:22 -05:00
Raymond Hill
b324b85c5d Update changelog 2023-11-06 19:48:10 -05:00
Raymond Hill
355b40a965 New revision for release candidate 2023-11-06 19:46:42 -05:00
Raymond Hill
2360bc02f3 Lower maximum Expires value to 4h
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2899
2023-11-06 19:45:16 -05:00
Raymond Hill
8ed1ad9c9d Properly reset needle length in unserialized buffer
Possible related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2925
2023-11-06 19:22:47 -05:00
Imre Kristoffer Eilertsen
a2ab313ae2 Attempted to set flag codes for Chromium Windows users (#3906)
* Attempted to set flag codes for Chromium users

* Not sure how I missed MD.
2023-11-06 16:46:56 -05:00
Raymond Hill
d8d42f2cc1 Synchronize changes in both versions of assets.json 2023-11-06 15:15:57 -05:00
Imre Kristoffer Eilertsen
0962366524 Added additional flags to regional lists (#3904) 2023-11-06 15:11:38 -05:00
Raymond Hill
4f48f42e26 Make Firefox dev build auto-update 2023-11-06 12:46:35 -05:00
Raymond Hill
d334fd97c8 Update changelog 2023-11-06 12:19:14 -05:00
Raymond Hill
09a6ba74f8 New revision for release candidate 2023-11-06 12:18:00 -05:00
Raymond Hill
11ebb736ca Import translation work from https://crowdin.com/project/ublock 2023-11-06 12:16:48 -05:00
Raymond Hill
7823d98070 Harden scriptlets which need to serialize function code into string
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2907
2023-11-06 09:10:21 -05:00
Raymond Hill
5d1618e1be Reset potential g regex before use in replace= option
Related discussion:
https://github.com/uBlockOrigin/uAssets/issues/5184#issuecomment-1794058253
2023-11-06 07:16:41 -05:00
Raymond Hill
b2bf5c255e Make Firefox dev build auto-update 2023-11-05 20:50:47 -05:00
Raymond Hill
815d66bfcc New revision for dev build 2023-11-05 20:39:09 -05:00
Raymond Hill
b87570bda8 Update changelog 2023-11-05 20:38:28 -05:00
Raymond Hill
cdc3f66a6b Reset g regexes before use in rmnt/rpnt scriptlets 2023-11-05 20:35:05 -05:00
Raymond Hill
bf001f4796 Make Firefox dev build auto-update 2023-11-05 19:30:51 -05:00
Raymond Hill
284bf060d0 Fix github actions workflow 2023-11-05 19:26:02 -05:00
Raymond Hill
c3e62784fb Update changelog 2023-11-05 19:20:35 -05:00
Raymond Hill
ead73c3e3a New revision for dev build 2023-11-05 19:17:13 -05:00
Raymond Hill
6417f54299 Apply response filtering according to mime type
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2833
2023-11-05 19:13:38 -05:00
jambohawk
971f36c78e Update assets.json
I believe this is a typo?
2023-11-05 17:01:06 -06:00
Raymond Hill
eb93ce862d Do not use @latest, there is no master branch at uAssetsCDN
Related documentation:
https://github.com/jsdelivr/jsdelivr#omit-the-version-completely-or-use-latest-to-load-the-latest-one-only-works-with-valid-semver-versions-not-recommended-for-production-usage
2023-11-05 17:23:07 -05:00
Raymond Hill
6027abfe12 Need to use g flag in sedfor all instances in one line 2023-11-05 16:50:21 -05:00
Raymond Hill
875402b292 Move the repetitive portion of release notes to the bottom 2023-11-05 16:42:33 -05:00
Fanboynz
4ab1c36ac9 Add t/f to set-cookie (#3905) 2023-11-05 16:07:58 -05:00
Raymond Hill
931187d903 Make Firefox dev build auto-update 2023-11-05 15:11:11 -05:00
Raymond Hill
6a804583b7 New revision for dev build 2023-11-05 14:55:43 -05:00
Raymond Hill
1055203542 Avoid creating a session if there are no jobs 2023-11-05 14:54:59 -05:00
Raymond Hill
ce835bb300 Remove extraneous increment in charset sniffing code
Related commit:
7c3e060c01

Related feedback:
7c3e060c01 (commitcomment-131759551)
2023-11-05 14:19:06 -05:00
Raymond Hill
737799e43d Expand GitHub Actions to Fill the release notes
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2937

Hopefully this works as expected in next release.
2023-11-05 14:02:46 -05:00
Raymond Hill
a2d942e491 Make Firefox dev build auto-update 2023-11-05 13:05:54 -05:00
Raymond Hill
15773caedc new revision for dev build 2023-11-05 12:51:41 -05:00
Raymond Hill
b69b0b5fb9 Add more mimes as valid target for response filtering
Related feedback:
7c3e060c01 (commitcomment-131754750)

application/vnd.apple.mpegurl
Reference:
https://www.iana.org/assignments/media-types/application/vnd.apple.mpegurl

application/vnd.api+json
Reference:
https://www.iana.org/assignments/media-types/application/vnd.api+json
2023-11-05 12:50:03 -05:00
Raymond Hill
2de1ebc2c3 Make Firefox dev build auto-update 2023-11-05 11:56:29 -05:00
Raymond Hill
dfa419ff80 New revision for dev build 2023-11-05 11:37:00 -05:00
Raymond Hill
d7c99b46e6 Have urltransform= use the same syntax as replace=
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2924
2023-11-05 11:19:03 -05:00
Raymond Hill
5f78d83fea Fix various code paths in bodyFilterer
Related to extracting charset of response body.
2023-11-05 10:32:23 -05:00
Raymond Hill
1cf634cce0 Leave out hash part when extracting patch file name
Related commit:
aeff955667
2023-11-05 08:03:43 -05:00
Raymond Hill
247972c0d3 Make Firefox dev build auto-update 2023-11-04 10:01:21 -04:00
Raymond Hill
970b51539c New revision for dev build 2023-11-04 09:55:45 -04:00
Raymond Hill
c38267bb2b Fix charset sniffing in reworked response body filtering code
Related feedback:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/830

Related commit:
https://github.com/uBlockOrigin/uBlock-issues/discussions/2537#discussioncomment-5277574
2023-11-04 09:50:10 -04:00
Raymond Hill
4de6bd6f07 Fix potential exceptions in new response body filtering code
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/2929

Related commit:
7c3e060c01
2023-11-04 09:43:38 -04:00
Raymond Hill
4774a39b17 [mv3] Fix converter to DNR rules 2023-11-03 21:32:44 -04:00
Raymond Hill
4c48148eb2 Support auto-complete for from= same as domain= 2023-11-03 20:19:19 -04:00
Raymond Hill
6f8ce65765 Make Firefox dev build auto-update 2023-11-03 19:20:59 -04:00
Raymond Hill
d12d014b10 Import translation work from https://crowdin.com/project/ublock 2023-11-03 19:13:07 -04:00
Raymond Hill
d68912e5b3 New revision for dev build 2023-11-03 19:03:27 -04:00
Raymond Hill
7c3e060c01 Implement network filter option replace=
Reference documentation:
https://adguard.com/kb/general/ad-filtering/create-own-filters/#replace-modifier

This is a network filter option which can only be loaded from a
trusted source.

Since this filter is about modifying the response body, it currently
only works in Firefox.

As discussed with filter list maintainers.
2023-11-03 19:01:01 -04:00
Raymond Hill
aeff955667 Extract list name from hash portion of ! Diff-Path: 2023-11-03 18:39:14 -04:00
Raymond Hill
b7bb26807d Make Firefox dev build auto-update 2023-11-03 10:56:05 -04:00
Raymond Hill
ae2e35d2bd New revision for dev build 2023-11-03 10:43:51 -04:00
Raymond Hill
89b272775a Prevent evaluating the SNFE until fully loaded
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2925
2023-11-03 10:01:40 -04:00
Raymond Hill
605ad238b4 Report modifier stats in built-in benchmark of SNFE 2023-11-02 19:23:06 -04:00
Raymond Hill
4032ac9149 Minor re-wording in log output 2023-11-02 11:49:15 -04:00
Raymond Hill
4a57c174a5 Make Firefox dev build auto-update 2023-11-01 16:16:36 -04:00
Raymond Hill
825a621be8 New revision for dev build 2023-11-01 10:56:30 -04:00
Raymond Hill
69fce3aa6e Fine-tune details about when differential update should kick in
Manual update of one or more lists will cause the most recent version
of these lists to be fetched from the "origin" server, and since the
lists from "origin" servers cannot be updated through differential
update, the lists will be subsequently updated according to their
`Expires` directive.

When the lists are auto-updated, the "CDN" servers will be used,
and as a result the lists will start to be updated trhough
differential updates every 6-hour (currently).

Thus it is recommended and optimal to let the lists auto-update,
since you will benefit from a much shorter delay to get up-to-date
lists (i.e. every 6-hour instead of every 6-day).

You can force the auto-updater to fetch all the lists by clicking
"Purge all caches", then restart uBO without clicking "Update".
This will cause uBO to perform an emergency auto-update at restart
time, after which you will have all the lists which are candidates
for differential update.

The "Update now" button in the "Support" pane will also cause lists
to be fetched from their "origin" server.
2023-11-01 10:45:31 -04:00
Raymond Hill
2acf8a638d Make Firefox dev build auto-update 2023-10-31 16:40:51 -04:00
Raymond Hill
9058fce037 Fire notification when no update but writeTime change 2023-10-31 16:33:03 -04:00
Raymond Hill
c5fa273723 Update EasyDutch list to new URLs
Related discussion:
https://github.com/uBlockOrigin/uAssets/discussions/20386
2023-10-31 14:57:50 -04:00
Raymond Hill
89d535bd23 New revision for dev build 2023-10-31 11:06:35 -04:00
Raymond Hill
abd8577096 Distinguish diff patch not-available from not-yet-available
A not-yet-available won't cause a list to become candidate for
full update.

A not-available will cause the list to be candidate for full
update.
2023-10-31 10:52:03 -04:00
Raymond Hill
2d645cdd31 Make Firefox dev build auto-update 2023-10-30 20:51:03 -04:00
Raymond Hill
55aded109c New revision for release candidate 2023-10-30 20:43:47 -04:00
Raymond Hill
153783cfaa Forgot to lower update period limit to 6-hour 2023-10-30 20:42:38 -04:00
Raymond Hill
9a81f75cfa Make Firefox dev build auto-update 2023-10-30 20:01:05 -04:00
Raymond Hill
6704cbc304 New revision for release candidate 2023-10-30 19:50:20 -04:00
Raymond Hill
3dca115eb6 Add more dev console tracing to asset updater 2023-10-30 19:49:17 -04:00
Raymond Hill
206b9c8efb Make Firefox dev build auto-update 2023-10-30 14:16:35 -04:00
Raymond Hill
aae265075c New revision for dev build 2023-10-30 14:03:16 -04:00
Raymond Hill
19d6d7ff5c Minor code review: remove pointless argument 2023-10-30 14:02:47 -04:00
Raymond Hill
2344cbdeca Harden diff-updater against unexpected errors
The diff-updater worker will terminate upon unexpected
error, in order to avoid a stalled updater.
2023-10-30 13:47:24 -04:00
Raymond Hill
a45e33cd7a Make Firefox dev build auto-update 2023-10-30 13:06:00 -04:00
Raymond Hill
979ca04379 New revision for dev build 2023-10-30 12:55:41 -04:00
Raymond Hill
d05ff8ffeb Add support for diff-patching filter lists
Related discussion:
https://github.com/ameshkov/diffupdates

The benefits of diff-patching filter lists is much shorter update
schedule and significantly less bandwidth consumed.

At the moment, only default filter lists are subject to be
diff-patched.

External filter lists can make their lists diff-patchable by
following the specification link above.

Only filter lists fetched by the auto-updater are candidate for
diff-patching.

Forcing a manual update of the filter lists will prevent the
diff-patcher from kicking in until one or more lists are
auto-updated.

Some back-of-the-envelop calculations regarding the load on free
CDN solutions used by uBO to distribute its own filter lists:

Currently, for each CDN (with lists updating after days):
~560 M req/month, ~78 TB/month

With diff-patching lists on a 6-hour schedule:
~390 M req/month, 1 TB/month

Those estimates were done according to statistics shown by
jsDelivr, which is one of 4 CDNs picked randomly when a list
updates:
https://www.jsdelivr.com/package/gh/uBlockOrigin/uAssetsCDN?tab=stats
2023-10-30 12:30:46 -04:00
Raymond Hill
032f170dba Make update-through-link equivalent to auto-update cycle 2023-10-30 12:09:16 -04:00
Raymond Hill
4fa92f930e Support soft-updating through update links
Where "soft-updating" means updating from CDNs, and "hard-updating"
means updating from `ublockorigin.github.io/uAssets`.
2023-10-30 10:47:38 -04:00
Raymond Hill
b061db229e Prevent contentScripts.register from throwing
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2915
2023-10-30 10:44:04 -04:00
Raymond Hill
bc632b5464 Make Firefox dev build auto-update 2023-10-30 00:46:15 -04:00
Raymond Hill
e1ac68129c New revision for release candidate 2023-10-30 00:36:12 -04:00
Raymond Hill
c9aeb6a43b Use minified version of badware list in package 2023-10-30 00:35:30 -04:00
Raymond Hill
c378d55dfb Minor 2023-10-29 23:44:43 -04:00
Raymond Hill
d110c21db7 Ship minified version of lists in package 2023-10-29 23:39:40 -04:00
Fanboynz
d51b393fdb Add additional set-cookie names (#3902) 2023-10-29 11:01:32 -04:00
Raymond Hill
9433dc52ab Make Firefox dev build auto-update 2023-10-29 10:35:52 -04:00
Raymond Hill
654dc20deb New revision for release candidate 2023-10-29 10:26:04 -04:00
Raymond Hill
5244ad5baf Do not use bind as a way to access native calls 2023-10-29 10:22:54 -04:00
Raymond Hill
3c4932e1a6 Make Firefox dev build auto-update 2023-10-28 07:51:22 -04:00
Raymond Hill
904e5dff7a Import translation work from https://crowdin.com/project/ublock 2023-10-28 07:41:18 -04:00
Raymond Hill
30f5e5daff New revision for release candidate 2023-10-28 07:38:42 -04:00
Raymond Hill
fc40393c81 Improve trusted-prune-inbound-object scriptlet
Trap incoming argument only if it matches the properties to
prune and matches. If there is no match, the inbound object
is passed through untouched.
2023-10-28 07:35:38 -04:00
Raymond Hill
9829ee12a5 Make Firefox dev build auto-update 2023-10-27 21:36:22 -04:00
Raymond Hill
0b59ebf1c6 Import translation work from https://crowdin.com/project/ublock 2023-10-27 21:27:28 -04:00
Raymond Hill
e2f5814c50 New revision for release candidate 2023-10-27 21:14:13 -04:00
Raymond Hill
07ac27e07b Give precedence to Last modified: field when evaluating "age" if lists
Available network information is not very reliable and should be
used only when `Last modified:` is not available.
2023-10-27 21:09:49 -04:00
Raymond Hill
ed4b31931a Prepare to ship minified lists in package 2023-10-26 13:38:24 -04:00
Raymond Hill
88a510cf7c Make Firefox dev build auto-update 2023-10-25 20:16:33 -04:00
Raymond Hill
a87813614a New revision for release candidate 2023-10-25 20:05:44 -04:00
Raymond Hill
51dfde8f41 Import translation work from https://crowdin.com/project/ublock 2023-10-25 20:04:58 -04:00
Dave Vandyke
0fa30a73c5 Further improve google-ima shim script (#3900)
I worked through some of the websites listed in the google-ima shim
script issue[1], to see what was going wrong. It turned out the
addEventListener method supports an optional context Object, which is
bound to the listener if provided. Some websites make use of that,
and then break when `this` is not bound correctly when events are
dispatched.

See also https://github.com/duckduckgo/tracker-surrogates/pull/24

1 - https://github.com/uBlockOrigin/uBlock-issues/issues/2265
2023-10-25 12:00:21 -04:00
Raymond Hill
c2217a170e Update user interface srings as suggested 2023-10-25 07:31:23 -04:00
Raymond Hill
e2b9e090ce Update user interface srings as suggested 2023-10-25 07:28:41 -04:00
Raymond Hill
33a9b97f25 Make Firefox dev build auto-update 2023-10-24 12:45:46 -04:00
Raymond Hill
5d4f0da5aa New revision for release candidate 2023-10-24 12:31:56 -04:00
Raymond Hill
c1657c2f9c Import translation work from https://crowdin.com/project/ublock 2023-10-24 11:22:21 -04:00
Dave Vandyke
b445f4f4cd Improve google-ima shim script (#3899)
We made use of the google-ima shim script from uBlock in the
DuckDuckGo Privacy Essentials extension recently, but found a few
issues with website breakage. After debugging and fixing those[1], I
thought it would be worth sharing the improvements back again. Issues
we ran into:

- The AdDisplayContainer[2] constructor usually creates some DOM
  elements inside the given container. They are all nested within a
  DIV and some websites break when at least that top DIV element isn't
  created.
- While not documented (that I could see), the event listeners can be
  added using an array of event types. Some websites make use of that
  and then hang forever when the expected events aren't fired. This
  caused videos not to play on some websites.
- The Ad.prototype.getUniversalAdIds()[3] method should return an
  array of UniversalAdIdInfo Objects, instead of an Array of
  strings. When an array of strings are returned, some websites then
  break when the UniversalAdIdInfo's methods are missing.
- The UniversalAdIdInfo.prototype.getAdIdValue()[4] method had a typo
  in the name ("getAsIdValue") and was effectively missing. That
  caused some websites to break when the missing method was called.
- The google.ima.OmidVerificationVendor[5] Object was missing, which
  broke some websites that attempted to access it.

1 - 52f2999523
2 - https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/reference/js/google.ima.AdDisplayContainer
3 - https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/reference/js/google.ima.Ad#getUniversalAdIds
4 - https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/reference/js/google.ima.UniversalAdIdInfo#getAdIdValue
5 - https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/reference/js/google.ima#.OmidVerificationVendor
2023-10-24 11:16:14 -04:00
Raymond Hill
d32204f984 Match type exactly in prevent-addEventListener scriptlet
Unless `type` is a regex of course.

Related feedback:
https://github.com/uBlockOrigin/uAssets/discussions/17907#discussioncomment-7362212
2023-10-23 21:15:00 -04:00
Raymond Hill
b8542cb894 Make Firefox dev build auto-update 2023-10-23 10:11:19 -04:00
Raymond Hill
e351551dc4 Move warning sentence to the start
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/discussions/2895#discussioncomment-7353454
2023-10-23 10:01:33 -04:00
Raymond Hill
4e0b74e562 new revision for release candidate 2023-10-23 10:00:52 -04:00
Raymond Hill
6c672c99c2 Import translation work from https://crowdin.com/project/ublock 2023-10-23 09:20:59 -04:00
Raymond Hill
3c04ae41b3 Make Firefox dev build auto-update 2023-10-22 18:41:37 -04:00
Raymond Hill
589f281f21 Fine tune CSS
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/discussions/2895#discussioncomment-7353182
2023-10-22 18:33:28 -04:00
Raymond Hill
3562cc2e4c New revision for release candidate 2023-10-22 18:22:59 -04:00
Raymond Hill
1a1876e593 Import translation work from https://crowdin.com/project/ublock 2023-10-22 18:22:27 -04:00
Raymond Hill
82c59b4b6e Add domain vararg to trusted-set-cookie
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2893
2023-10-22 18:19:18 -04:00
Raymond Hill
1e745c2f4d Emphasize warning in "My filters"
Related feedback:
f1ce3b2191 (commitcomment-130633291)
2023-10-22 17:52:38 -04:00
Raymond Hill
9bd483bec3 Enable "not permissions" filtering expression in logger
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/2714#discussioncomment-6959861
2023-10-22 17:50:45 -04:00
Raymond Hill
7ca18f77d9 Make Firefox dev build auto-update 2023-10-22 15:51:26 -04:00
Raymond Hill
9fed114374 New revision for dev build 2023-10-22 15:40:48 -04:00
Raymond Hill
9e2c919c24 Import translation work from https://crowdin.com/project/ublock 2023-10-22 15:40:16 -04:00
Raymond Hill
a9ff41ae55 Add filter expressions for logger output
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/2714#discussioncomment-6959761
2023-10-22 15:33:21 -04:00
Raymond Hill
70019e41a6 Make Firefox dev build auto-update 2023-10-22 13:21:19 -04:00
Raymond Hill
52d1357c67 New revision for release candidate 2023-10-22 13:10:33 -04:00
Raymond Hill
86f0d6dd97 Add trusted-prune-outbound-object.js scriptlet
Essentially a complement of `trusted-prune-inbound-object.js` added in
1c9da227d7

To perform object pruning on any object returned synchronously by
any given call.

The arguments for `trusted-prune-outbound-object` in order are:

- The name of the property to trap. Must be a function, and must
  exist when the scriptlet tries to install the trap.

- The properties to prune (as with `json-prune`)

- The properties which must all be present for pruning to occur
  (as with `json-prune`)

The scriptlets `json-prune.js` and `evaldata-prune.js` essentially
perform the same function, and will eventually be rewritten to
internally delegate to generic `trusted-prune-outbound-object.js`.
2023-10-22 12:35:49 -04:00
Raymond Hill
0b9b5a4802 Enable dev console by default in dev build 2023-10-22 12:33:10 -04:00
Raymond Hill
8c283d4d38 Flush the registered scriptlet cache as needed only
Related commit:
e5b438257f
2023-10-22 12:31:33 -04:00
Raymond Hill
f1ce3b2191 Add warning against adding custom filters from untrusted sources
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/discussions/2895#discussioncomment-7351138
2023-10-22 10:47:52 -04:00
Raymond Hill
e33c0f9d9c Minor refactoring plus other minor changes
Added more evocative error messages to linter.

Made the content of _My filters_ trusted by default in
dev build.
2023-10-22 08:53:01 -04:00
Raymond Hill
5dd9584da2 Make Firefox dev build auto-update 2023-10-21 19:45:50 -04:00
Raymond Hill
fe36da3525 New revision for release candidate 2023-10-21 19:35:06 -04:00
Raymond Hill
64c1f8767c Add ability to control trusted status of filter lists
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/discussions/2895

Changes:

The _content of the My filters_ pane is now considered untrusted by
default, and only uBO's own lists are now trusted by default.

It has been observed that too many people will readily copy-paste
filters from random sources. Copy-pasting filters which require trust
represents a security risk to users with no understanding of how the
filters work and their potential abuse.

Using a filter which requires trust in a filter list from an untrusted
source will cause the filter to be invalid, i.e. shown as an error.

A new advanced setting has been added to control which lists are
considered trustworthy: `trustedListPrefixes`, which is a space-
separated list of tokens. Examples of possible values:

- `ublock-`: trust only uBO lists, exclude everything else including
  content of _My filters_ (default value)

- `ublock- user-`: trust uBO lists and content of _My filters_

- `-`: trust no list, essentially disabling all filters requiring
  trust (admins or people who don't trust us may want to use this)

One can also decide to trust lists maintained elsewhere. For example,
for stock AdGuard lists add ` adguard-`. To trust stock EasyList lists,
add ` easylist-`.

To trust a specific regional stock list, look-up its token in
assets.json and add to `trustedListPrefixes`.

The matching is made with String.startsWith(), hence why `ublock-`
matches all uBO's own filter lists.

This also allows to trust imported lists, for example add
` https://filters.adtidy.org/extension/ublock/filters/` to trust all
non-stock AdGuard lists.

Add the complete URL of a given imported list to trust only that one
list.

URLs not starting with `https://` or `file:///` will be rejected,
i.e. `http://example.org` will be ignored.

Invalid URLs are rejected.
2023-10-21 19:29:10 -04:00
Raymond Hill
801d569585 Make Firefox dev build auto-update 2023-10-21 14:56:27 -04:00
Raymond Hill
e275e1b197 New revision for release candidate 2023-10-21 14:36:38 -04:00
Raymond Hill
e5b438257f Ensure scriptlet cache is reset when filtering profile changes
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2896

TODO: Eventually, distinguish between filtering profile increasing
or decreasing so as to avoid flushing caches when increasing
filtering, which should not affect the scriptlets cache.
2023-10-21 14:25:26 -04:00
Raymond Hill
d6bd14d708 Make Firefox dev build auto-update 2023-10-21 10:11:30 -04:00
Raymond Hill
e4490ee92a New revision for release candidate 2023-10-21 10:00:02 -04:00
Raymond Hill
1c9da227d7 Add trusted-prune-inbound-object scriptlet
As per discussion with filter list maintainers.

To perform object pruning for any given call which has an object
as argument (hence "inbound").

Since `json-prune-stringify` scriptlet is a specific form of
pruning inbound objects, it has been removed.

The arguments for `trusted-prune-inbound-object` in order are:

- The name of the property to trap. Must be a function, and must
  exist when the scriptlet tries to install the trap.

- The position of the object to prune in the argument list when
  the trapped function is called. The position is 1-based and
  must be an integer greater than 0.

- The properties to prune (as with `json-prune`)

- The properties which must all be present for pruning to occur
  (as with `json-prune`)

- Varargs:
  - `, dontOverwrite, 1`: do not modify the target inbound object

Examples:

Remove `title` and `name` properties before passing the object to
`JSON.stringify` call:

  example.org##+js(trusted-prune-inbound-object, JSON.stringify, 1, title name)

Remove `status` property before passing the object to `Object.keys`
call but do not modify caller's instance of the object:

  example.org##+js(trusted-prune-inbound-object, Object.keys, 1, status, , dontOverwrite, 1)
2023-10-21 09:31:50 -04:00
Raymond Hill
287f7711aa Import translation work from https://crowdin.com/project/ublock 2023-10-21 08:19:28 -04:00
Raymond Hill
6af4494946 [mv3] Honor scriptlets' target world in Firefox
When the target world of a scriptlet is the ISOLATED one,
skip Blob-based injection in Firefox, as the current world
is always the ISOLATED one. This should make ISOLATED
world-based scriptlets more reliable (i.e. execute sooner)
in Firefox.
2023-10-21 07:11:12 -04:00
Raymond Hill
607bba6eaf Add dontOverwrite vararg to (trusted-)set-cookie scriptlet
When the vararg `, dontOverwrite, 1` is present, the scriptlet will
not modify the cookie if it already exists.

Related discussion:
https://github.com/uBlockOrigin/uAssets/issues/19976#issuecomment-1773466740
2023-10-20 21:38:54 -04:00
Raymond Hill
009c572cb0 Make Firefox dev build auto-update 2023-10-20 20:56:10 -04:00
Raymond Hill
9aaa7ab3f5 New revision for dev build 2023-10-20 20:44:57 -04:00
peace2000
eb66129fbf Add "on" and "off" values to set-cookie (#3898)
* Add "on" and "off" values to set-cookie

Used on praxisplan.at.

0cd4612e18

* Update scriptlets.js
2023-10-20 20:43:52 -04:00
Raymond Hill
41d91ed080 Fine tune set-local-storage-item as per feedback
Related feedback:
- https://github.com/uBlockOrigin/uAssets/discussions/20194
- https://github.com/gorhill/uBlock/pull/3898
2023-10-20 20:10:35 -04:00
Raymond Hill
f0cd93335e Revert "Turns out delay does apply to first element"
This reverts commit 906c6eb430.
2023-10-19 17:23:05 -04:00
Raymond Hill
906c6eb430 Turns out delay does apply to first element
Regarding `trusted-click-element`, and as per documentation
and code:
- https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-trusted-scriptlets.md#trusted-scriptlets
- https://github.com/AdguardTeam/Scriptlets/blob/master/src/scriptlets/trusted-click-element.js
2023-10-19 14:08:57 -04:00
Raymond Hill
e873fd5378 Add cdn.statically.io as CDN for ublock-quick-fixes (dev build) 2023-10-18 11:38:00 -04:00
Raymond Hill
b219faf3c7 Make Firefox dev build auto-update 2023-10-18 10:51:36 -04:00
Raymond Hill
b73a0bef59 New revision for dev build 2023-10-18 10:18:55 -04:00
Raymond Hill
4dc396ff05 Fix typos in comments 2023-10-18 09:50:58 -04:00
Raymond Hill
9d3acd91b8 Support AdGuard's [trusted-]set-cookie-reload scriptlets
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2881
2023-10-18 09:48:08 -04:00
Raymond Hill
5bd40b34cd Support pairing doc with urltransform
Related feedback:
2e4525fe3c (commitcomment-130203742)
2023-10-18 09:06:28 -04:00
Raymond Hill
74a4772e41 Fix comment 2023-10-18 08:55:09 -04:00
Raymond Hill
b0fe6d228a Use @latest instead of @main for jsDelivr CDN 2023-10-17 23:25:06 -04:00
Raymond Hill
b98ee0f442 Minor code review 2023-10-17 23:11:06 -04:00
Raymond Hill
31bdc9ef0d Make Firefox dev build auto-update 2023-10-17 17:50:55 -04:00
Raymond Hill
5a471c2a01 New revision for dev build 2023-10-17 17:35:39 -04:00
Raymond Hill
51359c6585 [experimental] Add json-stringify scriptlet
Will be evaluated this current dev cycle and as a result
might be removed before next stable.

Other changes to increase code consistency.
2023-10-17 17:33:49 -04:00
Raymond Hill
c0ea5ebab5 Make Firefox dev build auto-update 2023-10-17 12:41:16 -04:00
Raymond Hill
5827f7161e New revision for dev build 2023-10-17 12:32:05 -04:00
Raymond Hill
f34855b859 Do not consider same-creation time to be a stale status
Related commit:
7daf31336a
2023-10-17 12:30:06 -04:00
Raymond Hill
7daf31336a Ignore assets older than cached version when fetching from CDNs
As discussed with filter list volunteers.

https://github.com/uBlockOrigin/uBlock-discussions/discussions/781#discussioncomment-7283981
2023-10-17 12:08:10 -04:00
Raymond Hill
f122ce7320 Add logging ability to trusted-click-element
If the vararg `, log, 1` is present, the scriptlet will log to
the console it's execution steps. Works only in dev build.
2023-10-16 19:53:48 -04:00
Raymond Hill
5a24fad8ad Make fine-tuned json-prune-[...] scriptlets the default behavior
As discussed with filter list maintainers.
2023-10-16 19:36:16 -04:00
Raymond Hill
05ae51beb2 Minor code review of last commit
Related commit:
027c7a4fb5
2023-10-16 18:05:41 -04:00
Raymond Hill
027c7a4fb5 Support quoting scriptlet parameters with backticks
(In addition to in already supported single- and double-quote).

The parsing of (optionally) quoted arguments from an argument
list has been spinned off into a standalone helper in order to
be reused in other parts of the parser eventually.
2023-10-16 17:38:57 -04:00
Raymond Hill
1e4818a6e3 Make Firefox dev build auto-update 2023-10-16 11:21:00 -04:00
Raymond Hill
5f0a883475 New revision for dev build 2023-10-16 11:16:06 -04:00
Raymond Hill
c06f5e014f Prevent redirecting when URL is not transformed
Related commit:
https://github.com/gorhill/uBlock/commit/2e4525fe3c
2023-10-16 11:14:12 -04:00
Raymond Hill
8b107e1bac Make Firefox dev build auto-update 2023-10-16 10:21:22 -04:00
Raymond Hill
90e4a57062 New revision for dev build 2023-10-16 10:11:27 -04:00
Raymond Hill
2e4525fe3c Add new static network filter option: urltransform
The `urltransform` option allows to redirect a non-blocked network
request to another URL. There are restrictions on its usage:

- require a trusted source -- thus uBO-maintained lists or user
  filters
- the `urltransform` value must start with a `/`

If at least one of these conditions is not fulfilled, the filter
will be invalid and rejected.

The requirement to start with `/` is to enforce that only the path
part of a URL can be modified, thus ensuring the network request
is redirected to the same scheme and authority (as defined at
https://en.wikipedia.org/wiki/Uniform_Resource_Identifier#Syntax).

Usage example (redirect requests for CSS resources to a non-existing
resource, for demonstration purpose):

    ||iana.org^$css,urltransform=/notfound.css

Name of this option is inspired from DNR API:
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/URLTransform

This commit required to bring the concept of "trusted source" to
the static network filtering engine.
2023-10-16 09:47:29 -04:00
Raymond Hill
bee64ebd90 Support pane: mark lists as obsolete only when update button is clicked
Lists older than 2 hours were unconditionally marked as obsolete when
opening the _Support_ pane. Those lists will now be marked as obsolete
only when the _Update now_ button in the _Support_ pane is pressed, i.e.
when launching an update cycle.

Related discussion:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/781#discussioncomment-7287323
2023-10-16 07:33:38 -04:00
Raymond Hill
b1530e2659 Fix #2874 as suggested 2023-10-15 20:16:44 -04:00
Raymond Hill
763e9eb2a8 Make Firefox dev build auto-update 2023-10-15 16:51:30 -04:00
Raymond Hill
99fb888328 New revision for dev build 2023-10-15 16:41:08 -04:00
Raymond Hill
7c660b2aad Remove stray tab 2023-10-15 16:40:35 -04:00
Raymond Hill
c0d80ac510 Fine tune trusted-click-element scriptlet 2023-10-15 16:14:44 -04:00
Raymond Hill
906c6072d6 Make Firefox dev build auto-update 2023-10-15 13:46:14 -04:00
Raymond Hill
349825ac08 New revision for dev build 2023-10-15 13:35:06 -04:00
Raymond Hill
c96a673338 Bring header= filter option out of experimental status
Related commits:
- bde3164eb4
- 5db8d05975

Reference documentation:
https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#header

Compatible with AdGuard's `header=` option:
https://adguard.com/kb/general/ad-filtering/create-own-filters/#header-modifier

Partially compatible with ABP's `header=` option: Not compatible if
a header value is specified, as ABP requires `=` as separator between
the header name and header value, whereas uBO and AdGuard require `:`
as separator. If no header value is present, the option becomes compatible
with ABP's syntax.
https://gitlab.com/adblockinc/ext/adblockplus/adblockplusui/-/issues/898
2023-10-15 13:17:13 -04:00
Raymond Hill
7af88b025d Add trusted-click-element scriptlet
Implemented as per AdGuard API documentation:
https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-trusted-scriptlets.md#trusted-click-element

The current implementation in uBO does not support the `extraMatch`
argument. If the extraMatch argument is not empty, the scriptlet
will abort and do nothing.

As for the rest, it complies with the documentation.
2023-10-15 11:08:15 -04:00
Raymond Hill
9a809a8e7c Fix comment 2023-10-15 11:06:40 -04:00
Raymond Hill
b41c4c25e3 Make Firefox dev build auto-update 2023-10-14 14:06:03 -04:00
Raymond Hill
d25306f300 Modify manifest.json for other platforms
As per 0325dcdcb4
2023-10-14 13:55:46 -04:00
Raymond Hill
006f4ed68f New revision for dev build 2023-10-14 13:52:39 -04:00
Raymond Hill
0325dcdcb4 Add ability to update lists through links with specifically crafted URLs
As per discussion with uBO volunteers.

Volunteers offering support for uBO will be able to craft links with
specially formed URLs, which once clicked will cause uBO to automatically
force an update of specified filter lists.

The URL must be crafted as shown in the example below:

https://ublockorigin.github.io/uAssets/update-lists.html?listkeys=ublock-filters,easylist

Where the `listkeys` parameter is a comma-separated list of tokens
corresponding to filter lists. If a token does not match an enabled
filter list, it will be ignored.

The ability to update filter lists through a specially crafted link
is available only on uBO's own support sites:

- https://github.com/uBlockOrigin/
- https://reddit.com/r/uBlockOrigin/
- https://ublockorigin.github.io/

Additionally, a visual cue has been added in the "Filter lists" pane
to easily spot the filter lists which have been recently updated, where
"recently" is currently defined as less than an hour ago.
2023-10-14 13:41:49 -04:00
Raymond Hill
17d30343c5 Use safe Array.from() in no-xhr-if scriptlet
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/20063
2023-10-14 08:03:29 -04:00
Raymond Hill
70f247d7f5 Make Firefox dev build auto-update 2023-10-13 22:05:56 -04:00
Raymond Hill
657d34c371 New revision for dev build 2023-10-13 21:54:08 -04:00
Raymond Hill
e5c1b63315 Fix overzealous matching in (remove|replace)-node-text scriptlets
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2868
2023-10-13 21:51:13 -04:00
Raymond Hill
be60ac33c2 Make Firefox dev build auto-update 2023-10-13 21:36:11 -04:00
Raymond Hill
9bd85d4142 New revision for dev build 2023-10-13 21:25:26 -04:00
Raymond Hill
6f74df942d Fix no-xhr-if scriptlet for Firefox
Related feedback:
https://github.com/uBlockOrigin/uAssets/issues/20063#issuecomment-1762157408
2023-10-13 21:24:21 -04:00
Raymond Hill
fb42411efb Add browser_specific_settings.gecko_android to Firefox manifests
Reference:
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings
2023-10-11 12:32:38 -04:00
Raymond Hill
f15dff27fe Minor code review 2023-10-10 13:30:18 -04:00
Raymond Hill
3a5606125d Import translation work from https://crowdin.com/project/ublock 2023-10-10 10:42:14 -04:00
Raymond Hill
e376712ee1 Make Firefox dev build auto-update 2023-10-10 10:36:38 -04:00
Raymond Hill
72f33ea1dc New revision for dev build 2023-10-10 10:24:48 -04:00
Raymond Hill
437453233d Support restoring from application/json file
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2853
2023-10-10 10:16:55 -04:00
Raymond Hill
0a18f75897 Fix dumping of CFE internals when no cosmetic filters present 2023-10-09 11:12:10 -04:00
Raymond Hill
780383faef Use safe versions of Math.floor/Math.random in scriptlets
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/78
2023-10-09 09:45:26 -04:00
Raymond Hill
ad75b1bdba Remove unreferenced dependencies
Related commit:
d4918c1d0a
2023-10-07 13:48:28 -04:00
Raymond Hill
92ca156c56 Make Firefox dev build auto-update 2023-10-07 12:35:49 -04:00
Raymond Hill
078bb7b102 New revision for dev build 2023-10-07 12:28:54 -04:00
Raymond Hill
02c7b32bef Improve google-ima.js surrogate
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2265
- https://github.com/uBlockOrigin/uAssets/issues/19981
2023-10-07 12:27:03 -04:00
Raymond Hill
d4918c1d0a Add version vararg to [...]-fetch-response scriptlets
If the `version` vararg is present and set to `2`, and if a
fetch Request argument is present, it will be cloned before
being matched to `propsToMatch` properties.

Additionally, created a `.fn` version of `[...]-fetch-response`
scriptlets to avoid redundant code in final injected scriptlets.
2023-10-07 11:49:17 -04:00
Raymond Hill
67f1d7de66 Make Firefox dev build auto-update 2023-10-05 11:36:20 -04:00
Raymond Hill
d94ee8d6e1 New revision for dev build 2023-10-05 11:28:41 -04:00
Raymond Hill
bd71d131a8 Catch unhandled exceptions
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/77
2023-10-05 11:25:28 -04:00
Raymond Hill
6b211f622c Add stackToMatch vararg to json-prune-related scriptlets
As per discussion with filter list maintainers.
2023-10-05 11:24:35 -04:00
Raymond Hill
7416340144 Prune rules with invalid regex-based filter for all realms
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/77
2023-10-03 10:51:47 -04:00
Raymond Hill
1268f7733e Make Firefox dev build auto-update 2023-10-02 09:06:17 -04:00
Raymond Hill
50140f3da7 New revision for dev build 2023-10-02 08:59:26 -04:00
Raymond Hill
4cac9d185b Reduce race conditions in scriptlet injection on Firefox
This is done by taking advantage through Firefox-specific
contentScripts.register() API:

https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/contentScripts
2023-10-02 08:42:03 -04:00
Raymond Hill
f580cb414d Make Firefox dev build auto-update 2023-09-29 13:00:48 -04:00
Raymond Hill
34f18acca5 New revision for dev build 2023-09-29 12:53:29 -04:00
Raymond Hill
d3b95c1c68 Add site-specific scriptlet
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/19903
2023-09-29 12:51:44 -04:00
Raymond Hill
1ff3878a49 Add prevent-canvas scriptlet
Prevent usage of specific or all (default) canvas APIs.

Syntax

```text
example.com##+js(prevent-canvas [, contextType])
```

- `contextType`: A specific type of canvas API to prevent (default to all
  APIs). Can be a string or regex which will be matched against the type
  used in getContext() call. Prepend with `!` to test for no-match.

Examples

1. Prevent `example.com` from accessing all canvas APIs

```adblock
example.com##+js(prevent-canvas)
```

2. Prevent access to any flavor of WebGL API, everywhere

```adblock
*##+js(prevent-canvas, /webgl/)
```

3. Prevent `example.com` from accessing any flavor of canvas API except `2d`

```adblock
example.com##+js(prevent-canvas, !2d)
```

References

https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/getContext
2023-09-28 11:26:45 -04:00
Raymond Hill
c20cfd41a9 Make Firefox dev build auto-update 2023-09-28 10:15:47 -04:00
Raymond Hill
2ca4b73f95 New revision for dev build 2023-09-28 10:09:52 -04:00
Raymond Hill
4e2aa3e384 Add scriptlet aliases for compatibility with AdGuard lists
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2828
2023-09-28 10:07:03 -04:00
Raymond Hill
c3cd596175 Remove unmaintained urlhaus PUP filter list
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2844
2023-09-28 09:49:07 -04:00
Raymond Hill
402e2ebf57 Use AG version of urlhaus list
Related discussion:
https://github.com/uBlockOrigin/uAssets/issues/7636#issuecomment-1735697402
2023-09-26 16:20:01 -04:00
Raymond Hill
38ac26a949 Make Firefox dev build auto-update 2023-09-22 09:45:51 -04:00
Raymond Hill
b95c90ba7c Import translation work from https://crowdin.com/project/ublock 2023-09-22 09:36:01 -04:00
Raymond Hill
bf828bc022 New revision for dev build 2023-09-22 09:33:43 -04:00
Raymond Hill
cce3f3efc1 Minor code review of scriptlets 2023-09-22 09:33:02 -04:00
Raymond Hill
3f3f383473 Make Firefox dev build auto-update 2023-09-19 07:31:31 -04:00
Raymond Hill
3e55da476c New revision for dev build 2023-09-19 07:19:39 -04:00
Daylin Cooper
ce959164bb Fix XHR hook partial response handling. 2023-09-18 23:39:17 -07:00
Raymond Hill
54dc0cd32d Make Firefox dev build auto-update 2023-09-17 10:46:27 -04:00
Raymond Hill
f81ec52fa8 New revision for dev build 2023-09-17 10:39:22 -04:00
Raymond Hill
20d3c6a466 Fix detection of leading combinators
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/2778#issuecomment-1722488224
2023-09-17 10:37:43 -04:00
Raymond Hill
d005e3f3ac [mv3] Fix glitchy popup panel when width increases
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/66
2023-09-16 12:23:47 -04:00
Raymond Hill
ee6de37b6e [mv3] Rework dashboard to avoid usage of iframe
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/67
2023-09-16 11:46:39 -04:00
Raymond Hill
e6aae07310 Make Firefox dev build auto-update 2023-09-16 10:36:38 -04:00
Raymond Hill
723302069d New revision for dev build 2023-09-16 10:30:08 -04:00
Raymond Hill
7ef3408712 Fix regression in :is() operator
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2818
2023-09-16 09:45:46 -04:00
Raymond Hill
98e1b264de Update scriptlets
Allow smaller multipliers in nano-sib/nano-stb
https://github.com/uBlockOrigin/uBlock-issues/issues/2808

Remove adfly-defuser, which is now unused.
2023-09-14 11:13:58 -04:00
Raymond Hill
c7535f1eda Make Firefox dev build auto-update 2023-09-12 20:40:57 -04:00
Raymond Hill
627254bdc9 New revision for dev build 2023-09-12 20:35:20 -04:00
Raymond Hill
313a3121c9 Do not assume set viewport for popup panel when using portrait mode in descktop
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2814
2023-09-12 20:33:14 -04:00
Raymond Hill
77a04584d0 Make Firefox dev build auto-update 2023-09-11 12:46:23 -04:00
Raymond Hill
552a094bd6 New revision for dev build 2023-09-11 12:37:14 -04:00
Raymond Hill
2571660161 Fix removal of :scope prefix in :has() operator
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/2778#issuecomment-1705101771
2023-09-11 12:34:53 -04:00
Raymond Hill
d5fb3c08a1 Remove broken content link for ROU list 2023-09-10 16:10:04 -04:00
Raymond Hill
74d04f1945 [mv3] Fix overiting of version in manifest 2023-09-10 14:24:29 -04:00
Raymond Hill
1db17ac4bf [mv3] Support the tagname being set externally 2023-09-09 09:47:38 -04:00
Raymond Hill
b2d8c9a0ba Drop cdn.statically.io for quick-fixes for the time being 2023-09-08 09:35:19 -04:00
Raymond Hill
c0df544e8c New revision for stable release 2023-09-08 09:32:59 -04:00
Raymond Hill
ba8820fe31 Import translation work from https://crowdin.com/project/ublock 2023-09-08 09:19:26 -04:00
Raymond Hill
df5a48488c Make Firefox dev build auto-update 2023-09-06 13:15:43 -04:00
Raymond Hill
28d5fe505e New revision for release candidate 2023-09-06 13:06:05 -04:00
Raymond Hill
14d60ac5d3 Fix json-prune-xhr-response as per feedback
Related commit:
abe41034f6
2023-09-06 13:04:43 -04:00
Raymond Hill
5c9c0a8023 Make Firefox dev build auto-update 2023-09-05 14:21:13 -04:00
Raymond Hill
8f8ca5c5c9 New revision for release candidate 2023-09-05 14:13:45 -04:00
Raymond Hill
abe41034f6 Change approach to ...-xhr-response scriptlets
Related commit:
3152896d42
2023-09-05 14:11:33 -04:00
Raymond Hill
0f82471ee2 Make Firefox dev build auto-update 2023-09-04 15:16:10 -04:00
Raymond Hill
e9147b534d New revision for release candidate 2023-09-04 15:00:57 -04:00
Raymond Hill
3152896d42 Add json-prune-xhr-response and trusted-replace-xhr-response scriptlets
As discussed with filter list maintainers.

Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2743
2023-09-04 14:54:57 -04:00
Raymond Hill
eeafae12b0 Let uBOL-home pick the uBO version 2023-08-25 11:17:15 -04:00
Raymond Hill
1fc4232ece Make Firefox dev build auto-update 2023-08-25 07:46:09 -04:00
Raymond Hill
971a71c7a2 New revision for dev build 2023-08-25 07:39:20 -04:00
Raymond Hill
2282215e1c Use globalThis instead of self in scriptlet helper
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/discussions/2768
2023-08-25 07:28:50 -04:00
Raymond Hill
15e6f7990a Make Firefox dev build auto-update 2023-08-23 10:25:53 -04:00
Raymond Hill
dd78aa99ad New revision for release candidate 2023-08-23 10:17:51 -04:00
Raymond Hill
4fc8eef1c1 Fix typo in last commit 2023-08-23 09:45:58 -04:00
Raymond Hill
749cec0f09 Add json-prune-fetch-response scriptlet
As per request from filter list maintainers.

Usage:

  ...##+js(json-prune-fetch-response, prune paths [, needle paths [, ...varargs ]])

See `json-prune` scriptlet for usage.

Possible variable arguments:

  ..., log, [match | nomatch | all]
  ..., propsToMatch, [see prevent-xhr]
2023-08-23 08:49:22 -04:00
Raymond Hill
f8a83fff7c [mv3] Fine tune for small screens 2023-08-22 20:08:26 -04:00
Raymond Hill
f5169ac6ea Make Firefox dev build auto-update 2023-08-22 19:26:05 -04:00
Raymond Hill
174ebd5939 New revision for release candidate 2023-08-22 19:13:08 -04:00
Raymond Hill
eccfd3b823 Position reload icon in logger as per feedback
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/2782
2023-08-22 19:11:52 -04:00
Raymond Hill
3c7f35ed9c Import translation work from https://crowdin.com/project/ublock 2023-08-22 10:50:04 -04:00
Raymond Hill
f407c28a00 Re-factor extra args for set-constant scriptlet
To prepare for better compatibility with AdGuard's own `set-constant`
scriptlet.

The 3rd position parameter which dictates how to set the value has
been converted into a vararg paramater, as follow:

  ..., as, function
  ..., as, callback
  ..., as, resolved
  ..., as, rejected

Similarly, the parameter used to dictate when the scriptlet
should become effective is now to be used as a vararg:

  ..., runAt, load

Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2783

Ideally, AdGuard would support its `stack` parameter as a
vararg, to be discussed.
2023-08-22 10:12:08 -04:00
Raymond Hill
5cf9e5382d Make Firefox dev build auto-update 2023-08-20 13:20:50 -04:00
Raymond Hill
babd59f3a3 New revision for dev build 2023-08-20 13:16:12 -04:00
Raymond Hill
77c3ad2812 Fix bad regression in cosmetic filtering
Related commit:
393fd90f9d
2023-08-20 13:14:36 -04:00
Raymond Hill
c4f2f2b6c2 Make Firefox dev build auto-update 2023-08-20 11:40:56 -04:00
Raymond Hill
4c4fa01968 New revision for dev build 2023-08-20 11:30:57 -04:00
Raymond Hill
55d068aca3 Use Unicode version of hostnames in element picker
Related feedback:
https://www.reddit.com/r/uBlockOrigin/comments/15vfkm6/
2023-08-20 11:27:19 -04:00
Raymond Hill
ed6c0d2f50 Make Firefox dev build auto-update 2023-08-20 11:01:18 -04:00
Raymond Hill
aab46dac2f New revision for dev build 2023-08-20 10:45:51 -04:00
Raymond Hill
393fd90f9d Disallow trailing CSS universal selector unless properly separated
Related discussion:
https://www.reddit.com/r/uBlockOrigin/comments/15tzgud/ads_on_twitterx_again/jwn8bkj/
2023-08-20 10:41:43 -04:00
Raymond Hill
f9ba65b829 [mv3] Put icon in nav bar by default
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2781
2023-08-20 09:35:16 -04:00
Raymond Hill
ca6adbca56 [mv3] Point to new uBO version 2023-08-20 08:54:32 -04:00
Raymond Hill
7973593423 Make Firefox dev build auto-update 2023-08-20 08:50:42 -04:00
Raymond Hill
80c6647a70 New revision for dev build 2023-08-20 08:43:30 -04:00
Raymond Hill
21bb4e56ed Put uBO's icon in nav bar by default
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2781
2023-08-20 08:38:42 -04:00
Raymond Hill
4b83101ab9 Fix/improve xml-prune scriptlet
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/14849#issuecomment-1257094491
2023-08-20 08:36:16 -04:00
Raymond Hill
b1f0c5b773 Typo 2023-08-19 19:56:00 -04:00
Raymond Hill
96a07d42e3 [mv3] Set minimum version to Firefox 114 2023-08-19 19:22:53 -04:00
Raymond Hill
b699691e40 Minor code review of scriptlets 2023-08-19 19:21:22 -04:00
Raymond Hill
0ad456e905 [mv3] Rename uBOL-issues repo to uBOL-home
From now on, new uBOL releases will go into uBOL-home repo.
2023-08-19 11:26:33 -04:00
gorhill
40570d7f0f Update build log file
Files changed:
M	dist/mv3/log.txt
2023-08-19 15:11:31 +00:00
Raymond Hill
0d4640c31f Update mv3.yml 2023-08-19 11:09:04 -04:00
gorhill
d6f17f8f74 Update build log file
Files changed:
M	dist/mv3/log.txt
2023-08-19 14:58:37 +00:00
gorhill
8680e38eda Update build log file
Files changed:
M	dist/mv3/log.txt
2023-08-19 14:49:52 +00:00
Raymond Hill
24040f6a64 Update mv3.yml 2023-08-19 10:46:09 -04:00
gorhill
ac53ac5fee Update build log file
Files changed:
M	dist/mv3/log.txt
2023-08-19 13:19:20 +00:00
Raymond Hill
179e0fe9fa re-oops 2023-08-19 09:15:15 -04:00
Raymond Hill
faa4b7b69a oops 2023-08-19 08:56:57 -04:00
Raymond Hill
bcc0803bb5 [mv3] Use specific commit URL to pick uBO repo version 2023-08-19 08:50:20 -04:00
Raymond Hill
f216dc3c4b [mv3] Create releases in uBOL-issues repo 2023-08-19 07:52:44 -04:00
Raymond Hill
857abb380b [mv3] Add support for converting ^responseheader() filters to DNR
Additionally, finalize versioning scheme for uBOL. Since most updates
will be simply related to update rulesets, the version will from now
on reflects the date at which the extension package was created:

  year.month.day.minutes

So for example:

  2023.8.19.690
2023-08-19 07:48:14 -04:00
Raymond Hill
eb235404bd Use 'wasm-unsafe-eval' instead of deprecated 'wasm-eval'
Reference:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src#unsafe_webassembly_execution
2023-08-18 10:01:08 -04:00
Raymond Hill
2bbad0c692 Make permissions= as a modifier in logger 2023-08-17 17:11:47 -04:00
Raymond Hill
dde246f202 Do not issue extraneous doc separators in logger 2023-08-17 09:28:29 -04:00
gorhill
d9b338c8bc Update build log file
Files changed:
M	dist/mv3/log.txt
2023-08-15 14:26:39 +00:00
Raymond Hill
17ae7f3459 [mv3] Prepare new uBO Lite version to fix regression 2023-08-15 10:23:09 -04:00
Raymond Hill
541ccd3216 Make Firefox dev build auto-update 2023-08-15 10:21:28 -04:00
Raymond Hill
da0467365a New revision for dev build 2023-08-15 10:13:15 -04:00
Raymond Hill
fbc7a0e0ae Properly serialize CSS combinators according to position in selector
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2778

Regression from:
bb41d9594f

The regression occurred because the modified code made the assumption
that a leading combinator would never be preceded by whitespace, while
the parser didn't prevent this.

The parser has been fixed to ensure there is never a leading
whitespace in a selector.
2023-08-15 10:07:42 -04:00
Raymond Hill
79cf5f574c Make Firefox dev build auto-update 2023-08-14 13:45:39 -04:00
Raymond Hill
063581dae0 New revision for dev build 2023-08-14 13:40:17 -04:00
Raymond Hill
2a6c1d30b4 Fix regression in vAPI.warSecret guard code
Related commit:
https://github.com/gorhill/uBlock/commit/bf591d93fb
2023-08-14 13:39:27 -04:00
Raymond Hill
74fa4f9e0e Make Firefox dev build auto-update 2023-08-14 13:16:34 -04:00
Raymond Hill
5540b1aab5 New revision for dev build 2023-08-14 13:10:36 -04:00
Raymond Hill
62f2a3e68d Fix broken mapping between scriptlet aliases and canonical name
Related commit:
bf591d93fb
2023-08-14 13:09:19 -04:00
Raymond Hill
c32c39fa6b Make Firefox dev build auto-update 2023-08-14 10:21:01 -04:00
Raymond Hill
88a0c2dabb New revision for dev build 2023-08-14 10:13:08 -04:00
Raymond Hill
bf591d93fb Imrpove no-xhr-if scriptlet
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2773

The `randomize` paramater introduced in https://github.com/gorhill/uBlock/commit/418087de9c
is now named `directive`, and beside the `true` value which is meant
to respond with a random 10-character string, it can now take the
following value:

  war:[web_accessible_resource name]

In order to mock the XHR response with a web accessible resource. For
example:

  piquark6046.github.io##+js(no-xhr-if, adsbygoogle.js, war:googlesyndication_adsbygoogle.js)

Will cause the XHR performed by the webpage to resolve to the content
of `/web_accessible_resources/googlesyndication_adsbygoogle.js`.

Should the resource not exist, the empty string will be returned.
2023-08-14 10:03:50 -04:00
Raymond Hill
c92cdd5818 Make Firefox dev build auto-update 2023-08-13 13:36:04 -04:00
Raymond Hill
53fd3039a4 New revision for dev build 2023-08-13 13:30:35 -04:00
Raymond Hill
4feb59435a Typo 2023-08-13 13:28:02 -04:00
Raymond Hill
418087de9c Improve no-xhr-if scriptlet
Now support AdGuard's `randomize` parameter. If `true`,
the scriplet will generate a random 10-character string
to be returned as the response.

Reference:
https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#prevent-xhr

AdGuard's `prevent-xhr` also support `length:n-m` form,
but since I do not see it being used, for now it's not
supported in uBO's `no-xhr-if`.

Additionally, the scriptlet will now honor `responseType` and
return the proper response type accordingly.
2023-08-13 13:23:41 -04:00
gorhill
21fe1c2df8 Update build log file
Files changed:
M	dist/mv3/log.txt
2023-08-12 23:41:30 +00:00
Raymond Hill
be7f277251 Fix link to package in update.json 2023-08-12 09:02:25 -04:00
gorhill
a7387818d1 Update build log file
Files changed:
M	dist/mv3/log.txt
2023-08-12 12:09:12 +00:00
Raymond Hill
376bddb0ff Update README.md 2023-08-12 08:06:31 -04:00
Raymond Hill
f049aea65e Provide instructions on how to build uBO Lite
Required by AMO when submitting an extension to be hosted on AMO.
2023-08-12 08:02:42 -04:00
Raymond Hill
f20f2bbc77 Update mv3.yml 2023-08-12 07:50:06 -04:00
gorhill
44f3bea4c3 Update build log file
Files changed:
M	dist/mv3/log.txt
2023-08-12 11:02:32 +00:00
Raymond Hill
c4d324362f Make Firefox dev build auto-update 2023-08-11 20:50:45 -04:00
gorhill
5e9d9f0ddd Update build log file
Files changed:
M	dist/mv3/log.txt
2023-08-12 00:46:44 +00:00
Raymond Hill
a9a78d415d [mv3] Various approach to minimize DNR ruleset file
Related issue:
https://github.com/mozilla/addons-server/issues/4717
2023-08-11 20:42:03 -04:00
gorhill
9d696998c7 Update build log file
Files changed:
M	dist/mv3/log.txt
2023-08-11 22:23:22 +00:00
gorhill
8f49c74ad7 Update build log file
Files changed:
M	dist/mv3/log.txt
2023-08-11 21:58:43 +00:00
Raymond Hill
3d60d1bde4 Comment 2023-08-11 17:55:29 -04:00
Raymond Hill
bb41d9594f [mv3] Use workaround to inject scriptlets in Firefox
Additionally:

Use `export UBO_VERSION=local` at the console to build MV3 extension using
current version of uBO code base. By default, the version is taken from
`./platform/mv3/ubo-version' and usually set to last stable release.
2023-08-11 13:22:25 -04:00
Raymond Hill
5ec0550581 Make Firefox dev build auto-update 2023-08-10 13:41:31 -04:00
Raymond Hill
115f9d43d0 New revision for dev build 2023-08-10 13:34:26 -04:00
Raymond Hill
cbadfe05ee Remove unused import 2023-08-10 13:31:52 -04:00
gorhill
0b0451f50f Update build log file
Files changed:
M	dist/mv3/log.txt
2023-08-10 17:20:09 +00:00
Raymond Hill
2d32505045 Build uBO Lite on top of stable release of uBO 2023-08-10 13:16:35 -04:00
Raymond Hill
e295822f93 Build uBO Lite on top of stable release of uBO 2023-08-10 13:08:15 -04:00
Raymond Hill
79ed0c76cb Use non-normalized URL for reload/report operations
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2774
2023-08-10 12:10:19 -04:00
Raymond Hill
7bcc340ab0 Add commented keywords to googlesyndication_adsbygoogle.js scriptlet
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2773
2023-08-10 09:54:58 -04:00
Raymond Hill
ef865bea19 Add more info to logged output 2023-08-09 11:18:04 -04:00
Raymond Hill
cfac880cf5 Improve logging abilities of object-prune.fn 2023-08-09 11:05:53 -04:00
Raymond Hill
ec82dec757 Make Firefox dev build auto-update 2023-08-09 09:41:18 -04:00
Raymond Hill
e34f82f3df New revision for dev build 2023-08-09 09:30:30 -04:00
Raymond Hill
3c609793fd Improve fingerprint2.js scriptlet
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2741
2023-08-09 09:28:05 -04:00
Raymond Hill
a3a2ac5ec0 Nothing can come after action operator in procedural cosmetic filters
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2760
2023-08-09 08:26:35 -04:00
Raymond Hill
b4ffd16db6 Fix/improve logging in json-prune scriptlet 2023-08-09 08:02:45 -04:00
Raymond Hill
2c04b5a982 Add ability to distinguish trapped entry point in json-prune 2023-08-08 12:30:42 -04:00
Raymond Hill
4f082a96bc Support negated pattern for *[pP]ropsToMatch values in scriptlets 2023-08-08 12:20:03 -04:00
Raymond Hill
d6ab05531c Make Firefox dev build auto-update 2023-08-08 10:40:53 -04:00
Raymond Hill
36454bdf75 New revision for dev build 2023-08-08 10:30:53 -04:00
Raymond Hill
96d7b278b4 Output scriplet errors to console in dev build 2023-08-08 10:29:54 -04:00
Raymond Hill
f8394ff2d5 Add variable argument fetchPropsToMatch to json-prune scriptlet
`fetchPropsToMatch` is an optional variable argument. If provided,
the scriplet will take effect only when the JSON data is obtained
through `Response.json()` and if there is a match with the value of
`fetchPropsToMatch` and the properties of the `Response` instance.

Examples of usage:

...##+js(json-prune, ads, , , fetchPropsToMatch, ?param=)
...##+js(json-prune, ads, , , fetchPropsToMatch, url:?param= method:get)

The optional variable argument `fetchPropsToMatch` acts as an additional
narrowing condition to fulfill before the JSON data is pruned.
2023-08-08 10:18:34 -04:00
Raymond Hill
8bf1ed954d Move often-used scriptlet dependencies to safe-self 2023-08-08 07:41:21 -04:00
Raymond Hill
9ac18318af Fix parsing cosmetic filter anchor when using AdGuard/ABP modifiers
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2765
2023-08-07 13:58:15 -04:00
Raymond Hill
e33d29ac5a Make Firefox dev build auto-update 2023-08-07 13:15:57 -04:00
Raymond Hill
0088ff74d4 New revision for dev build 2023-08-07 13:09:20 -04:00
Raymond Hill
1762ea3950 Generate new Response when no match in trusted-replace-fetch-response scriptlet
Somehow, sending the original Response instance causes issues.
2023-08-07 13:06:54 -04:00
Raymond Hill
5ee00a6b68 Make Firefox dev build auto-update 2023-08-07 10:56:13 -04:00
Raymond Hill
443c30f18c Import translation work from https://crowdin.com/project/ublock 2023-08-07 10:46:39 -04:00
Raymond Hill
b27645af06 New revision for dev build 2023-08-07 10:41:12 -04:00
Raymond Hill
d28b715811 Fix broken trusted-replace-fetch-response when using propsToMatch 2023-08-07 10:37:47 -04:00
Raymond Hill
7f23861e10 Make Firefox dev build auto-update 2023-08-06 11:30:59 -04:00
Raymond Hill
e2501b9531 New revision for dev build 2023-08-06 11:22:03 -04:00
Raymond Hill
2c2fd5f21d Improve trusted-replace-fetch-response as per feedback
Specifically, the variable argument `log` can take one of three
values to enable logging mechanism:

  ..., log, match => log only when there is a match
  ..., log, nomatch => log only when there is no match
  ..., log, all => log unconditionally
2023-08-06 11:19:10 -04:00
Raymond Hill
60fcdf8e71 Update main URL of urlhaus lists
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2766
2023-08-06 09:19:35 -04:00
Raymond Hill
7de61bb4d8 Fix broken "Phishing URL Blocklist" URL
Related feedback:
https://www.reddit.com/r/uBlockOrigin/comments/15iwvqi/
2023-08-05 12:38:10 -04:00
Raymond Hill
32d2f28aae Make Firefox dev build auto-update 2023-08-05 12:06:13 -04:00
Raymond Hill
62c61deaa7 New revision for dev build 2023-08-05 11:57:21 -04:00
Raymond Hill
82a7d11f78 Add trusted-replace-fetch-response scriptlet
This scriplet requires a trusted source.

Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2742

See AdGuard's documentation for usage:
https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-trusted-scriptlets.md#trusted-replace-fetch-response
2023-08-05 11:55:47 -04:00
Raymond Hill
9f91335ae5 Make Firefox dev build auto-update 2023-08-02 11:46:45 -04:00
Raymond Hill
ce4440fd35 New revision for dev build 2023-08-02 11:37:52 -04:00
Raymond Hill
64b849ab0b Harden spoof-css scriptlet 2023-08-02 11:36:54 -04:00
Raymond Hill
4bd562f3c2 Make Firefox dev build auto-update 2023-07-31 10:36:17 -04:00
Raymond Hill
3d9bec7f9d New revision for dev build 2023-07-31 10:12:00 -04:00
Raymond Hill
84cc69aa10 Support negated pattern for stack test in scriptlets
Prepend pattern with `!` to test for unmatched patterns in
stack trace. This applies to sctiplet parameters which purpose
is to test against the stack, i.e. `aost` and `json-prune`.

Additionally, dropped support for JSON notation in favor of
optional variable arguments notation.

Related discussion:
- https://github.com/uBlockOrigin/uBlock-discussions/discussions/789#discussioncomment-6520330
2023-07-31 09:38:04 -04:00
Raymond Hill
bb7779ba75 Make Firefox dev build auto-update 2023-07-29 11:10:58 -04:00
Raymond Hill
2a0a98de3c New revision for dev build 2023-07-29 10:53:23 -04:00
Raymond Hill
223e230e49 Fix looking up clickable URLs in code viewer
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2759
2023-07-29 10:51:15 -04:00
Raymond Hill
81b2fcee5d Fine tune logging capabilities of json-prune scriptlet
This extends logging capabilities of `json-prune` scriptlet as
follow:

  ...##+js(json-prune, a, b, stackNeedle, log, [logneedle], logstack, 1)

Whereas before, the only way to log `json-prune` usage was to skip
providing the property chain:

  ...##+js(json-prune, , b)

Where `b` was the expression to filter out logging output.

With the extended logging capabilities, the logging output can
be filtered out with `logneedle`, which can be a regex literal.

Additionally, to log the stack trace the `stackNeedle` argument
must be set to non-empty string. You can use `/.^/` to log the
stack trace without matching it.
2023-07-29 10:22:52 -04:00
Raymond Hill
b9f3523c95 [mv3] Add managed setting to disable first-run page
Related discussion:
- https://github.com/uBlockOrigin/uBOL-issues/discussions/61

Example of usage (chromium/linux):

    {
      "3rdparty": {
        "extensions": {
          "ddkjiahejlhfcafbddmgiahcphecmpfh": {
            "disableFirstRunPage": true
          }
        }
      }
    }
2023-07-29 09:34:24 -04:00
Raymond Hill
bc74ea82af Deploy changes in assets.dev.json to assets.json
Related commit:
- https://github.com/gorhill/uBlock/commit/f6954430d197
2023-07-28 11:16:59 -04:00
Raymond Hill
cc842b9928 Make Firefox dev build auto-update 2023-07-27 10:00:48 -04:00
Raymond Hill
808fc21670 New revision for dev build 2023-07-27 09:49:35 -04:00
Raymond Hill
4649ae4d78 Add stackNeedle argument to json-prune scriptlet
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2757
2023-07-27 09:41:56 -04:00
Raymond Hill
6d7674e69f Improve logic to detect XMLDocument response in xml-prune
Related discussion:
- https://github.com/uBlockOrigin/uBlock-discussions/discussions/792#discussioncomment-6561841

Additionally, added extra parameter `..., logdoc, 1` to allow dumping whole
document being worked on to the console.
2023-07-27 08:39:28 -04:00
Raymond Hill
d3ef9ccfd1 Make Firefox dev build auto-update 2023-07-25 09:50:57 -04:00
Raymond Hill
b742aab636 New revision for dev build 2023-07-25 09:26:46 -04:00
Raymond Hill
ba31d3c898 Convert abort-current-script to variable paramater list
Related feedback:
- https://github.com/uBlockOrigin/uAssets/discussions/19154
2023-07-25 09:22:47 -04:00
Raymond Hill
334a7440f3 Improve xml-prune scriptlet
Related feedback:
- https://github.com/uBlockOrigin/uBlock-discussions/discussions/792#discussioncomment-6536598
2023-07-25 09:06:54 -04:00
Raymond Hill
ceb7e0c10b Make Firefox dev build auto-update 2023-07-24 08:01:33 -04:00
Raymond Hill
4e483e9385 New revision for dev build 2023-07-24 07:43:09 -04:00
Raymond Hill
fdb6dc2cc2 Fix remnants of visible text in collapsed rows
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2632#discussioncomment-6517792
2023-07-24 07:40:10 -04:00
Raymond Hill
fa489fdb87 Improve remove-class behavior
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2750
2023-07-24 07:33:33 -04:00
Viktor Szépe
c23a9ada33 Fix typos 2023-07-23 10:01:08 -04:00
Raymond Hill
dd890667f2 Make Firefox dev build auto-update 2023-07-22 09:21:00 -04:00
Raymond Hill
c74fc6460e Add visual hint for filtered out rows in firewall pane
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2632
2023-07-22 09:11:23 -04:00
Raymond Hill
873c9181df New revision for dev build 2023-07-22 08:10:40 -04:00
Raymond Hill
8ddad9e39b Add $currentISODate$ to trusted-set-local-storage-item scriptlet
Related feedback:
- https://github.com/uBlockOrigin/uAssets/issues/19120#issuecomment-1646524557

Additionally, improve logging in `m3u-prune` scriptlet.
2023-07-22 07:57:47 -04:00
peace2000
da8fe2f950 Add 'deny' as valid value for set-cookie (#3897)
AG added it as well.

6f36f888bb
2023-07-22 06:31:27 -04:00
Raymond Hill
0eccb6ba44 Make Firefox dev build auto-update 2023-07-20 08:21:07 -04:00
Raymond Hill
e23ce99f34 Use , when normalizing list of selectors 2023-07-20 08:05:58 -04:00
Raymond Hill
43a034ac44 New revision for dev build 2023-07-20 07:57:02 -04:00
Raymond Hill
03d0d8d4ce Eliminate case-sensitivity from values in set-cookie scriptlet
Related discussion:
- https://github.com/uBlockOrigin/uAssets/discussions/18762#discussioncomment-6338716

Additionally, add `allow` as valid value.
2023-07-20 07:53:14 -04:00
Raymond Hill
9d20cbe6af New version for stable release 2023-07-19 18:46:50 -04:00
Raymond Hill
0dabdc1d3f Make Firefox dev build auto-update 2023-07-18 10:06:31 -04:00
Raymond Hill
71cdccb798 New revision for release candidate 2023-07-18 09:56:32 -04:00
Raymond Hill
9ead6ad5ac Remove obsolete entry
Related commit:
- ee0649329c
2023-07-18 09:42:28 -04:00
Raymond Hill
ee0649329c Remove obsolete web_accessible_resources
Add removed resource as an alias of `no-window-open-if.js`.

Related discussion:
- https://github.com/uBlockOrigin/uAssets/issues/19002#issuecomment-1638367659
2023-07-18 09:39:06 -04:00
Raymond Hill
f5abadc815 Make Firefox dev build auto-update 2023-07-17 09:45:48 -04:00
Raymond Hill
f9bb664616 New revision for release candidate 2023-07-17 09:41:19 -04:00
Raymond Hill
ef42819b33 Import translation work from https://crowdin.com/project/ublock 2023-07-17 09:36:56 -04:00
Raymond Hill
cf43be53a6 Fix overly wide source link button
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2735
2023-07-17 09:17:33 -04:00
Raymond Hill
e06e80eccf Make Firefox dev build auto-update 2023-07-16 11:30:43 -04:00
Raymond Hill
6a3eeda3c4 New revision for dev build 2023-07-16 11:27:21 -04:00
Raymond Hill
cdf385f5f4 Add missing (deprecated) method to google ima
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2265#issuecomment-1637094149
2023-07-16 11:23:31 -04:00
Raymond Hill
8a503a8f49 Make Firefox dev build auto-update 2023-07-14 10:06:20 -04:00
Raymond Hill
10efa465b6 New revision for release candidate 2023-07-14 09:59:25 -04:00
Raymond Hill
aa6baf9a29 Fix regression in handling of experimental header= filter option
Also completed fix for reverse lookup issues related to `header=`
filter option:
https://github.com/uBlockOrigin/uBlock-issues/issues/1932
2023-07-14 09:02:10 -04:00
Raymond Hill
0da7e12ea4 Only already normalized CSS selectors can be fast path-compiled
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2730

CSS selectors used in cosmetic filtering are normalized in order
to ignore non-functional differences. For instance:

    example.org##body      p
    example.org#@#body p

The first cosmetic filter should be excepted by the second one,
but this was not the case because the fast path use to compile
common CSS selectors was not causing normalization to take
place.

The fix is to ensure that the fast path used to compile most
common CSS selectors is taken only when in presence of already
normalized CSS selectors.
2023-07-13 18:02:10 -04:00
Raymond Hill
b107040d89 [mv3] Fix strict_min_version for Firefox 2023-07-13 18:02:10 -04:00
gorhill
9bec9c1af4 Update build log file
Files changed:
M	dist/mv3/log.txt
2023-07-13 12:02:51 +00:00
Raymond Hill
fbcd6cf29b Add scriptlet alias for increased compatibility with AdGuard's lists
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2729#issuecomment-1632373662
2023-07-12 07:50:12 -04:00
Raymond Hill
ec06981965 Improve compatibility with AdGuard's scriptlets
Related:
https://testcases.agrd.dev/Filters/scriptlet-rules/test-scriptlet-rules.html
2023-07-11 18:25:21 -04:00
Raymond Hill
41f1ca7d0d Make Firefox dev build auto-update 2023-07-11 15:25:45 -04:00
Raymond Hill
5cf2227065 New revision for dev build 2023-07-11 15:13:27 -04:00
Raymond Hill
6e78ee096a Fix handling of empty strings for set/set-attr scriptlets
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2729
2023-07-11 15:10:27 -04:00
Raymond Hill
4a83b80328 [mv3] Properly enforce generic cosmetic exception filters
Related issue:
- https://github.com/uBlockOrigin/uBOL-issues/issues/58
2023-07-11 14:38:35 -04:00
Raymond Hill
4a570c151f [mv3] Merge modifyHeaders rules where feasible 2023-07-10 13:13:20 -04:00
Raymond Hill
ff7c3d0ad6 Add permissions= handling to built-in benchmark 2023-07-10 12:00:02 -04:00
Raymond Hill
0f6400c160 [mv3] Add support for permissions= filter option
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/discussions/2714
2023-07-10 11:56:57 -04:00
gorhill
54e4b8cbec Update build log file
Files changed:
M	dist/mv3/log.txt
2023-07-09 13:45:53 +00:00
Raymond Hill
de5241ab36 [mv3] Reject filters with unsupported modifier options
For example, filters with `permissions` option.
2023-07-09 09:26:50 -04:00
Raymond Hill
634fdde465 [mv3] Prevent enabling more filter lists than allowed
Related issue:
- https://github.com/uBlockOrigin/uBOL-issues/issues/56#issuecomment-1627692213
2023-07-09 09:25:38 -04:00
Raymond Hill
3f7b7fe266 Make Firefox dev build auto-update 2023-07-09 09:01:27 -04:00
Raymond Hill
9871843ffe Import translation work from https://crowdin.com/project/ublock 2023-07-09 08:41:08 -04:00
Raymond Hill
4a42ebd9f9 New revision for dev build 2023-07-09 08:29:05 -04:00
Raymond Hill
5ebdbf3e24 Add static network filter option: permissions
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/discussions/2714

Reference:
https://adguard.com/kb/general/ad-filtering/create-own-filters/#permissions-modifier

Example:

    ||example.org^$permissions=browsing-topics=()

Difference with AdGuard's syntax: use `|` to separate permissions
policy directives instead of `\,` -- uBO will replace instances
of `|` with `, `:

    *$permissions=oversized-images=()|unsized-media=()

Eventually uBO will support AdGuard's syntax of using escaped
commas, but not for this first iteration.
2023-07-09 08:03:47 -04:00
Raymond Hill
8d09c562ab Make Firefox dev build auto-update 2023-07-06 20:11:11 -04:00
Raymond Hill
9935f301c8 [mv3] Add missing file related to previous commit
Related commit:
- https://github.com/gorhill/uBlock/commit/872eafa37858
2023-07-06 20:01:52 -04:00
Raymond Hill
b233114b3a New revision for dev build 2023-07-06 20:00:39 -04:00
Raymond Hill
5739562d10 Use browser.storage.local API for Firefox + private mode
But only if the indexedDB is being created.

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2725
2023-07-06 19:58:05 -04:00
Raymond Hill
872eafa378 [mv3] Add support for highly generic cosmetic filters
Related issue:
- https://github.com/uBlockOrigin/uBOL-issues/issues/54
2023-07-06 15:45:45 -04:00
Raymond Hill
1809a9b32c Make Firefox dev build auto-update 2023-07-06 09:00:52 -04:00
Raymond Hill
7e856d750b New revision for dev build 2023-07-06 08:54:08 -04:00
Raymond Hill
786d9b2212 Add set-attr scriptlet
Reference:
- https://github.com/AdguardTeam/Scriptlets/blob/master/src/scriptlets/set-attr.js

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2347
2023-07-06 08:51:31 -04:00
Raymond Hill
c02b0e6232 Make Firefox dev build auto-update 2023-07-05 10:11:12 -04:00
Raymond Hill
95c7acd18c New revision for dev build 2023-07-05 10:02:22 -04:00
Raymond Hill
fea6f7f311 Do not bail too early when trapping properties in acs scriptlet
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2130#issuecomment-1621684566
2023-07-05 10:00:31 -04:00
Raymond Hill
ed89293c62 Make Firefox dev build auto-update 2023-07-04 07:41:04 -04:00
Raymond Hill
b8fd6cf548 New revision for dev build 2023-07-04 07:30:03 -04:00
Raymond Hill
80b3f3c3c0 Fix regression in cloud storage import of "Filter lists" pane
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2721
2023-07-04 07:27:14 -04:00
Raymond Hill
083a318090 Add set-session-storage-item scriptlet
Reference:
- https://github.com/AdguardTeam/Scriptlets/blob/master/src/scriptlets/set-session-storage-item.js
2023-07-04 07:13:22 -04:00
Raymond Hill
60b21b1422 Prevent negative position when widget size is greater than viewport size
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2718
- https://github.com/uBlockOrigin/uBlock-issues/issues/2704
2023-07-03 07:14:52 -04:00
Raymond Hill
e52da39839 Fine tune network filter option anchor detection
The change allows to better parse AdGuard filters with `replace=`
option when the value to the `replace=` option contains dollar
sign character `$`. uBO will still reject these filters but will
better identify which dollar sign `$` is the real filter option
anchor.
2023-07-03 06:54:46 -04:00
Raymond Hill
622cda2cdf Add visual hint when not all sublists are enabled
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2687
2023-07-03 06:49:09 -04:00
Raymond Hill
f0a364c803 Make Firefox dev build auto-update 2023-07-01 10:40:37 -04:00
Raymond Hill
44b281e517 Import translation work from https://crowdin.com/project/ublock 2023-07-01 10:33:02 -04:00
Raymond Hill
d3032a6889 New revision for dev build 2023-07-01 10:28:05 -04:00
Raymond Hill
1f57822c33 Add Accept/Reject as valid values for set-cookie scriptlet
Related discussion:
- https://github.com/uBlockOrigin/uAssets/discussions/18762
2023-07-01 10:25:19 -04:00
Raymond Hill
e0b4b3d830 Add alias for scriptlet to increase compatibility with AdGuard filter lists 2023-07-01 10:20:23 -04:00
Raymond Hill
33b409dd5b Add support for AdGuard's noop (_) network filter option
Reference:
- https://adguard.com/kb/general/ad-filtering/create-own-filters/#noop-modifier

uBO already supported the noop filter option `_` to allow filter
authors to resolve possible ambiguities arising when crafting network
filters with many options.

AdGuard extended the semantic of the `_` option to also resolve
readability issues by supporting multiple instances of the `_` option
in a single filter, and also by supporting any number of consecutive
`_` in a single noop filter option.
2023-06-30 16:09:21 -04:00
Raymond Hill
b44815f0c8 Ensure no negative value for top property of floating widget in logger
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2704
2023-06-30 11:45:34 -04:00
Raymond Hill
b9a24a6f0b Make Firefox dev build auto-update 2023-06-30 10:01:03 -04:00
Raymond Hill
d652b999d8 New revision for dev build 2023-06-30 09:51:59 -04:00
Raymond Hill
b283d6aa33 Add support to remove values in set-local-storage-item scriptlet
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2697#discussioncomment-6278359

When using the special value `$remove$`, the scriptlet will remove
the item from the local storage.
2023-06-30 09:03:17 -04:00
Raymond Hill
d54fad26b7 Make Firefox dev build auto-update 2023-06-29 15:20:52 -04:00
Raymond Hill
73c2eed207 New revision for dev build 2023-06-29 15:14:24 -04:00
Raymond Hill
5d6e103186 Add "tabless" filter expression for logger output
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2711
2023-06-29 15:12:22 -04:00
Raymond Hill
194354cd5d Add support for logical expressions to !#if directive
Reference:
https://adguard.com/kb/general/ad-filtering/create-own-filters/#conditions-directive

This commit should make uBO fully compatible with the `!#if`
directives found throughout AdGuard's filter lists.

Additionally, added the new `!#else` directive for convenience
to filter list authors:

    !#if cap_html_filtering
    example.com##^script:has-text(fakeAd)
    !#else
    example.com##+js(rmnt, script, fakeAd)
    !#endif
2023-06-29 14:50:42 -04:00
Raymond Hill
9433b218f7 Remove obsolete code 2023-06-29 14:49:43 -04:00
Raymond Hill
7867c25128 Add resource aliases for increased compatibility with AdGuard lists 2023-06-29 14:48:43 -04:00
Raymond Hill
e6521a8dfe Make Firefox dev build auto-update 2023-06-29 09:15:49 -04:00
Raymond Hill
8ffbc96ffc New revision for dev build 2023-06-29 09:06:37 -04:00
Raymond Hill
c350e23b2d Fix regression in parameters-passing in scriptlets 2023-06-29 09:05:48 -04:00
Raymond Hill
8e010f9c87 Make Firefox dev build auto-update 2023-06-28 20:15:43 -04:00
Raymond Hill
1c88928e15 New revision for dev build 2023-06-28 20:07:41 -04:00
Raymond Hill
de6b1d361d Fix typo in new getScriptletArgs() method
Additionally, bring mv3 build up to date with latest changes
to scriptlet framework.
2023-06-28 20:05:59 -04:00
Raymond Hill
fd036a51ee Add compatibility with AdGuard's #%#//scriptlet(...) syntax
Related issue:
- https://github.com/AdguardTeam/Scriptlets/issues/332

Additionally, uBO's own scriplet syntax now also accept quoting
the parameters with either `'` or `"`. This can be used to avoid
having to escape commas when they are present in a parameter.
2023-06-28 19:35:22 -04:00
Raymond Hill
e0b3b44080 Skip regex-testing context when no context provided
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/18725

Testing the context was causing the deprecated static property
RegExp.$1 to be clobbered, causing webpage breakage because this
property was subsequently used used by the caller.
2023-06-28 18:12:17 -04:00
Raymond Hill
8b7a5264de Fix syntax highlighter throwing with invalid patterns
The syntax highlighter could throw with some invalid static
network filter patterns. This was caused by the syntax
highlighter still drilling down the pattern parts after
having told codemirror to style the whole pattern as an
error, thus causing the codemirror stream position to go
backward.
2023-06-28 08:38:47 -04:00
Raymond Hill
ea6e2540fd Make Firefox dev build auto-update 2023-06-23 20:50:56 -04:00
Raymond Hill
bf8abd874e New revision for dev build 2023-06-23 20:45:41 -04:00
Raymond Hill
bec4dea155 Minor code review 2023-06-23 20:44:44 -04:00
Raymond Hill
7184f93cb0 Return empty array instead of undefined
Related discussion:
- https://github.com/uBlockOrigin/uAssets/discussions/18649
2023-06-23 20:42:58 -04:00
Raymond Hill
7ba85472d7 [mv3] Properly distinguish trust level when compiling scriptlets
Since in uBOL filter lists from various sources are combined into
a single list, there must be a way to turn on/off trust level
inside the resulting combined filter list so as to be able to
validate the trust level of filters requiring trust.

This commit adds new parser directives understood only by MV3
compiler to turn on/off trust flag internally.
2023-06-23 08:27:07 -04:00
Raymond Hill
ea4afc0610 Minor code review of set-local-storage-item scriptlet 2023-06-23 08:23:08 -04:00
Raymond Hill
e50b391105 Prevent creating report until filter lists are updated
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2582#discussioncomment-6187066
2023-06-22 14:36:12 -04:00
Raymond Hill
6a817b8258 Revert back to EasyList Cookie Notices 2023-06-21 10:08:28 -04:00
Raymond Hill
6a27a3960b Make Firefox dev build auto-update 2023-06-21 09:31:24 -04:00
Raymond Hill
73b8ae508f New revision for dev build 2023-06-21 09:15:03 -04:00
Raymond Hill
f6954430d1 Add support for sublist at any tree depth in "Filter lists" pane 2023-06-21 09:11:21 -04:00
Raymond Hill
9607cba1f6 Group EasyList cookies and uBO cookies as sublists of EasyList/uBO cookies 2023-06-20 13:44:08 -04:00
Raymond Hill
2271834e5c Revert "Combine EasyList and uBO cookie-related lists"
This reverts commit 13fdf25170.
2023-06-20 12:36:28 -04:00
Raymond Hill
13fdf25170 Combine EasyList and uBO cookie-related lists 2023-06-20 12:01:50 -04:00
Raymond Hill
dfce89d4e1 Make Firefox dev build auto-update 2023-06-20 11:25:59 -04:00
Raymond Hill
835f1d66fd New revision for dev build 2023-06-20 11:05:33 -04:00
Raymond Hill
9443ba80a0 Add set-local-storage-item/trusted-set-local-storage-item scriptlets
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2697
2023-06-20 10:59:48 -04:00
gorhill
db9662f61b Update build log file
Files changed:
M	dist/mv3/log.txt
2023-06-19 14:22:19 +00:00
Raymond Hill
49b3ce58bb Import translation work from https://crowdin.com/project/ublock 2023-06-19 10:17:36 -04:00
Raymond Hill
4e6a337e12 Make Firefox dev build auto-update 2023-06-18 15:26:15 -04:00
Raymond Hill
7901a00bd7 Fix handling of path in set-cookie scriptlet
As per feedback from filter list volunteers.
2023-06-18 15:13:54 -04:00
Raymond Hill
f6ee3f9878 New revision for dev build 2023-06-18 14:35:49 -04:00
Raymond Hill
3b70d0e134 [mv3] Drop useless property in generated content scripts 2023-06-18 14:34:43 -04:00
Raymond Hill
bd7318da3c Fix m3u-prune scriptlet
Related issue:
- https://www.reddit.com/r/uBlockOrigin/comments/14cbznu/foxcom_ssai_workaround/
2023-06-18 14:29:11 -04:00
Raymond Hill
2170aba132 Make Firefox dev build auto-update 2023-06-17 12:06:19 -04:00
Raymond Hill
2c77293040 New revision for dev build 2023-06-17 11:58:56 -04:00
Raymond Hill
0bd4b600cf Rework nowoif scriptlet
New official name: `no-window-open-if`.

The pattern will now be matched against all arguments passed
to `window.open()`: all the arguments are joined as a single
space-spearated string, and the result is used as the target
for matching the pattern.

To enable logging, used the extra parameters approach, i.e.
`log, 1`, which should come after the positional arguments
`pattern`, `delay`, and `decoy`.
2023-06-17 11:53:08 -04:00
Raymond Hill
29015b30df Make Firefox dev build auto-update 2023-06-16 12:01:27 -04:00
Raymond Hill
683888108c Import translation work from https://crowdin.com/project/ublock 2023-06-16 11:38:31 -04:00
Raymond Hill
23e203c364 New revision for dev build 2023-06-16 11:35:27 -04:00
Raymond Hill
112e41b9d5 Fine tune new set-cookie/trusted-set-cookie scriptlet
Added support for extra parameter `reload, 1`. If present,
the scriplet will force a reload of the webpage if the cookie
being set was not already set.

As per feedback from filter list maintainers.
2023-06-16 11:32:12 -04:00
Raymond Hill
9f2bfecd27 Be more flexible when converting procedural to declarative
Allows for the selector part to come after :media-matches().
2023-06-16 09:55:17 -04:00
Raymond Hill
07fae6a0d1 Fix procedural to declarative conversion 2023-06-16 09:34:35 -04:00
Raymond Hill
5d596b644d Remove stray whitespaces 2023-06-15 20:00:57 -04:00
Raymond Hill
eaea26b5e9 Add trusted-set-cookie scriptlet
This new scriptlet is only valid when used in a trusted lists.

Implementation follows:
https://github.com/AdguardTeam/Scriptlets/blob/master/src/scriptlets/trusted-set-cookie.js
2023-06-15 19:57:10 -04:00
Raymond Hill
f04f13e855 Make Firefox dev build auto-update 2023-06-15 11:26:00 -04:00
Raymond Hill
27a54c0845 Add set-cookie scriptlet
This new scriptlet is only valid when used in a trusted lists.

Implementation follows:
https://github.com/AdguardTeam/Scriptlets/blob/master/src/scriptlets/set-cookie.js#L16
2023-06-15 11:08:35 -04:00
Raymond Hill
e5bd7556d9 Can't have whitespace in network filter pattern
Related feedback:
- https://github.com/uBlockOrigin/uAssets/discussions/17538#discussioncomment-6137462
2023-06-15 09:12:06 -04:00
Raymond Hill
d590390431 [mv3] Properly compiled complex generic cosmetic filters
Related issue:
- https://github.com/uBlockOrigin/uBOL-issues/issues/47
2023-06-14 10:19:48 -04:00
Raymond Hill
a2b51a8f91 Import translation work from https://crowdin.com/project/ublock 2023-06-14 09:26:28 -04:00
Raymond Hill
2f991bf70b [mv3] Fix various minor quirks
Related issue:
- https://github.com/uBlockOrigin/uBOL-issues/issues/46

Also, patch Unicode flags in popup panel.
2023-06-14 09:07:34 -04:00
gorhill
9fca6c558b Update build log file
Files changed:
M	dist/mv3/log.txt
2023-06-13 16:06:20 +00:00
Raymond Hill
f22a531043 Import translation work from https://crowdin.com/project/ublock 2023-06-13 12:03:08 -04:00
Raymond Hill
d19e62a595 [mv3] Add support for admin configurations
See `managed_storage.json` for available settings. Currently
only `noFiltering` setting is availale.

`noFiltering` is an array of strings, each being a domain for
which no filtering should occur.

Related discussion:
- https://github.com/uBlockOrigin/uBOL-issues/discussions/35
2023-06-13 11:40:41 -04:00
Raymond Hill
0541ddbcfd [mv3] Allows for revisions distinct from filter lists revisions 2023-06-11 10:29:05 -04:00
Raymond Hill
30c9004f0c [mv3] First non-experimental version 2023-06-11 10:27:05 -04:00
Raymond Hill
4cd798f8fa Import translation work from https://crowdin.com/project/ublock 2023-06-11 10:22:41 -04:00
Raymond Hill
01a4909ede [mv3] No longer experimental 2023-06-11 10:20:46 -04:00
Raymond Hill
24bdcfd0dc [mv3] No longer experimental 2023-06-11 10:17:41 -04:00
Raymond Hill
b37a250ef0 Add reference for country flag-related stuff 2023-06-11 10:16:55 -04:00
Raymond Hill
cdb50f4d9d Import translation work from https://crowdin.com/project/ublock 2023-06-11 10:09:35 -04:00
Raymond Hill
d1525691f4 Remove unimportant information from troubleshooting information
This was added back then for the purpose of investigating the
following issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2604

No longer needed.
2023-06-11 09:58:12 -04:00
Raymond Hill
4ddfb3f278 [mv3] Add more specific purposed annoyances-related lists
Import country flag-related code from uBO.

Switch to AdGuard annoyance-related lists, as this solves
https://github.com/uBlockOrigin/uBOL-issues/issues/5#issuecomment-1583192594
2023-06-11 09:20:10 -04:00
Raymond Hill
1f3e5da32d New revision for dev build 2023-06-11 09:18:21 -04:00
Raymond Hill
aa507924f3 Inform when filter lists are reloaded in logger
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2041#issuecomment-1585685791
2023-06-10 11:54:24 -04:00
Raymond Hill
2f0132c414 Import translation work from https://crowdin.com/project/ublock 2023-06-09 10:41:29 -04:00
Raymond Hill
103bdb63c5 Use hard tabs 2023-06-09 08:02:29 -04:00
Raymond Hill
5e46978b8c Update contentURL of NLD
Related discussion:
- https://github.com/uBlockOrigin/uAssets/discussions/17919
2023-06-09 07:59:43 -04:00
Raymond Hill
257cfad90d Update assets.json for uBO 1.50.0
This may cause some list namesw to not be rendered in a quirky
way in Chromium-based browsers due to country flags emojis not
being available, but this will fixed once people move to
uBO 1.50.0.

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2645

References:
- https://en.wikipedia.org/wiki/Regional_indicator_symbol
2023-06-07 10:31:46 -04:00
Raymond Hill
69a7ff1bc3 New revision for stable release 2023-06-07 10:28:25 -04:00
Raymond Hill
500d4ebe39 Import translation work from https://crowdin.com/project/ublock 2023-06-06 13:54:30 -04:00
Raymond Hill
1ad7410077 [mv3] Fine tune various portions of code 2023-06-06 13:42:22 -04:00
Raymond Hill
f282b43550 [mv3] Move hostname label to top of popup panel
Related commit in uBO:
- b8cfa382e8

Additionally, render internationalized domain names in pretty Unicode
instead of ugly punycode.
2023-06-06 09:04:21 -04:00
Raymond Hill
5874312b35 [mv3] Avoid String.replace() to safely replace templates
String.replace() has side effects which are unwelcomed when
replacing template scriplets with code.
2023-06-05 20:17:50 -04:00
Raymond Hill
7e712246a9 [mv3] Let the scriplet sort out targeted sites when too many targets
This is too avoid `matches` property with too many hostnames at
registerContentScripts() time. Threshold has been arbitrarily
set at 100.
2023-06-05 12:14:37 -04:00
gorhill
d300f2119a Update build log file
Files changed:
M	dist/mv3/log.txt
2023-06-05 13:32:38 +00:00
Raymond Hill
6d9bef28ff [mv3] Fix issue with updateContentScripts API and other fixes
Avoid using updateContentScripts() as it suffers from an unexpected
behavior, causing injected content scripts to lose proper order
at injection time. The order in which content scripts are injected
is key for uBOL content scripts. Potential out of order injection
was causing cosmetic filtering to be broken.

Use actual storage API to persist data across service worker
wake-ups and browser launches. uBOL was trying to avoid using
storage API, at the cost of somewhat hacky code (using DNR API
to persist settings).

Make use of session storage if available, to speed up
initialization of waking up the service worker (which at this
point is necessary to properly implement cosmetic filtering).
2023-06-05 09:15:59 -04:00
Raymond Hill
666cbd143d Make Firefox dev build auto-update 2023-06-05 09:01:35 -04:00
Raymond Hill
580166f60c New revision for dev build 2023-06-05 08:52:59 -04:00
Raymond Hill
f8c4b8e52d Add support to remove attributes in xml-prune scriptlet
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/18244
2023-06-05 08:51:20 -04:00
gorhill
9801093117 Update build log file
Files changed:
M	dist/mv3/log.txt
2023-06-04 15:46:39 +00:00
Raymond Hill
6dbbb95b04 [mv3] Mitigation: Inject CSS user styles to enforce cosmetic filtering
Related issues:
- https://github.com/uBlockOrigin/uBOL-issues/issues/5#issuecomment-1575425913
- https://github.com/w3c/webextensions/issues/403

Currently, there is no other way to inject CSS user styles than to
wake up the service worker, so that it can inject the CSS styles
itself using the `scripting.insertCSS()` method.

If ever the MV3 API supports injecting CSS user styles directly
from a content script, uBOL will be back to be fully declarative.

At this point the service worker is very lightweight since the
filtering is completely  declarative, so this is not too much of
an issue performance-wise except for the fact that waking up the
service worker for the sole purpose of injecting CSS user styles
and nothing else introduces a pointless overhead.

Hopefully the MV3 API will mature to address such inefficiency.
2023-06-04 11:32:55 -04:00
gorhill
e16bd1bbbb Update build log file
Files changed:
M	dist/mv3/log.txt
2023-06-04 02:12:03 +00:00
Raymond Hill
72726a4759 [mv3] Refactor content scripts related to specific cosmetic filtering
Specifically, avoid long list of hostnames for the `matches`
property[1] when registering the content scripts, as this was causing
whole browser freeze for long seconds in Chromium-based browsers
(reason unknown).

The content scripts themselves will sort out which cosmetic filters to
apply on which websites.

This change makes it now possible to support annoyances-related lists,
and thus two lists have been added:
- EasyList -- Annoyances
- EasyList -- Cookies

Related issue:
- https://github.com/uBlockOrigin/uBOL-issues/issues/5

These annoyances-related lists contains many thousands of specific
cosmetic filters and as a result, before the above change this was
causing long seconds of whole browser freeze when simply modifying
the blocking mode of a specific site via the slider in the popup
panel.

It is now virtually instantaneous, at the cost of injecting larger
cosmetic filtering-related content scripts (which typically should
be garbage-collected within single-digit milliseconds).

Also, added support for entity-based cosmetic filters. (They were
previously discarded).

---

[1] https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/scripting/RegisteredContentScript
2023-06-03 22:08:42 -04:00
gorhill
ec230be331 Update build log file
Files changed:
M	dist/mv3/log.txt
2023-06-02 21:14:01 +00:00
Raymond Hill
b163097399 [mv3] Extend scriplet filtering support to all scriptlets
Source code of scriplets is now fetched directly from uBO
project, so there is no longer the need to keep duplicate
versions of scriplet code.

All scriplet filters are now supported.
2023-06-02 17:04:15 -04:00
Raymond Hill
cb9a91d43c Fix comment 2023-06-01 08:56:42 -04:00
Raymond Hill
569465b393 Make Firefox dev build auto-update 2023-06-01 08:56:06 -04:00
Raymond Hill
0198d84f4a New revision for release candidate 2023-06-01 08:49:54 -04:00
Raymond Hill
40141e2dfc Fix assembling of scriptlets for isolated world 2023-06-01 08:48:27 -04:00
Raymond Hill
9b682dff03 Make Firefox dev build auto-update 2023-05-30 09:21:37 -04:00
Raymond Hill
f3b720d532 Improve href-sanitizer scriptlet 2023-05-30 09:13:46 -04:00
Raymond Hill
848c539a57 New revision for release candidate 2023-05-30 08:49:03 -04:00
Raymond Hill
56e1d92dbd Fix/improve scriptlets
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2678
- https://github.com/uBlockOrigin/uAssets/issues/18278
2023-05-30 08:38:35 -04:00
Raymond Hill
996bf0925d Make Firefox dev build auto-update 2023-05-29 15:11:44 -04:00
Raymond Hill
c8c7ccdf80 New revision for release candidate 2023-05-29 15:06:14 -04:00
Raymond Hill
2a3a796d33 Minor fix 2023-05-29 15:05:50 -04:00
Raymond Hill
36346117ae Make Firefox dev build auto-update 2023-05-29 15:01:24 -04:00
Raymond Hill
bbfad4eda2 New revision for release candidate 2023-05-29 14:54:38 -04:00
Raymond Hill
a1a3477b07 Fix oversight in last commit 2023-05-29 14:54:13 -04:00
Raymond Hill
9f5697c047 Make Firefox dev build auto-update 2023-05-29 14:46:34 -04:00
Raymond Hill
a63e52b987 New revision for release candidate 2023-05-29 14:38:25 -04:00
Raymond Hill
c8de904191 Add evaldata-prune scriptlet
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/18278
2023-05-29 14:37:02 -04:00
Raymond Hill
86d67e3f3e Make Firefox dev build auto-update 2023-05-29 09:46:31 -04:00
Raymond Hill
5a242f462c New revision for release candidate 2023-05-29 09:37:50 -04:00
Raymond Hill
c642541cc4 Minor fine tuning 2023-05-29 07:34:54 -04:00
Raymond Hill
f8a2a67cdf Make Firefox dev build auto-update 2023-05-28 15:11:00 -04:00
Raymond Hill
b11208c010 New revision for dev build 2023-05-28 14:57:49 -04:00
Raymond Hill
3ee3275dc1 Harden addEventListener scriptlet 2023-05-28 14:56:31 -04:00
Raymond Hill
c7ddb2501b Make Firefox dev build auto-update 2023-05-28 13:00:57 -04:00
Raymond Hill
252ea890ef New revision for release candidate 2023-05-28 12:48:22 -04:00
Raymond Hill
fa9fdc0922 Import translation work from https://crowdin.com/project/ublock 2023-05-28 12:47:41 -04:00
Raymond Hill
695b93f970 Add support for world/dependencies to external scriplets
To let community better experiment with potential candidate scriptlets
for inclusion in uBO itself.
2023-05-28 12:42:47 -04:00
Raymond Hill
82eee10c3a Logging-related changes 2023-05-28 10:37:23 -04:00
Raymond Hill
3c9e946107 Log error in dev console is logging is enabled 2023-05-27 19:05:02 -04:00
Raymond Hill
d776edf06b Fix linter incorrectly reporting header= option
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/13thksi/filter_blocking_rule_based_on_post_methods_value/jlvhuoy/
2023-05-27 19:02:23 -04:00
Raymond Hill
45187077cf Make Firefox dev build auto-update 2023-05-27 17:35:39 -04:00
Raymond Hill
83722829f4 New revision for dev build 2023-05-27 17:28:01 -04:00
Raymond Hill
8ed78cfb23 Support pruning by xpath in xml-prune scriptlet
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/18244
2023-05-27 17:26:19 -04:00
Raymond Hill
63273451c6 Make Firefox dev build auto-update 2023-05-27 09:25:44 -04:00
Raymond Hill
f1724c6deb New revision for release candidate 2023-05-27 09:15:36 -04:00
Raymond Hill
d3fae27017 Add support for xhr in xml-prune
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/18244
2023-05-27 09:14:19 -04:00
Raymond Hill
ea15cef524 [mv3] Also log salvaged rules using entity-based domains
Some filters with entity-based domain option can be salvaged
when there are non-entity-based domain option, but since we are
throwing away the entity-based entries, we are only partially
converting to DNR. This commit will log a warning about this
in log.txt. Before this commit, only non-salvageable filters
were logged.
2023-05-26 13:18:20 -04:00
Raymond Hill
86ba04dd68 Make Firefox dev build auto-update 2023-05-25 09:35:55 -04:00
Raymond Hill
475ed98e02 New revision for dev build 2023-05-25 09:18:49 -04:00
Raymond Hill
2bb446797a Add remove-node-text.js scriptlet
The scriptlet remove the *whole* text of a DOM node. Usage:

    example.com##+js(remote-node-text, nodeName, condition, ...)

Where `condition` is a pattern to find in the target node for the
removal to occur. Since the text of the node is wholly removed,
this is not a scriplet which requires a trusted-source, as it is
virtually a similar capability as removing DOM nodes through
procedural cosmetic operator `:remove()` (which can't target
`#text` nodes), which does not require trusted-source.

Alias: `rmnt`

The extra parameters are the same as those documented for
`replace-node-text`.

For consistency, the alias for `replace-node-text` has been renamed
`rpnt`.
2023-05-25 08:51:26 -04:00
Raymond Hill
1ff31e0ccd Expand "uBlock filters" by default 2023-05-24 20:12:28 -04:00
Raymond Hill
9c56e9ab29 Make Firefox dev build auto-update 2023-05-24 16:56:25 -04:00
Raymond Hill
7150c32023 New revision for release candidate 2023-05-24 16:51:52 -04:00
Raymond Hill
796ebc2444 Fix spoof-css for Firefox 2023-05-24 16:50:34 -04:00
Raymond Hill
005a0fe95d Comment 2023-05-24 15:56:42 -04:00
Raymond Hill
9435cf6cfc Make Firefox dev build auto-update 2023-05-24 15:45:47 -04:00
Raymond Hill
95a549c945 Import translation work from https://crowdin.com/project/ublock 2023-05-24 15:37:48 -04:00
Raymond Hill
3e082c44ca Import translation work from https://crowdin.com/project/ublock 2023-05-24 15:36:04 -04:00
Raymond Hill
e33d948fdc Minor code review 2023-05-24 15:33:46 -04:00
Raymond Hill
db7cadae49 Remove pointless code in spoof-css scriptlet 2023-05-24 15:26:57 -04:00
Raymond Hill
d4fb87b6ba Properly return inherited methods in property getter in spoof-css scriptlet
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2618#issuecomment-1561451479
2023-05-24 14:58:12 -04:00
Raymond Hill
1d9ee00498 Simplify passing extra parameters in scriptlets
When scriptlets can receive extra optional paramaters, these will
now be passed as pair of extra paramaters in the filter declaration,
whereas each pair is a `name, value` instance.

As a result, the optional paramaters that can be passed to the
`aeld` scriptlet can be passed this way, i.e. no longer need
a JSON approach, example:

    github.com##+js(aeld, click, , log, 1)
    github.com##+js(aeld, , , runAt, idle, log, 1)

The non-optional paramaters are always positional, after which
the optional paramaters are non-positional pairs of values.
2023-05-24 11:59:17 -04:00
Raymond Hill
bc8bc6a4e6 Make Firefox dev build auto-update 2023-05-24 10:41:25 -04:00
Raymond Hill
7db6e5f053 New revision for dev build 2023-05-24 10:33:36 -04:00
Raymond Hill
8d1669f9b5 Ensure document.documentElement is present when executing acs scriptlet
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2670
2023-05-24 10:32:03 -04:00
Raymond Hill
9878156820 Make Firefox dev build auto-update 2023-05-23 21:56:29 -04:00
Raymond Hill
9134c11cf8 Fix https://github.com/uBlockOrigin/uBlock-issues/issues/2668
Use document.append() only when there are no elements in
the DOM, as a document instance can't have more than one
direct child.
2023-05-23 21:49:42 -04:00
Raymond Hill
d5804dce7f New revision for release candidate 2023-05-23 18:00:26 -04:00
Raymond Hill
879b837669 Fix scriptlet alias 2023-05-23 17:58:20 -04:00
Raymond Hill
21615160a7 Make Firefox dev build auto-update 2023-05-23 17:11:09 -04:00
Raymond Hill
d383c2f812 New revision for release candidate 2023-05-23 17:05:09 -04:00
Raymond Hill
842e356610 Put back missing scriptlet dependency
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2668

This broke `set-constant` filters.
2023-05-23 17:03:30 -04:00
Raymond Hill
f07fa40f16 Make Firefox dev build auto-update 2023-05-23 12:15:59 -04:00
Raymond Hill
6f06192982 New revision for dev build 2023-05-23 12:06:52 -04:00
Raymond Hill
c622298793 Minor CSS tuning 2023-05-23 12:06:19 -04:00
Raymond Hill
947d45be2f Include imported lists in request to update
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2582#discussioncomment-5969939
2023-05-23 12:04:47 -04:00
Raymond Hill
19cdd50a1c Add trusted-set-constant scriptlet
Alias: `trusted-set`

Behaves exactly like set-constant, except that any arbitrary JSON-
compatible value can be set.

By default the value is treated as a string, which can be anything.

If the value starts with `{` and ends with `}`, the value will be
JSON-parsed, and the `value` property of the resulting object will
be used.

As with any scriptlet requiring trust, filters using
`trusted-set-constant` can only come from trusted filter lists,
otherwise they are discarded.

Related discussion:
- https://github.com/uBlockOrigin/uAssets/discussions/18185#discussioncomment-5977456
2023-05-23 10:59:27 -04:00
Raymond Hill
d74c73e452 Import translation work from https://crowdin.com/project/ublock 2023-05-23 09:28:36 -04:00
Raymond Hill
f18071fd26 Flags: w40 => h48, probably better for UHD displays 2023-05-23 09:24:30 -04:00
Raymond Hill
824f8b7ceb Add comments for reviewers 2023-05-23 09:03:19 -04:00
Raymond Hill
e81439019f Make Firefox dev build auto-update 2023-05-22 20:40:49 -04:00
Raymond Hill
296eabb498 New revision for dev build 2023-05-22 20:30:55 -04:00
Raymond Hill
1a863a877d Support injecting scriptlet in MAIN or ISOLATED world
This reflects the _world_ of the MV3 scripting API:
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/scripting/ExecutionWorld

MAIN: page's world
ISOLATED: extension's content script world

Some scriptlets are best executed in either world, so this
commit allows to pick in which world a scriptlet should execute
(default to MAIN).

For instance, the new sed.js scriptlet will now execute in
the ISOLATED world.
2023-05-22 20:19:00 -04:00
Raymond Hill
9f465f503a Make Firefox dev build auto-update 2023-05-22 15:46:25 -04:00
Raymond Hill
b8b28a6a05 New revision for dev build 2023-05-22 15:34:48 -04:00
Raymond Hill
659f35837a Imrpove sed scriptlet reliability
Related feedback:
- https://github.com/uBlockOrigin/uAssets/discussions/18185
2023-05-22 15:33:47 -04:00
gorhill
692b0b2334 Update build log file
Files changed:
M	dist/mv3/log.txt
2023-05-22 17:36:47 +00:00
Raymond Hill
568e21accf Make Firefox dev build auto-update 2023-05-22 10:56:28 -04:00
Raymond Hill
40fbe39058 New revision for dev build 2023-05-22 10:38:40 -04:00
Raymond Hill
99ce027fd7 Review default behavior of new sed.js scriptlet
Related commit:
- 41876336db

The `tryCount` parameter has been removed.

The new default behavior of the sed.js scriptlet is to bail out
when the document itself has been fully loaded, i.e. when
DOMContentLoaded event is fired.

Two new parameters have been added to override the default quit out
behavior:

`stay, 1`

Use to force the scriptlet to stay at work forever.

`quitAfter, ms`

This tells the scriptlet to quit `ms` milliseconds after the
page has been loaded, i.e. after the DOMContentLoaded event has
been fired.

The mutation observer of the sed.js scriptlet can be a significant
overhead for pages with dynamically updated DOM, and in most cases
the scriptlet is useful only for DOM changes occurring before the
DOMContentLoaded event, so the default is to quit out when that
event is received ("quit out" means discarding the mutation observer
and having the scriptlet garbage-collected by the JS engine).
2023-05-22 10:26:09 -04:00
Raymond Hill
bd1520ec92 Add easylist-chat to Annoyances/Easylist -- Annoyances section
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/13l9c5b/
2023-05-21 21:23:02 -04:00
Raymond Hill
aa8a68b8be Keep reference to non-minimized packaged lists
To ensure smooth transition in next stable release: people on
an older version of uBO could end up updating assets.json,
hence we needs to keep a local URL to the non-minified packaged
version of the lists.
2023-05-21 21:14:49 -04:00
Raymond Hill
23ec2541ef Prefix lists with ccTLDs instead of 3-letter country codes
ccTLDs are more relatable websites loaded in the browser.
2023-05-21 21:08:29 -04:00
Raymond Hill
81144687b4 Make Firefox dev build auto-update 2023-05-21 15:06:08 -04:00
Raymond Hill
8d36cf89c6 New revision for dev build 2023-05-21 14:57:30 -04:00
Raymond Hill
41876336db Add trusted-source support for privileged scriptlets
At the moment, the only filter lists deemed from a "trusted source"
are uBO-specific filter lists (i.e. "uBlock filters -- ..."), and
the user's own filters from "My filters".

A new scriptlet which can only be used by filter lists from trusted
sources has been introduced: `sed.js`.

The new `sed.js` scriptlet provides the ability to perform
text-level substitutions. Usage:

    example.org##+js(sed, nodeName, pattern, replacement, ...)

`nodeName`

The name of the node for which the text content must be substituted.
Valid node names can be found at:
https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeName

`pattern`

A string or regex to find in the text content of the node as the target of
substitution.

`replacement`

The replacement text. Can be omitted if the goal is to delete the text which
matches the pattern. Cannot be omitted if extra pairs of parameters have to be
used (see below).

Optionally, extra pairs of parameters to modify the behavior of the scriptlet:

`condition, pattern`

A string or regex which must be found in the text content of the node
in order for the substitution to occur.

`sedCount, n`

This will cause the scriptlet to stop after n instances of substitution. Since
a mutation oberver is used by the scriptlet, it's advised to stop it whenever
it becomes pointless. Default to zero, which means the scriptlet never stops.

`tryCount, n`

This will cause the scriptlet to stop after n instances of mutation observer
run (regardless of whether a substitution occurred). Default to zero, which
means the scriptlet never stops.

`log, 1`

This will cause the scriptlet to output information at the console, useful as
a debugging tool for filter authors. The logging ability is supported only
in the dev build of uBO.

Examples of usage:

    example.com##+js(sed, script, /devtoolsDetector\.launch\(\)\;/, , sedCount, 1)

    example.com##+js(sed, #text, /^Advertisement$/)
2023-05-21 14:16:56 -04:00
Raymond Hill
2c7d91ba57 Minor change to regex 2023-05-21 09:45:46 -04:00
Raymond Hill
e50d6ee6ed Fix sorting of lists in "Filter lists" pane
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2645#issuecomment-1556090600
2023-05-21 09:42:30 -04:00
Raymond Hill
2a9378b5a8 Use non-minified lists for stable release of assets.json
Because this is what the current stable release (1.49.2) ships
with.

Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/13n0p4g/
2023-05-20 22:01:55 -04:00
Raymond Hill
8780eb6ea8 Make Firefox dev build auto-update 2023-05-20 21:46:13 -04:00
Raymond Hill
7c1bb3d997 New revision for dev build 2023-05-20 21:38:53 -04:00
Raymond Hill
d506b28a48 Patch Unicode country flags with image-based flags
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2645
2023-05-20 21:35:52 -04:00
Raymond Hill
01ec521075 Make Firefox dev build auto-update 2023-05-20 17:51:25 -04:00
Raymond Hill
34c4d70743 New revision for dev build 2023-05-20 17:31:40 -04:00
Raymond Hill
437889e309 Import translation work from https://crowdin.com/project/ublock 2023-05-20 17:31:01 -04:00
Raymond Hill
56f67631d6 Fix regression in handling mode changes 2023-05-20 17:21:14 -04:00
Raymond Hill
d405460584 Add spoof-css scriptlet
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2618

Usage:

    example.com##+js(spoof-css, selector, property-name, property-value, ...)

- selector: a valid CSS selector which matches the elements for which
  the spoofing must apply.
- property-name: a CSS property name (can be dashed- or camel-cased)
- property-value: the value to return regardless of the currently
  computed value.

There can be any number of property-name/property-value pairs, all
separated by commas.

A special property-name/property-value pair `debug/1` can be used
to force the browser to break when `getComputedStyle()` or
`getBoundingClientrect()` is called, useful to help pinpoint usage
of those calls in the page's source code:

    example.com##+js(spoof-css, .ad, debug, 1)
2023-05-20 17:18:44 -04:00
gorhill
f0fba0d640 Update build log file
Files changed:
M	dist/mv3/log.txt
2023-05-19 19:38:19 +00:00
Raymond Hill
eb2d6d1374 Bring scriptlets up to date 2023-05-19 15:36:01 -04:00
gorhill
1d63023263 Update build log file
Files changed:
M	dist/mv3/log.txt
2023-05-19 19:12:01 +00:00
Raymond Hill
13a4f869d2 Fix sticky blocking mode
Related issue:
- https://github.com/uBlockOrigin/uBOL-issues/issues/42

Take into account that subdomains inherit the blocking mode
of their parent domain when toggling blocking mode of specific
hostnames.
2023-05-19 15:08:23 -04:00
Raymond Hill
95396d8dbf Make Firefox dev build auto-update 2023-05-19 13:31:00 -04:00
Raymond Hill
d8003d5baf New revision for dev build 2023-05-19 13:20:20 -04:00
Raymond Hill
02dff78eab Add back AdGuard Tracking Protection
As per discussion with fitler list maintainers.
2023-05-19 13:11:51 -04:00
Raymond Hill
ae52ca43c2 Import translation work from https://crowdin.com/project/ublock 2023-05-19 13:06:38 -04:00
Raymond Hill
2ef2888805 Expand/harden some scriptlets
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2615

Expand `set-constant`: 3rd parameter and beyond are tokens which
modify the behavior of `set-contant`. Valid tokens:

- `interactive`, `end`, `2`: set the constant when the event
  `DOMContentInteractive` is fired.
- `complete`, `idle`, `3`: set the constant when the event
  `load` is fired.
- `asFunction`: the constant will be a function returning the
  specified value.
- `asCallback`: the constant will be a function returning a
  function returning the specified value.
- `asResolved`: the constant will be a promise resolving to
  the specified value.
- `asRejected`: the constant will be a promise failing with
  the specified value.

Harden `no-setimeout-if` and `no-setinterval-if` as per feedback
from filter list maintainers.
2023-05-19 12:55:01 -04:00
Raymond Hill
0442718efd Render List stats below on mobile 2023-05-17 15:45:31 -04:00
Raymond Hill
df5437a54f Revert "Render List stats below on mobile"
This reverts commit 9ea39886b6.
2023-05-17 15:44:11 -04:00
Raymond Hill
b0219570b6 Make Firefox dev build auto-update 2023-05-17 11:51:25 -04:00
Raymond Hill
da49bbdf44 New revision for dev build 2023-05-17 10:27:57 -04:00
Raymond Hill
03a1009b07 As per feedback on https://crowdin.com/project/ublock 2023-05-17 10:27:10 -04:00
Raymond Hill
07845196b7 Import translation work from https://crowdin.com/project/ublock 2023-05-17 10:25:27 -04:00
Raymond Hill
14637923fc Fix remaining quirks in "Filter lists" pane
Do not sticky unchecked lists in search mode.

Propagate default status of a sublist upward to its parent
entry.
2023-05-17 10:05:19 -04:00
Raymond Hill
d6eacd8cf6 In search-mode, select only search-matched descendants
Context: "Filter lists" pane.
2023-05-17 09:21:14 -04:00
Raymond Hill
0fa4cae4b2 Make Firefox dev build auto-update 2023-05-16 20:01:34 -04:00
Raymond Hill
69314a99fc New revision for dev build 2023-05-16 19:50:31 -04:00
Raymond Hill
bcb5c441a9 Work on tags (more to do) 2023-05-16 19:49:57 -04:00
Raymond Hill
d5dec1d3c4 Return string when storage.sync.get() promise fails
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2660
2023-05-16 19:26:46 -04:00
Raymond Hill
d515146d36 Import translation work from https://crowdin.com/project/ublock 2023-05-16 12:25:25 -04:00
Raymond Hill
af04821d7a Rename "Malware domains" section to "Malware, security" 2023-05-16 12:23:41 -04:00
Raymond Hill
d27b3471e1 Import translation work from https://crowdin.com/project/ublock 2023-05-16 12:21:59 -04:00
Raymond Hill
9ea39886b6 Render List stats below on mobile 2023-05-16 12:10:40 -04:00
Raymond Hill
5ba3055bc7 Fix class name 2023-05-14 20:18:32 -04:00
Raymond Hill
d3da121892 Make Firefox dev build auto-update 2023-05-14 10:26:09 -04:00
Raymond Hill
d8ca192367 New revision for dev build 2023-05-14 10:16:43 -04:00
Raymond Hill
5c5ccc78bc Import translation work from https://crowdin.com/project/ublock 2023-05-14 10:07:36 -04:00
Raymond Hill
0b63a4c281 Minor code review 2023-05-14 10:05:42 -04:00
Raymond Hill
7bc06fec8c Code maintenance: remove now unused ABP-related code path 2023-05-14 09:41:35 -04:00
Raymond Hill
a3a80e3b3f Do not bail out when content-disposition is inline
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2656
2023-05-14 09:06:21 -04:00
Raymond Hill
e79d9b2f85 Add more minified version of uBO lists 2023-05-13 15:20:35 -04:00
Raymond Hill
1a9a8aae0c Fix improperly unselecting imported lists
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/13enzvv/

When assessing which default lists to disable/enable after
updating from 1.48.x to 1.49.x, uBO has to ignore imported
lists, as these do not have a `off` property -- the
non-existence of this property was used to determine whether
a list was default or not. There needs to be an extra test for
whether the list is imported or not.
2023-05-11 11:46:31 -04:00
Raymond Hill
c1ac09b96a Address #17921 2023-05-10 08:50:52 -04:00
Raymond Hill
3cfd9d3dc2 Make Firefox dev build auto-update 2023-05-09 17:05:38 -04:00
Raymond Hill
cdc5518c2b New revision for dev build 2023-05-09 16:57:30 -04:00
Raymond Hill
fc7b2898d2 Make list-search i18n aware where possible 2023-05-09 16:56:33 -04:00
Raymond Hill
578fc21bd9 Report injected scriptlets in troubleshooting information
This requires to rewrite portions of scriptlet filtering
code.
2023-05-09 12:44:14 -04:00
Raymond Hill
39a8aaa39b Rmove unicode-based flags 2023-05-09 09:51:34 -04:00
Raymond Hill
1b04c41f82 Make Firefox dev build auto-update 2023-05-08 08:36:20 -04:00
Raymond Hill
ee233d9586 New revision for dev build 2023-05-08 08:24:06 -04:00
Raymond Hill
fd821e3473 Force all dev builds to use assets.dev.json 2023-05-08 08:23:19 -04:00
Raymond Hill
f6839f5a57 Keep reflecting search matches after applying changes 2023-05-08 07:08:45 -04:00
Raymond Hill
9808423845 Bring back list-per-group counts
Regression from:
- cbc0cbadaa
2023-05-07 19:07:21 -04:00
Raymond Hill
56092189d1 Fix rendering issue of row-filter icon in popup panel
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2640
2023-05-07 10:42:30 -04:00
Raymond Hill
82d8232d09 Make Firefox dev build auto-update 2023-05-07 10:21:18 -04:00
Raymond Hill
d1180ec388 New revision for dev build 2023-05-07 09:45:09 -04:00
Raymond Hill
88fb6b153d Add "scriptlet" filter expression to logger
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2636
2023-05-07 09:35:48 -04:00
Raymond Hill
a6b13e6b9c Fix hostname-detecting regex
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2639
2023-05-07 09:19:39 -04:00
Raymond Hill
ad8b7b2f12 Fix filter list paths 2023-05-07 09:19:01 -04:00
Raymond Hill
e94a84d6fb Make Firefox dev build auto-update 2023-05-06 19:06:19 -04:00
Raymond Hill
993a72ae9b New revision for dev build 2023-05-06 18:58:28 -04:00
Raymond Hill
bc02358610 Use a different surface color for scriptlets in logger
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2636
2023-05-06 18:56:00 -04:00
Raymond Hill
7f9c4ce45f Import translation work from https://crowdin.com/project/ublock 2023-05-06 17:26:19 -04:00
Raymond Hill
cbc0cbadaa Fix bad filter counts 2023-05-06 17:08:55 -04:00
Raymond Hill
39bf6ffd13 Make Firefox dev build auto-update 2023-05-06 13:01:19 -04:00
Raymond Hill
80b5f84501 New revision for dev build 2023-05-06 12:55:54 -04:00
Raymond Hill
84fad1deeb Add support for sublists in "Filter lists" pane
As discussed internally with filter list maintainers.

Additionally, added a search field to filter out lists. This
is still a work in progress, no need to open issues about this,
I am aware of what is missing (i18n, more tags, etc.)
2023-05-06 12:50:25 -04:00
Raymond Hill
47c458c27c Fix bad renaming 2023-05-05 20:56:55 -04:00
Raymond Hill
b884d71f04 Use tabs instead of spaces 2023-05-05 10:20:12 -04:00
Raymond Hill
53ba8ded5c Split AdGuard Annoyances into sublists 2023-05-05 10:13:35 -04:00
Raymond Hill
68539e1fd3 Deprecate "Fanboy Annoyances" in assets.dev.json
To be replaced with five sublists.

Users who are already subscribed to the list will have to manually
unsubscribe from it, which will be moved to _Custom_ section, and
subscribe to the sublists which have narrower purpose.
2023-05-05 09:53:25 -04:00
Raymond Hill
223815342e Make dev build use its own assets.json: assets.dev.json
This will make it easier to safely test new versions of
assets.json.
2023-05-04 19:20:18 -04:00
Raymond Hill
42106cf5ff Update URLs of NLD list
Related issue:
- https://github.com/uBlockOrigin/uAssets/discussions/17919
2023-05-03 19:35:29 -04:00
Raymond Hill
2059f84826 Fine tune CSS in asset viewer for mobile
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2621#issuecomment-1529036289
2023-04-30 11:56:31 -04:00
Raymond Hill
9a16d07756 Make Firefox dev build auto-update 2023-04-30 11:16:17 -04:00
Raymond Hill
b311cc805f New revision for dev build 2023-04-30 11:08:20 -04:00
Raymond Hill
5fd35ffb3c Properly handle converted procedural filters in logger
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2624
2023-04-29 15:22:40 -04:00
Raymond Hill
a3b74cd25e Update README.md 2023-04-29 14:41:31 -04:00
Raymond Hill
85c3944c56 Update README.md 2023-04-29 14:02:59 -04:00
GH-User999
0ecd1e093c Update README.md (#3896)
* Update README.md

Added Thunderbird references to match all other installation methods.

Reordered sections to provide overall document consistency.
Reordered reference links and removed unneeded ones.

Renamed All Browsers section to All Programs to be more general and given the fact that Thunderbird is not a browser.

Rewrote "'Do NOT" paragraph under All Programs section to provide consciousness and a more clear general message.

Combined License & Privacy Links under About section.

Other miscellaneous fixes, removals, cleanups, etc.

* Update README.md

Adjusted download button order as per feedback.
2023-04-29 13:36:37 -04:00
Raymond Hill
e6e5b1eac4 Add Fanboy lists optimized for uBO: Cookie & Social
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2612
2023-04-29 12:17:51 -04:00
Raymond Hill
9164d45882 Make Firefox dev build auto-update 2023-04-29 09:31:36 -04:00
Raymond Hill
7d7905ea7b New revision for dev build 2023-04-29 09:25:01 -04:00
Raymond Hill
bbda637294 Host a minified version of uBO lists on CDNs 2023-04-28 17:30:13 -04:00
Raymond Hill
e7f6b43659 Update as per filter list changes 2023-04-28 17:02:51 -04:00
Raymond Hill
536bfb3387 Reminder that typeof null is 'object'
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2619#discussioncomment-5757274
2023-04-28 16:59:14 -04:00
Raymond Hill
c31e087946 Mind small screen size in asset viewer
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2621
2023-04-28 16:57:06 -04:00
Raymond Hill
7eaa416a4a Make Firefox dev build auto-update 2023-04-28 08:51:16 -04:00
Raymond Hill
0b8dcd7c27 New revision for dev build 2023-04-28 08:41:44 -04:00
Raymond Hill
6d81614bd8 Fix and fine tune "Report a filter issue" page
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2619
2023-04-28 08:38:26 -04:00
Raymond Hill
ca2b016ee9 Warn against missing argument in linter 2023-04-28 07:59:50 -04:00
Raymond Hill
6c29ae82f2 Protect against possible page modification to addEventListener 2023-04-28 07:58:23 -04:00
Raymond Hill
11c3f30376 Add thunderbird as target for installation 2023-04-27 22:40:14 -04:00
Raymond Hill
bedb733e67 Fix thunderbird manifest 2023-04-27 21:50:44 -04:00
Raymond Hill
2e465d48c0 Improve rendering of troubleshooting info 2023-04-27 19:16:46 -04:00
Raymond Hill
f116392b93 Make Firefox dev build auto-update 2023-04-27 13:26:50 -04:00
Raymond Hill
116587e061 New revision for dev build 2023-04-27 13:22:44 -04:00
Raymond Hill
bc35110180 Pick only the packaged lists 2023-04-27 13:22:15 -04:00
Raymond Hill
3c12173dfe Add ability to execute aeld scriptlet at a later time
As per discussion with filter list maintainers.

THis requires to use JSON notation for parameter passing:

- "runAt":  "end" = execute scriptlet at `DOMContentLoaded` event
- "runAt": "idle" = execute scriptlet at `load` event
2023-04-27 12:52:17 -04:00
Raymond Hill
7cba521bc4 Make Firefox dev build auto-update 2023-04-27 09:01:17 -04:00
Raymond Hill
c13e1f051d New revision for dev build 2023-04-27 08:53:33 -04:00
Raymond Hill
ad969ec153 Import translation work from https://crowdin.com/project/ublock 2023-04-27 08:52:32 -04:00
Raymond Hill
2892c19f65 New revision for dev build 2023-04-27 08:50:04 -04:00
Raymond Hill
354c060346 Minor HTML/CSS changes 2023-04-27 08:49:45 -04:00
Raymond Hill
8b1b8c4c7f Fix test in last commit 2023-04-26 20:55:57 -04:00
Raymond Hill
b870c94651 Use in-memory availableFilterLists if populated 2023-04-26 20:52:39 -04:00
Raymond Hill
b8cfa382e8 Move hostname label to top
Related feedback:
- https://twitter.com/gorhill/status/1650912124003139599
2023-04-26 14:01:16 -04:00
Raymond Hill
21566f8555 Make Firefox dev build auto-update 2023-04-26 08:30:51 -04:00
Raymond Hill
88e6eb73b5 New revision for dev build 2023-04-26 08:08:41 -04:00
Raymond Hill
2f387e8820 Import translation work from https://crowdin.com/project/ublock 2023-04-26 08:08:16 -04:00
Raymond Hill
348f75af7f Reverse usage of browser.alarms
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2604

Related commit:
- bec6cad2c0
2023-04-26 08:00:13 -04:00
Raymond Hill
ef825245b9 Simplify lz4 instance management 2023-04-25 22:14:15 -04:00
Raymond Hill
1ffdb7d948 Various minor code review 2023-04-25 21:15:11 -04:00
Raymond Hill
a02c241842 Make Firefox dev build auto-update 2023-04-25 14:35:47 -04:00
Raymond Hill
80eac197a0 New revision for dev build 2023-04-25 14:24:40 -04:00
Raymond Hill
ae474aae40 Remove languages with no translations, no activity 2023-04-25 14:21:46 -04:00
Raymond Hill
7e894f5e0e Add time since version update in troubleshooting info 2023-04-25 14:01:47 -04:00
Raymond Hill
5e174c6cb5 Import translation work from https://crowdin.com/project/ublock 2023-04-25 11:09:33 -04:00
Raymond Hill
c729ac5717 Fix inaccurate description, as per feedback 2023-04-25 11:07:54 -04:00
Raymond Hill
96b3ae5e87 Import translation work from https://crowdin.com/project/ublock 2023-04-25 11:06:53 -04:00
Raymond Hill
c3fc7636f2 Add missing period (as suggested by Crowdin volunteer) 2023-04-24 12:09:26 -04:00
Raymond Hill
d3fbef5f9c Use uBO-optimized Fanboy lists
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2610
2023-04-24 12:05:27 -04:00
Raymond Hill
e760b27e27 Make Firefox dev build auto-update 2023-04-24 10:01:15 -04:00
Raymond Hill
2064dfe88c New revision for dev build 2023-04-24 09:49:48 -04:00
Raymond Hill
bf53737db4 Import translation work from https://crowdin.com/project/ublock 2023-04-24 09:47:59 -04:00
Raymond Hill
ec70f1d99e Unconditionally listen to listset changes 2023-04-24 09:38:37 -04:00
Raymond Hill
34d2a4ea2a Fix slice size
Related feedback:
ec4480e122 (r110292487)
2023-04-24 09:18:26 -04:00
Raymond Hill
e46705db00 Listen to all-filter-lists-reloaded, not all-assets-updated
Related commit:
- 4a92f96206
2023-04-23 16:32:38 -04:00
Raymond Hill
e93ecfadfa Make Firefox dev build auto-update 2023-04-23 13:56:35 -04:00
Raymond Hill
8d314554a5 New revision for dev build 2023-04-23 13:51:35 -04:00
Raymond Hill
537d6c6b89 Import translation work from https://crowdin.com/project/ublock 2023-04-23 13:51:10 -04:00
Raymond Hill
4a92f96206 Offer opportunity to update filter lists before reporting issue
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2582

If there exist any built-in filter list which last update time
is older than 2 hours, the "Report a filter issue" page will ask
the user to update their filter lists then verify that the issue
still exists.

Once filter lists are updated, the troubleshooting information
will reflect the change in update time.
2023-04-23 13:45:11 -04:00
Raymond Hill
ec4480e122 Fine tune troubleshooting information 2023-04-23 10:22:46 -04:00
Raymond Hill
0a4a200b00 Make Firefox dev build auto-update 2023-04-23 09:46:28 -04:00
Raymond Hill
00e3524fbc New revision for dev build 2023-04-23 09:39:19 -04:00
Raymond Hill
349c8ca619 Fix overzealous logging in acs scriptlet 2023-04-23 09:28:59 -04:00
Raymond Hill
f6263aa468 Make Firefox dev build auto-update 2023-04-22 19:46:15 -04:00
Raymond Hill
a2725cb987 Import translation work from https://crowdin.com/project/ublock 2023-04-22 19:34:26 -04:00
Raymond Hill
62c9b1bbc8 New revision for dev build 2023-04-22 19:31:40 -04:00
Raymond Hill
98d4d24f9b Mind rejected promises from vAPI.storage API
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2604
2023-04-22 19:29:54 -04:00
Raymond Hill
7b3feca9fc Make Firefox dev build auto-update 2023-04-22 11:06:11 -04:00
Raymond Hill
dac4dbe1ff New revision for dev build 2023-04-22 10:59:12 -04:00
Raymond Hill
54cb5e2232 Properly handle promise rejection from webext.storage.local() API
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2604
2023-04-22 10:57:10 -04:00
Raymond Hill
8939a68e6d Make Firefox dev build auto-update 2023-04-21 20:51:05 -04:00
Raymond Hill
26779f28e8 New revision for dev build 2023-04-21 20:40:57 -04:00
Raymond Hill
6294829e68 Add more checks against unexpected conditions re. assets.json 2023-04-21 20:28:49 -04:00
Raymond Hill
8616b395b2 Internally support no-filtering as default mode
Even though this cannot be set through the user interface.
2023-04-21 19:24:43 -04:00
GH-User999
6afe74d584 Update config.yml (#3895)
Updated config.yml to match recent changes in other repositories.

Removed outdated/unneeded sections.

Updated verbiage.
Updated URLs.
2023-04-21 11:58:55 -04:00
Raymond Hill
fe09e1412d Make Firefox dev build auto-update 2023-04-19 08:06:35 -04:00
Raymond Hill
5563fd3e18 New revision for dev build 2023-04-19 07:56:21 -04:00
Raymond Hill
3dddf4ca47 Fix compiling of negated regex-based to= domain
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2234#discussioncomment-5655665
2023-04-19 07:40:12 -04:00
Raymond Hill
899c39903b New revision for stable release 2023-04-18 11:15:05 -04:00
Raymond Hill
e642195d4c import translation work from https://crowdin.com/project/ublock 2023-04-18 11:12:28 -04:00
Raymond Hill
2ab2b48066 Updated the Finnish list source address (#3894)
Co-authored-by: peace2000 <17256841+peace2000@users.noreply.github.com>
2023-04-18 09:46:33 -04:00
Raymond Hill
61a1e7536f Update README.md 2023-04-17 19:06:43 -04:00
GH-User999
07269b865c Update README.md (#3893)
Shortened Popup UI table header names.

Improved Popup UI table by combining descriptions and information into one sentence for each column.

Removed no longer needed reference links.
2023-04-17 19:04:40 -04:00
Raymond Hill
0e53eeb79f Update README.md
Add up to date images of popup panel; use HTML table to better control vertical alignment
2023-04-17 11:36:50 -04:00
GH-User999
7e98d51d4f Update README.md (#3892)
* Update README.md

Updated sentence in Firefox section to further address more feedback.

* Update README.md

Updated sentence in Firefox section to link to the corresponding Wiki article.
2023-04-17 11:05:00 -04:00
GH-User999
e9fb4c3a42 Update README.md (#3891)
Added sentence under Firefox section to specify that uBO works on Firefox for the desktop & Android.
2023-04-17 08:52:54 -04:00
GH-User999
8a9fda2083 Update README.md (#3890)
Added dedicated Translations section and removed old corresponding sentence.

Removed out of place sentence and corresponding links from reference links section and combined other sentence with first paragraph to reduce primary section for conciseness.
Removed excessive descriptions for items that are implied or should be common knowledge today.

Rewrote sentences as needed to provide more conciseness and reduce wordiness.

Fixed grammar issues.
Fixed consistency issues.
2023-04-16 19:16:17 -04:00
Raymond Hill
382d7b37ac Make Firefox dev build auto-update 2023-04-16 11:41:31 -04:00
Raymond Hill
dd1a40294e New revision for dev build 2023-04-16 11:31:14 -04:00
Raymond Hill
f539f869b9 Fix counting of error deletion in linter
Related feedback:
- https://github.com/uBlockOrigin/uAssets/discussions/17538#discussioncomment-5628053
2023-04-16 08:23:49 -04:00
GH-User999
b2f2611348 Update CONTRIBUTING.md (#3889)
* Update CONTRIBUTING.md

Completely revamped and expanded document.

* Update CONTRIBUTING.md

Remove reference to uBO Legacy.
2023-04-15 19:04:07 -04:00
GH-User999
1ef4b900a5 Update MANIFESTO.md (#3888)
Simplified document including header and first sentence for conciseness.

Removed excessive wordiness in sentences.
Removed excessive formatting.

Fixed uBO naming conventions.
Fixed grammar issues.
Fixed formatting issues.
2023-04-15 15:42:12 -04:00
Raymond Hill
cc062d3a8a No need for redundant "safe" 2023-04-15 11:14:14 -04:00
GH-User999
dd05d1a090 Update README.md (#3887)
* Update README.md

Removed uMatrix reference and trimmed sentence.

* Update README.md

Removed uMatrix URL from the reference links.
2023-04-15 08:17:21 -04:00
GH-User999
1816aba217 Update README.md
Merged the initial brief description paragraph with the general information section for conciseness and to reduce large amounts of redundancy.
Merged both "Do NOT" statements in the All Browsers section for conciseness and to reduce redundancy.

Rewrote and restructured the new primary section for conciseness and consistency and to eliminate redundancy as needed.

Removed obsolete sentence from the About section.

Other minor cleanups and fixes.
2023-04-14 13:28:14 -05:00
Raymond Hill
482d7f8376 Make Firefox dev build auto-update 2023-04-14 10:35:45 -04:00
Raymond Hill
120801097e New revision for release candidate 2023-04-14 10:28:32 -04:00
Raymond Hill
e15951dce5 Convert remaining vAPI.setTimeout to vAPI.defer
Related commit:
- 91f9795023
2023-04-14 10:26:45 -04:00
Raymond Hill
19db4e57f2 Make the toolbar warning timeout configurable
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2589
2023-04-14 09:55:06 -04:00
Raymond Hill
7347a2148a No need for async 2023-04-13 22:24:49 -04:00
Raymond Hill
986ea0691d Use Promise the way they are meant to be used 2023-04-13 15:03:19 -04:00
Raymond Hill
c97d0ab062 Forcefully clear unprocessed-request status after a minute
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2589#issuecomment-1507084473
2023-04-13 11:41:52 -04:00
Raymond Hill
e5e8e0d443 Make Firefox dev build auto-update 2023-04-13 09:01:21 -04:00
Raymond Hill
7ce07511e5 New revision for dev build 2023-04-13 08:51:16 -04:00
Raymond Hill
b6a5424c8d Seems to fix search count not showing 2023-04-12 20:54:43 -04:00
Raymond Hill
0575567d2a Time when main listener was installed is enough 2023-04-12 18:24:30 -04:00
Raymond Hill
86477dd4e5 Move faster test first 2023-04-12 18:08:11 -04:00
Raymond Hill
bb4ca42dc3 Make Firefox dev build auto-update 2023-04-12 16:21:06 -04:00
Raymond Hill
02e65efa0d New revision for dev build 2023-04-12 16:14:15 -04:00
Raymond Hill
bacf5d1661 Better integrate suspend-network with unprocessed-request
Also added additional safeguard against sticky unprocessed-request
status: all unprocessed-request statuses will be cleared after a
minute elapsed following intialization. The idea is that if the
user hasn't care to force a reload of the page, then it's assumed
to be by choice and uBO should stop informing about the status.
2023-04-12 16:10:00 -04:00
Raymond Hill
a1619a118d Minor code review 2023-04-12 12:13:31 -04:00
Raymond Hill
df318a4fe6 Make Firefox dev build auto-update 2023-04-12 11:46:26 -04:00
Raymond Hill
0c0bf4021d Fix typo in dev build revision 2023-04-12 11:37:45 -04:00
Raymond Hill
93421b72ef Fix dev build revision 2023-04-12 11:32:26 -04:00
Raymond Hill
6655da174f New revision for dev build 2023-04-12 11:31:23 -04:00
Raymond Hill
b47ecb6bfa Do not clobber rightful onBeforeSuspendableRequest listener 2023-04-12 11:22:45 -04:00
Raymond Hill
bc54179edd More aggressively clear the unprocessed-request status
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2589
2023-04-12 10:55:00 -04:00
Raymond Hill
f661196691 Revert vandalism in Czech translation from https://crowdin.com/project/ublock 2023-04-12 09:30:06 -04:00
Raymond Hill
9b3bc3874b Import translation work from https://crowdin.com/project/ublock 2023-04-12 08:55:54 -04:00
Raymond Hill
464119af61 Link the reload button to clearing the unprocessed-requests status 2023-04-11 23:28:27 -04:00
Raymond Hill
be736b20bd Search style should override error style 2023-04-11 22:40:44 -04:00
Raymond Hill
f0eadae3ba Clear unprocessed status of removed tabs 2023-04-11 22:38:43 -04:00
Raymond Hill
e1500ee88d Add ability to defer set-constant execution
A new optional parameter has been added to `set-constant`
scriptlet: `runAt`, default to `0`.

 ..##+js(set, document.body.oncontextmenu, null, 2)

When the `runAt` parameter is present, uBO will take it into
account to possibly defer execution of `set-constant`:

- `runAt` not present: execute immediately
- `runAt` = 1: execute immediately
- `runAt` = 2: execute when document state is "interactive"
- `runAt` = 3: execute when document state is `"complete"
2023-04-11 21:45:40 -04:00
Raymond Hill
8083e06b30 Revert 09b3695205 (re. browser.alarms)
Relates issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2591

THe issue was simply that I had forgotten to add the `alarms`
permission to the manifest.
2023-04-11 18:06:57 -04:00
Raymond Hill
6f3b5df8ef Fix errand change re. new setTimeout wrapper 2023-04-11 10:33:21 -04:00
Raymond Hill
a5f735b585 Fix mv3 builds 2023-04-11 09:35:31 -04:00
Raymond Hill
5cadc2799f Make Firefox dev build auto-update 2023-04-11 09:01:26 -04:00
Raymond Hill
73a63b1930 Import translation work from https://crowdin.com/project/ublock 2023-04-11 08:46:14 -04:00
Raymond Hill
660d6fd8cf New revision for dev build 2023-04-11 08:43:16 -04:00
Raymond Hill
47287caf1f Use valid Gecko version 2023-04-11 08:42:28 -04:00
Raymond Hill
09b3695205 Provide fallback API for platforms not supporting alarms API
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2591
2023-04-11 08:40:18 -04:00
Raymond Hill
f0c28f2faa Minor CSS change 2023-04-10 19:54:16 -04:00
Raymond Hill
a495dabff9 Import translation work from https://crowdin.com/project/ublock 2023-04-10 19:37:32 -04:00
Raymond Hill
61fdc744ca Make Firefox dev build auto-update 2023-04-10 17:21:28 -04:00
Raymond Hill
ef345ade31 New revision for dev build 2023-04-10 17:15:28 -04:00
Raymond Hill
bf5f343548 Replace toolbar icon tooltip with message section in panel
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2585

Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/126rn4f/yellow_toolbar_icon_exclamation_mark_badge/jfns0pc/
2023-04-10 17:10:00 -04:00
Raymond Hill
dad862f063 Properly detect incorrect usage of CSS combinators
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/12fquk4/ublock_is_on_but_im_still_getting_ads_on_this/jfpkz1g/
2023-04-10 15:13:03 -04:00
Raymond Hill
768bf7d6f6 Import translation work from https://crowdin.com/project/ublock 2023-04-10 10:22:17 -04:00
Raymond Hill
ff117f3d62 New revision for dev build 2023-04-10 10:15:28 -04:00
Raymond Hill
63d0f124ba Replace requestIdleCallback() with new vAPI.defer utility
Related commit:
- 91f9795023
2023-04-10 10:10:19 -04:00
Raymond Hill
3b14fd915a Fix cloud storage widget not showing (regression)
Related feedback:
- 50afd5ae38 (commitcomment-108294887)
2023-04-10 10:03:51 -04:00
Raymond Hill
0a1deffb02 Add missing period, as suggested 2023-04-10 08:16:01 -04:00
Raymond Hill
a8b40ffe6c Make Firefox dev build auto-update 2023-04-09 18:55:49 -04:00
Raymond Hill
1958af5a10 New revision for dev build 2023-04-09 18:49:20 -04:00
Raymond Hill
5baced053a Import translation work from https://crowdin.com/project/ublock 2023-04-09 18:48:49 -04:00
Raymond Hill
eb7e1ae821 Make Firefox dev build auto-update 2023-04-09 18:25:37 -04:00
Raymond Hill
fe45a0dd77 Import translation work from https://crowdin.com/project/ublock 2023-04-09 14:04:42 -04:00
Raymond Hill
3530b9dc89 Add informative tooltip re. unprocessed requests at launch
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2585
2023-04-09 14:02:01 -04:00
Raymond Hill
c5d62d9ae7 Import translation work from https://crowdin.com/project/ublock 2023-04-09 14:00:39 -04:00
Raymond Hill
91f9795023 Wrap usage of setTimeout in helper for background + auxiliary pages
This commit centralizes usage of setTimeout()/clearTimeout() in the
source code at one single location.
2023-04-09 13:38:16 -04:00
Raymond Hill
b4984ed85b New revision for dev build 2023-04-07 20:31:04 -04:00
Raymond Hill
bec6cad2c0 Start using browser.alarms instead of setTimeout() where applicable
Related documentation:
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Background_scripts#convert_to_non-persistent
2023-04-07 20:24:20 -04:00
Raymond Hill
66c70cf746 Fix improper detection of quotes in quoted strings
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2586
2023-04-07 18:10:50 -04:00
Raymond Hill
521c3dcd1d Fix Chromium publish script for uBO Lite 2023-04-07 14:48:45 -04:00
Raymond Hill
a538089a08 Fix Firefox publish script for uBO Lite 2023-04-07 14:26:18 -04:00
Raymond Hill
2108c11889 Work toward signed releases of Firefox uBO Lite 2023-04-07 14:18:58 -04:00
gorhill
d13cd2bd30 Update build log file
Files changed:
M	dist/mv3/log.txt
2023-04-07 17:36:32 +00:00
Raymond Hill
ba1d686795 Fix github-actions re uBO Lite 2023-04-07 13:34:27 -04:00
Raymond Hill
16b50852c3 Make a firefox package of uBO Lite on release 2023-04-07 13:24:57 -04:00
Raymond Hill
b408b9314c Use more reliable way to check browser environment 2023-04-07 13:00:01 -04:00
Raymond Hill
cbfd2ad942 Create a MVP version of uBOLite for Firefox
What does not work at the time of commit:

Cosmetic filtering does not work:

The content scripts responsible for cosmetic filtering fail when
trying to inject the stylesheets through document.adoptedStyleSheets,
with the following error message:

  XrayWrapper denied access to property Symbol.iterator
  (reason: object is not safely Xrayable).
  See https://developer.mozilla.org/en-US/docs/Xray_vision for more
  information. ... css-declarative.js:106:8

A possible solution is to inject those content scripts in the
MAIN world. However Firefox scripting API does not support MAIN
world injection at the moment.

Scriptlet-filtering does not work:

Because scriptlet code needs to be injected in the MAIN world,
and this is currently not supported by Firefox's scripting API,
see https://bugzilla.mozilla.org/show_bug.cgi?id=1736575

There is no count badge on the toolbar icon in Firefox, as it
currently does not support the `DNR.setExtensionActionOptions`
method.

Other than the above issues, it does appear uBO is blocking
properly with no error reported in the dev console.

The adoptedStyleSheets issue though is worrisome, as the
cosmetic filtering content scripts were designed with ISOLATED
world injection in mind. Being forced to inject in MAIN world
(when available) make things a bit more complicated as uBO
has to ensure it's global variables do not leak into the page.
2023-04-07 10:19:43 -04:00
Raymond Hill
8b5774a83d Minor CSS tweak 2023-04-06 17:43:03 -04:00
Raymond Hill
f2698b097c Fix mv3 build 2023-04-06 17:42:21 -04:00
Raymond Hill
d33633ecc9 Make Firefox dev build auto-update 2023-04-06 13:30:42 -04:00
Raymond Hill
8285958be4 New revision for dev build 2023-04-06 13:23:13 -04:00
Raymond Hill
b2894756e5 Import translation work from https://crowdin.com/project/ublock 2023-04-06 13:22:48 -04:00
Raymond Hill
bc21a1fe72 Use custom linter gutter as container for code-folding widgets
This allows to reduce the horizontal size of the gutter; more efficient
management of folding since we already need to parse each line for the
linter; and eventually this will also allows to detect unbalanced
!#if-!#endif directives and report such cases as errors.

Additionally, keep incrementally improving error reporting details
in the linter.
2023-04-06 13:14:42 -04:00
Raymond Hill
028eee456f Ensure error count is decrease when an error is fixed 2023-04-04 16:55:47 -04:00
Raymond Hill
767fcf9929 Make Firefox dev build auto-update 2023-04-04 14:36:28 -04:00
Raymond Hill
5264eb7604 New revision for dev build 2023-04-04 14:30:01 -04:00
Raymond Hill
d59eeba8e2 Fix tabs.executeScript() not resolving in due time
Related feedback:
- 6efd8eb84a
2023-04-04 14:28:48 -04:00
Raymond Hill
0f5384ee0d Rename reported popup panel property 2023-04-04 13:42:09 -04:00
Raymond Hill
620a96531c Report cosmetic filters as popup panel property 2023-04-04 13:20:58 -04:00
Raymond Hill
8c376d7791 Make Firefox dev build auto-update 2023-04-04 11:31:36 -04:00
Raymond Hill
fad51630ac New revision for dev build 2023-04-04 11:17:10 -04:00
Raymond Hill
6efd8eb84a Add matched cosmetic filters in troubleshooting information 2023-04-04 11:15:44 -04:00
Raymond Hill
09265ef57c Simplify linter error counting by using line events 2023-04-04 09:24:18 -04:00
Raymond Hill
9b5ed5ca86 Fine-tune underline styles used in CM editor 2023-04-04 08:36:44 -04:00
Raymond Hill
ddb767c284 Make Firefox dev build auto-update 2023-04-03 10:31:26 -04:00
Raymond Hill
204c5598a6 New revision for dev build 2023-04-03 10:25:21 -04:00
Raymond Hill
3e1030588e Import translation work from https://crowdin.com/project/ublock 2023-04-03 10:24:47 -04:00
Raymond Hill
4aea9aa624 Better folding arrows in CodeMirror editor 2023-04-03 10:20:53 -04:00
Raymond Hill
6e8aeae283 Flush memory cache at key filtering profile changes
To reduce the need for hard reload after changes in filters,
rules.
2023-04-03 10:19:06 -04:00
Raymond Hill
daee72b982 Make Firefox dev build auto-update 2023-04-02 13:31:28 -04:00
Raymond Hill
172b28d951 New revision for dev build 2023-04-02 13:26:32 -04:00
Raymond Hill
6531b86d29 Fix search highlight with dark theme
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2542#discussioncomment-5502579
2023-04-02 13:20:22 -04:00
Raymond Hill
d25e9fd32a Make Firefox dev build auto-update 2023-04-02 12:20:45 -04:00
Raymond Hill
16d92ad82e New revision for dev build 2023-04-02 12:14:28 -04:00
Raymond Hill
ae1afe0381 Import translation work from https://crowdin.com/project/ublock 2023-04-02 12:13:44 -04:00
Raymond Hill
edbe96a401 Add logging ability to acs scriptlet, for the benefit of filter list
maintainers.

To enable logging, use the JSON approach to pass parameters to
`acs` scriptlet. Example:

    ..##+js(acs, { "target": "document.oncontextmenu", "log": true })

Whereas "target", "needle", and "context" correspond to their
respective positional argument. Using JSON form to pass parameters
allows to specify extra paramters to facilitate debugging of that
scriptlet:

- `"log": true` => output useful information at the dev console.
- `"debug": true` => break at key locations in the scriptlet.

The added logging/debugging capabilities work only in the dev build
of uBO or if the advanced setting `filterAuthorMode` is set to
`true`.
2023-04-02 12:01:58 -04:00
Raymond Hill
95bd52d01f Fine tuning new linter code 2023-04-02 10:40:44 -04:00
Raymond Hill
cda39709b1 Properly fail on bad network filter pattern
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1146
2023-04-02 10:05:42 -04:00
Raymond Hill
46e90b21e9 Code review of new linter code
As per CodeMirror's documentation, eachLine() iterator is
faster, so use this. Also no need to keep track or marked
lines, we can just find them on demand, this makes the code
simpler.
2023-04-02 09:19:32 -04:00
Raymond Hill
dd8031a508 Fine tune CSS style for errors 2023-04-01 18:11:41 -04:00
Raymond Hill
13085eb08a Make Firefox dev build auto-update 2023-04-01 17:01:08 -04:00
Raymond Hill
5533c3f435 New revision for dev build 2023-04-01 16:51:47 -04:00
Raymond Hill
0601350995 Import translation work from https://crowdin.com/project/ublock 2023-04-01 16:51:03 -04:00
Raymond Hill
9519666fcc Import translation work from https://crowdin.com/project/ublock 2023-04-01 16:49:15 -04:00
Raymond Hill
50afd5ae38 Add infrastructure for static filter syntax linter
Sort of related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1134
2023-04-01 16:42:41 -04:00
Raymond Hill
b10f15dd89 Ignore line, do not report as error
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2560#issuecomment-1492959500
2023-04-01 13:50:53 -04:00
Raymond Hill
e2d837a2db Fix presumed network filter not being a valid network filter
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2560#issuecomment-1492959500
2023-04-01 09:05:36 -04:00
Raymond Hill
40e61cbf6a Make Firefox dev build auto-update 2023-03-31 10:36:17 -04:00
Raymond Hill
1333e02de8 New revision for dev build 2023-03-31 10:27:52 -04:00
Raymond Hill
9f1c0d986b Add support to restore from json file
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1956
2023-03-31 09:58:50 -04:00
Raymond Hill
0d26064a26 Make object equivalent of frame for dynamic filtering purpose
Related issue:
- uBlockOrigin/uBlock-issues#2496
2023-03-31 09:46:22 -04:00
Raymond Hill
b4ae2d3bf4 Make object equivalent of frame for dynamic filtering purpose
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2496
2023-03-31 09:37:53 -04:00
Raymond Hill
2c55bc3780 Make Firefox dev build auto-update 2023-03-31 08:56:10 -04:00
Raymond Hill
0d5cb8cff5 Import translation work from https://crowdin.com/project/ublock 2023-03-31 08:49:00 -04:00
Raymond Hill
b53f3c1137 New revision for dev build 2023-03-31 08:43:52 -04:00
Raymond Hill
e2a158d94b Add check before accessing vAPI 2023-03-31 08:28:09 -04:00
Raymond Hill
5c85fdbc32 Fix typo in code
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2570#issuecomment-1491616007
2023-03-31 08:26:53 -04:00
Raymond Hill
b5d78a07bf Fix type in variable name
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2570
2023-03-30 20:46:44 -04:00
Raymond Hill
a7c479083f Make Firefox dev build auto-update 2023-03-30 17:25:13 -04:00
Raymond Hill
1f9ecffbd1 New revision for dev build 2023-03-30 17:14:09 -04:00
Raymond Hill
0b09155268 Clear unprocessed requests status on webNavigation reload event
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2564
2023-03-30 17:12:45 -04:00
Raymond Hill
a6071565a5 Import translation work from https://crowdin.com/project/ublock 2023-03-30 16:35:52 -04:00
Raymond Hill
0a899e1279 Added strings to translate 2023-03-30 16:33:32 -04:00
Raymond Hill
c3df4ced0a Import translation work from https://crowdin.com/project/ublock 2023-03-30 16:32:24 -04:00
Raymond Hill
65e2f37585 Make Firefox dev build auto-update 2023-03-30 13:31:28 -04:00
Raymond Hill
0b6e25abb4 New revision for dev build 2023-03-30 13:26:48 -04:00
Raymond Hill
d58309674d Enfore implicit media type for filters using mp4
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2568
2023-03-30 13:25:45 -04:00
Raymond Hill
b68a7dbad4 Make Firefox dev build auto-update 2023-03-30 13:05:59 -04:00
Raymond Hill
a9239f93b6 New revision for dev build 2023-03-30 12:59:27 -04:00
Raymond Hill
42a00ec742 Better detect invalid network filter patterns
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2566
2023-03-30 12:58:19 -04:00
Raymond Hill
1835e90125 Avoid using ! toolbar icon badge when inconsequential
uBO will now verify that at least one unprocessed network requests
at launch should have been blocked in order to warn users of
unprocessed network requests through the `!` toolbar icon badge.

For example, with default filter lists, there is nothing to block
on `wikipedia.org`, and hence in this case it's not useful to
present the user with the `!` badge.

Therefore uBO will not show the badge *only* when at least one
unprocessed network requests should have been blocked had uBO been
ready when it was fired by the browser.

Related commit:
- https://github.com/gorhill/uBlock/commit/769b8da664be
2023-03-30 12:30:44 -04:00
Raymond Hill
3d1c696e20 Support view source of "other" type 2023-03-30 12:29:02 -04:00
Raymond Hill
08d411a7b4 Clear network error status when list fetch succeed 2023-03-30 12:28:02 -04:00
Raymond Hill
cee3c4822d Make Firefox dev build auto-update 2023-03-29 13:11:15 -04:00
Raymond Hill
0758ea86ef New revision for dev build 2023-03-29 13:04:56 -04:00
Raymond Hill
6461393b6a Prevent repeatedly launching emergency updates
Emergency update of assets could be repeatedly launched
every 15 seconds if a resource could not be fetched from
a server. A cooldown period has been added to prevent
repeatedly launching emergency updates.
2023-03-29 13:02:48 -04:00
Raymond Hill
8d445e782d Add widget to filter firewall rows in popup panel
This replaces the limited "visually enhance rows" togglers.
2023-03-29 12:47:18 -04:00
Raymond Hill
189bdd685f Properly report network error condition when importing filter list
Before this commit, a network error condition was not reported
when the filter list was imported, it was only reported afterward
when the imported filter list was updated.
2023-03-28 09:54:03 -04:00
Raymond Hill
d31e14995e Make Firefox dev build auto-update 2023-03-28 08:55:51 -04:00
Raymond Hill
d586bd7f2f New revision for dev build 2023-03-28 08:47:36 -04:00
Raymond Hill
391b2a4e67 Test for presence of vAPI in deferred methods 2023-03-28 08:39:36 -04:00
Raymond Hill
198c20db76 Return error when GET returns a non-plain text file 2023-03-28 08:38:34 -04:00
Raymond Hill
8507d637e5 Add support for negated hostnames in HTML filters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/6
2023-03-28 08:35:09 -04:00
Raymond Hill
3658d70cc4 Add missing 64px icons 2023-03-27 18:18:21 -04:00
Raymond Hill
885b3ea6c0 Fix spurious update cycle attempts
Caused by the fact that external filter lists do not have an
`off` property even when they are not enabled.

Additionally, set the default update cycle check period to 2hr.
2023-03-27 15:04:44 -04:00
Raymond Hill
10f9559a52 Add 64px toolbar icon for 4K displays
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2477
2023-03-27 12:59:39 -04:00
Raymond Hill
08815e9798 Make Firefox dev build auto-update 2023-03-27 09:26:12 -04:00
Raymond Hill
e252606ccd New revision for dev build 2023-03-27 09:20:43 -04:00
Raymond Hill
75abf77e62 Fix patching {{args}} when instances of $ are present
Related feedback:
- https://github.com/uBlockOrigin/uAssets/issues/16715#issuecomment-1484232457
2023-03-27 09:04:35 -04:00
Raymond Hill
c3a2c0fb9f Make Firefox dev build auto-update 2023-03-26 20:51:04 -04:00
Raymond Hill
ea6279a75c New revision for dev build 2023-03-26 20:39:56 -04:00
Raymond Hill
f7f776fb8a Aggressively update assets when at least one is very obsolete
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1165
2023-03-26 20:32:51 -04:00
Raymond Hill
a8a46c4593 Normalize non-ASCII characters in :matches-path() argument
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2369
2023-03-26 15:37:15 -04:00
Raymond Hill
c8af55e27a Harden aeld scriptlet against page's tampering
Related feedback:
- https://github.com/uBlockOrigin/uBlock-discussions/discussions/1#discussioncomment-5433222
2023-03-26 14:02:21 -04:00
Raymond Hill
69e54e5db7 Make Firefox dev build auto-update 2023-03-26 13:21:30 -04:00
Raymond Hill
d4bc1adab3 New revision for dev build 2023-03-26 13:15:29 -04:00
Raymond Hill
da672d4dbf Add extra check to detect function declaration in scriptlets
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/122pqyg/
2023-03-26 13:14:00 -04:00
Raymond Hill
5c9c87e485 Add ability for scriptlets to share local data
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1741

As a result of the new capability, usage of RegExp API in `aost`
scriptlet has been shielded from the webpage tampering with the
API.
2023-03-26 12:31:36 -04:00
Raymond Hill
c7c748862e Make Firefox dev build auto-update 2023-03-26 09:20:42 -04:00
Raymond Hill
8735631f6c New revision for dev build 2023-03-26 09:14:49 -04:00
Raymond Hill
236fb3ad59 Add scriptlet dependencies to reduce code duplication 2023-03-26 09:13:17 -04:00
Raymond Hill
439951824a Remove addEventListenerLogger, expand addEventListenerDefuser
The scriptlet addEventListenerLogger has been removed.

The logging of addEventListener() calls can now be done with the
addEventListenerDefuser scriptlet, which now supports the
following named arguments:

"type": the event type to match. Default to '', i.e. match-all.

"pattern": the pattern to match against the handler argument
Default to '', i.e. match-all.

"log": an integer value telling when to log:

- 1: log only when both type and pattern matches, i.e. when a
     call to addEventListener() is defused
- 2: log when either the type or pattern matches
- 3: log all calls to addEventListener()

"debug": an integer value telling when to break into the
 debugger, useful to inspect the debugger's call stack.

- 1: break into the debugger when both type and pattern match,
     so effectively when defusing is taking place.
- 2: break into the debugger when either type or pattern matches.

The usage of named arguments is optional, positional arguments
are still supported as documented. Named arguments is required
to use "log" and/or "debug" arguments.

Obviously, do not use "log" or "debug" in any filter list, these
are investigative tools for filter list authors.

Examples of usage using named arguments:

  wikipedia.org##+js(aeld, { "type": "/mouse/", "pattern": "/.^/", "log": 2 })

Above filter will log calls to addEventListener() which have the
pattern "mouse" in the event type (so "mouseover", "mouseout",
etc.) without defusing any of them (because pattern can't match
anything).

  wikipedia.org##+js(aeld, { "type": "/.^/", "log": 2 })

Above filter will log all calls without defusing any of them
(because type can't match anything)

  wikipedia.org##+js(aeld, { "log": 1 })

Above filter will log and defuse all calls to addEventListener().
2023-03-25 12:35:56 -04:00
Raymond Hill
a51130baed Remove unused scriptlets 2023-03-24 18:46:39 -04:00
Raymond Hill
a355a73aa2 Make Firefox dev build auto-update 2023-03-24 16:10:33 -04:00
Raymond Hill
c1045ad20b New revision for dev build 2023-03-24 15:58:59 -04:00
Raymond Hill
a42374199e Fix regression in parsing scriptlet arguments
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2557
2023-03-24 15:57:48 -04:00
Raymond Hill
21ccaaf804 Make Firefox dev build auto-update 2023-03-24 14:45:57 -04:00
Raymond Hill
1b45918119 New revision for dev build 2023-03-24 14:30:23 -04:00
Raymond Hill
18a84d2819 Refactor scriptlets injection code
Builtin scriptlets are no longer parsed as text-based resources,
they are imported as JS functions, and `toString()` is used to
obtain text-based representation of a scriptlet.

Scriptlet parameters are now passed as function call arguments
rather than by replacing text-based occurrences of `{{i}}`. The
arguments are always string values (see below for exception).

Support for argument as Object has been added. This opens the
door to have scriptlets using named arguments rather than
positional arguments, and hence easier to extend functionality
of existing scriptlets. Example:

    example.com##+js(scriplet, { "prop": "adblock", "value": false, "log": true })

Compatibility with user-provided scriptlets has been preserved.

User-provided scriptlets can benefit some of the changes:

Use the form `function(..){..}` instead of `(function(..){..})();`
in order to received scriptlet arguments as part of function call
-- instead of using `{{i}}`.

If using the form `function(..){..}`, you can choose to receive
an Object as argument -- just be sure that your scriptlet's
parameter is valid JSON notation.
2023-03-24 14:05:18 -04:00
Raymond Hill
56b8201196 Ensure astSelectorsFromSelectorList receive expected arguments
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2554
2023-03-23 14:57:31 -04:00
Raymond Hill
6f0ab28258 Make Firefox dev build auto-update 2023-03-23 13:56:22 -04:00
Raymond Hill
c9cb05197d New revision for dev build 2023-03-23 13:41:28 -04:00
Raymond Hill
2cd062898c Properly handle default list status changes in assets.json
This commit fix properly handling toggling off the default
status of a list such that the list will be automatically
turned off when its status change from default to non-default.

Additionally, imported lists which become stock lists will
be properly migrated from imported lists section.
2023-03-23 13:40:51 -04:00
Raymond Hill
6d989744bb Import translation work from https://crowdin.com/project/ublock 2023-03-21 12:12:17 -04:00
Raymond Hill
0a4ac76171 New revision for stable release 2023-03-21 12:10:09 -04:00
Raymond Hill
eebd472846 Make Firefox dev build auto-update 2023-03-21 10:31:34 -04:00
Raymond Hill
7224da7099 Ne wrevision for release candidate 2023-03-21 10:23:53 -04:00
Raymond Hill
72cc9a8fe8 Fix broken http header filtering
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2552
2023-03-21 10:22:32 -04:00
Raymond Hill
285ce54d9c Add regional filter list for Croatia/Serbia
Related discussion:
- https://github.com/uBlockOrigin/uAssets/issues/17088#issuecomment-1460942565
2023-03-21 09:56:43 -04:00
Raymond Hill
126772459a Make Firefox dev build auto-update 2023-03-19 07:31:07 -04:00
Raymond Hill
1cdbf2d06d New revision for release candidate 2023-03-19 07:26:48 -04:00
Raymond Hill
2f42cf61ab Properly handle potential exception from webext API
Related feedback:
- https://github.com/uBlockOrigin/uAssets/discussions/16939#discussioncomment-5356808
2023-03-19 07:25:06 -04:00
Raymond Hill
6e87026d40 Make Firefox dev build auto-update 2023-03-18 17:36:22 -04:00
Raymond Hill
3abbf0def5 New revision for release candidate 2023-03-18 17:25:09 -04:00
Raymond Hill
60827c603d Cached managed storage content for faster readiness
Related issue:
- https://github.com/uBlockOrigin/uAssets/discussions/16939
2023-03-18 17:23:13 -04:00
Raymond Hill
e8abd5dfbe Fix report of unprocessed requests in Support pane 2023-03-18 16:20:40 -04:00
Raymond Hill
d42e9ae2a8 Add dev console boot sequence info 2023-03-18 14:37:49 -04:00
Raymond Hill
8c5fd9f53c Make Firefox dev build auto-update 2023-03-18 12:36:37 -04:00
Raymond Hill
bb462e6e5d Actual icon color is #FFCC00, not #FC0 2023-03-18 12:27:40 -04:00
Raymond Hill
8bef11a871 New revision for release candidate 2023-03-18 12:17:49 -04:00
Raymond Hill
a72c068bcc Make badge color consistent with filtering status
Related commit:
- 32508620a2
2023-03-18 12:16:20 -04:00
Raymond Hill
820d988fa9 Make Firefox dev build auto-update 2023-03-18 11:51:00 -04:00
Raymond Hill
bf621680fe New revision for release candidate 2023-03-18 11:43:57 -04:00
Raymond Hill
32508620a2 Emphasize broken filtering at launch on toolbar icon badge
Related feedback:
- 769b8da664 (commitcomment-104695781)

The incomplete filtering status of a given tab at browser launch
will be carried over visually as a yellowish `!` badge until the
web page in the tab is force reloaded, navigated away, or closed.

The purpose is to make it obvious to end users that a web page
has not been filtered properly and to avoid issue reports
related to this.

It is expected that Firefox should never be affected by cases of
yellowish badge -- that is unless the setting "Suspend network
activity [...]" has been disabled, in which case the new behavior
will also be useful to those who disabled the setting.
2023-03-18 11:35:06 -04:00
Raymond Hill
4d81e5a8d4 Make Firefox dev build auto-update 2023-03-16 15:06:18 -04:00
Raymond Hill
c19cbaa84b New revision for release candidate 2023-03-16 14:55:11 -04:00
Raymond Hill
a9c7369340 Minor fine tuning 2023-03-16 14:54:45 -04:00
Raymond Hill
fd9bb02aab Fix search widget when swapping document in new code viewer 2023-03-16 12:36:02 -04:00
Raymond Hill
aa21952379 Make Firefox dev build auto-update 2023-03-16 09:26:31 -04:00
Raymond Hill
5c92d95143 Prevent dashboard from loading at browser launch until ready
Related discussion:
- https://github.com/uBlockOrigin/uAssets/discussions/16939

Various feedback of people trying to interact with uBO's dashboard
at browser launch, before uBO's main process is fully initialized,
causing confusion, and potential loss of data.
2023-03-16 09:17:36 -04:00
Raymond Hill
0cfc4ee396 New revision for dev build 2023-03-16 07:57:16 -04:00
Raymond Hill
769b8da664 Finalize "unreadiness" toolbar icon
- Yellow uBO toolbar icon: uBO not ready

- Yellow uBO toolbar icon + `!` badge: network requests went
  through while uBO is not ready
2023-03-16 07:13:27 -04:00
Raymond Hill
86753c5e69 Make Firefox dev build auto-update 2023-03-15 21:26:26 -04:00
Raymond Hill
6afc26c46b New revision for release candidate 2023-03-15 21:16:12 -04:00
Raymond Hill
39cac612c2 Use the warning toolbar icon only if unprocessed requests
Related discussion:
- https://github.com/uBlockOrigin/uAssets/discussions/16939

Related commit:
- 0c9576d3e6
2023-03-15 21:13:28 -04:00
Raymond Hill
8e35aa74f0 Report only launch-time value of maxAssetCacheWait 2023-03-15 08:32:56 -04:00
Raymond Hill
47c731f680 Import translation work from https://crowdin.com/project/ublock 2023-03-15 08:16:18 -04:00
Raymond Hill
464b54bbc6 Add ext_devbuild as preparser directive
In order to be able to create filters which only work with the
dev build of uBO.
2023-03-14 19:11:29 -04:00
Raymond Hill
3d2b901268 Make Firefox dev build auto-update 2023-03-14 19:01:24 -04:00
Raymond Hill
12a3a601e9 New revision for dev build 2023-03-14 18:51:53 -04:00
Raymond Hill
e93117cbb6 Add call-nothrow scriptlet
The purpose is to prevent a call to an existing function from
throwing an exception. The exception will be caught by the
scriptlet and neutralized.

The first argument must be a reference to a function call. At
the moment, the function call must exist at the time the
scriptlet is called.
2023-03-14 18:50:01 -04:00
Raymond Hill
5fe0416001 Fix https://github.com/uBlockOrigin/uBlock-issues/issues/2546 2023-03-14 14:05:20 -04:00
Raymond Hill
388cf8da09 Make Firefox dev build auto-update 2023-03-14 09:06:20 -04:00
Raymond Hill
c0529307fa Properly handle failed fetches in code viewer 2023-03-14 08:58:52 -04:00
Raymond Hill
0ba5ec162b New revision for dev build 2023-03-14 08:49:06 -04:00
Raymond Hill
6ba758d007 Add button to code viewer to reload code from server 2023-03-14 08:43:23 -04:00
Raymond Hill
fc84fdee52 Fine tune scriptlet 2023-03-14 08:21:22 -04:00
Raymond Hill
9051df3f02 Make Firefox dev build auto-update 2023-03-13 11:06:36 -04:00
Raymond Hill
d6ced780aa New revision for dev build 2023-03-13 10:59:53 -04:00
Raymond Hill
93ac6514bc Import translation work from https://crowdin.com/project/ublock 2023-03-13 10:59:25 -04:00
Raymond Hill
6220c4d9d5 Improve code viewer convenience
- Retain cursor position, selection, undo history, etc. when swapping
  documents.
- Add ability to remove a document from dropdown list
2023-03-13 10:51:55 -04:00
Raymond Hill
53be37955f Make Firefox dev build auto-update 2023-03-12 17:56:13 -04:00
Raymond Hill
eb045e4b2d New revision for dev build 2023-03-12 17:49:53 -04:00
Raymond Hill
4bf3fe7b5b Fix minor details in new code viewer
- Automatically remove quotes around URLs pasted in input field
- Fix editor not getting the focus after interacting with input
  field
2023-03-12 17:47:21 -04:00
Raymond Hill
b3821e6869 Support removing whole lines of text with regex in m3u-prune scriptlet
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2508

If the first argument is a regex with multine flag set, the
scriptlet will execute the regex against the whole text, and
remove matching text from the whole text.

If the matching text does not contains whole lines, the text
won't be removed, i.e. it is not allowed to remove only part
of a line.
2023-03-12 17:45:02 -04:00
Raymond Hill
f80c84ab40 Remove references to deprecated gitcdn.link
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2136#issuecomment-1465231197
2023-03-12 14:09:44 -04:00
Raymond Hill
fd0bd98878 Make Firefox dev build auto-update 2023-03-12 11:36:20 -04:00
Raymond Hill
e7c0508dcb New revision for dev build 2023-03-12 11:21:58 -04:00
Raymond Hill
caeb848c56 Fix race condition when looking up current auto/light/dark theme
Related feedback:
- e2dd008388 (commitcomment-104105757)
2023-03-12 11:20:54 -04:00
Raymond Hill
3da9fe08e1 Make Firefox dev build auto-update 2023-03-12 10:36:17 -04:00
Raymond Hill
dc173e1678 New revision for dev build 2023-03-12 10:29:50 -04:00
Raymond Hill
ed05b1d261 "View source..." => "View source code..." 2023-03-12 10:28:35 -04:00
Raymond Hill
b690405c72 Import translation work from https://crowdin.com/project/ublock 2023-03-12 10:27:40 -04:00
Raymond Hill
7b632b32a8 Fix "View source..." context menu entry in Firefox 2023-03-12 10:21:30 -04:00
Raymond Hill
4b6ce5e402 Cleanup unused code
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1529
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1958#discussioncomment-5257148
2023-03-12 10:08:20 -04:00
Raymond Hill
b63ced24d4 Fix broken filter parsing when prepended with spaces
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2540
2023-03-12 09:45:33 -04:00
Raymond Hill
f4391adc5c Fix https://github.com/uBlockOrigin/uBlock-issues/discussions/2539 2023-03-11 20:36:05 -05:00
Raymond Hill
a4fca71960 Make Firefox dev build auto-update 2023-03-11 16:06:08 -05:00
Raymond Hill
76322361a9 New revision for dev build 2023-03-11 16:01:57 -05:00
Raymond Hill
d6fa3e5059 Import translation work from https://crowdin.com/project/ublock 2023-03-11 16:00:51 -05:00
Raymond Hill
e2dd008388 Add 'View source...' entry in context menu
This new context menu entry will be available only when the
advanced setting `filterAuthorMode` is set to `true`. See:

https://github.com/gorhill/uBlock/wiki/Advanced-settings#filterauthormode

The purpose is for filter list maintainers to easily access
the source code of web pages when investigating filter issues,
without having to necessarily go through the logger.

Additionally an input field to enter URL directly has been
added to the code viewer for convenience.
2023-03-11 15:55:51 -05:00
Raymond Hill
bed362d375 Import translation work from https://crowdin.com/project/ublock 2023-03-11 15:54:07 -05:00
Raymond Hill
7bfa8f260b Just select already existing tab when opening link from logger 2023-03-11 09:40:34 -05:00
Raymond Hill
4465520a7c Make Firefox dev build auto-update 2023-03-10 09:01:25 -05:00
Raymond Hill
852213fb3d New revision for dev build 2023-03-10 08:56:01 -05:00
Raymond Hill
574f30ed43 Context of about:blank is that of parent frame (popup option)
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2534#discussioncomment-5264792
2023-03-10 08:48:48 -05:00
Raymond Hill
3c4c3767a2 Report filter list of invalid filter in logger
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2534
2023-03-10 06:48:57 -05:00
Raymond Hill
d7b7dea7fa Make Firefox dev build auto-update 2023-03-09 13:51:04 -05:00
Raymond Hill
e558669d17 New revision for dev build 2023-03-09 13:42:15 -05:00
Raymond Hill
4b4ef6a60c Rename href-from-text to href-sanitizer, add argument
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2531#issuecomment-1462389539

Usage:
- example.com##+js(href-sanitizer, a[href^="/go?to="]:not([title]))
- example.com##+js(href-sanitizer, a[href^="/go?to="][title], [title])

The second argument is the attribute from which to extract the text
to be used for the `href` attribute of the link. If the second
attribute is absent, the text content of the element will be used.
2023-03-09 13:37:06 -05:00
Raymond Hill
3b3a363dac Make Firefox dev build auto-update 2023-03-09 09:06:02 -05:00
Raymond Hill
4676d76480 New revision for dev build 2023-03-09 09:00:20 -05:00
Raymond Hill
e123256eaf Add experimental href-from-text scriptlet
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2531

Usage:

    example.com##+js(href-from-text, a[href^="/tracker-link?to="]

The above scriptlet will find all elements matching the selector
passed as 1st argument, and replace the `href` attribute with the
text content of the element, if all the following conditions are
met:

- The element is a link (`a`) element
- The link element has an existing `href` attribute
- The text content of the element is a valid `https`-based URL
2023-03-09 08:49:26 -05:00
Raymond Hill
7bf3f1bd20 Prevent dialog box from overflowing logger's viewport
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2497#discussioncomment-5250170
2023-03-09 07:11:10 -05:00
Raymond Hill
d01780d2ee Make Firefox dev build auto-update 2023-03-08 16:41:33 -05:00
Raymond Hill
1ad67126ed New revision for dev build 2023-03-08 16:37:04 -05:00
Raymond Hill
ccbe350d8b Increase width of per-entry link button in logger
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2530
2023-03-08 14:28:26 -05:00
Raymond Hill
890aabaae9 Make parser take into account filterOnHeaders setting
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1134#issuecomment-1460638431
2023-03-08 13:49:21 -05:00
Raymond Hill
bbd9470a98 Convert resource URLs into clickable links in code viewer 2023-03-08 12:31:39 -05:00
Raymond Hill
5805bb2f13 Make Firefox dev build auto-update 2023-03-08 09:46:38 -05:00
Raymond Hill
07c7564170 New revision for dev build 2023-03-08 09:39:27 -05:00
Raymond Hill
f9b03ebeac Report unprocessed network request count in troubleshooting info
Related discussion:
- https://github.com/uBlockOrigin/uAssets/discussions/16939
2023-03-08 09:36:09 -05:00
Raymond Hill
0c9576d3e6 Show a distinct toolbar icon until filtering engines are fully initialized
Related discussion:
- https://github.com/uBlockOrigin/uAssets/discussions/16939

Until uBO's filtering engines are properly initialized, there will
be a distinct toolbar icon to help users understand that uBO may
not be fully initialized when a webpage is loaded -- often the
cause of improper filtering of trackers/ads at browser launch.
2023-03-07 16:02:09 -05:00
Raymond Hill
7038b93cee Make Firefox dev build auto-update 2023-03-07 14:56:28 -05:00
Raymond Hill
0dbce53481 New revision for dev build 2023-03-07 13:51:21 -05:00
Raymond Hill
bd84a7c8d5 Support rendering xhr requests in new code viewer
Related commit:
- 33c437f99f
2023-03-07 13:40:52 -05:00
Raymond Hill
63d8fe524c Make Firefox dev build auto-update 2023-03-06 18:21:53 -05:00
Raymond Hill
f4566e1db5 New revision for dev build 2023-03-06 18:10:28 -05:00
Raymond Hill
a0a23085ed Do not generate DNR block rule for redirect= filters
DNR API does not support block-then-redirect concept, hence no
point in generating a DNR block rule for `redirect=` filters.

Additionally, better handle orphaned filter anchors (`||`, `|`).
2023-03-06 13:06:57 -05:00
gorhill
3b63fef848 Update build log file
Files changed:
M	dist/mv3/log.txt
2023-03-06 16:22:27 +00:00
gorhill
2e6cc8a36a Update build log file
Files changed:
M	dist/mv3/log.txt
2023-03-03 21:56:31 +00:00
Raymond Hill
cd21a0bb9d MV3 implicit Rule priority is 1, not 0
Related issue:
- https://github.com/uBlockOrigin/uBOL-issues/issues/30
2023-03-03 16:52:28 -05:00
Raymond Hill
82c73199e4 Simplify parser's templating code 2023-03-03 13:49:58 -05:00
Raymond Hill
033aa9cfad Need valid tab id for scriptlet injection 2023-03-03 12:14:36 -05:00
Raymond Hill
a60a5c2772 Fix wrong syntax color highlight in "Trusted sites" pane
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2521
2023-03-02 20:50:32 -05:00
Raymond Hill
cc979c900f Make Firefox dev build auto-update 2023-03-02 17:20:57 -05:00
Raymond Hill
cd53821999 New revision for dev build 2023-03-02 17:12:59 -05:00
Raymond Hill
4ef6420f7c Fine tune new code viewer
Remove read-only restriction -- it might be useful to
enter notes/markers/etc when investigation code flow.
2023-03-02 17:11:40 -05:00
Raymond Hill
088e90ed42 Add list for Macedonia; add languages to Persian list
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2522
- https://github.com/AdguardTeam/AdguardFilters/pull/144318#issuecomment-1451721914
2023-03-02 17:09:32 -05:00
Raymond Hill
31fb1490b4 Make Firefox dev build auto-update 2023-03-01 12:56:36 -05:00
Raymond Hill
551d7105dd New revision for dev build 2023-03-01 12:47:58 -05:00
Raymond Hill
2155284d8b Fix broken code viewer
Related commit:
- 33c437f99f
2023-03-01 12:47:18 -05:00
Raymond Hill
138e6bc37f Remove obsolete comment 2023-03-01 12:31:44 -05:00
Raymond Hill
2b3d0e757a Make Firefox dev build auto-update 2023-03-01 11:26:47 -05:00
Raymond Hill
844d317d44 New revision for dev build 2023-03-01 11:09:29 -05:00
Raymond Hill
33c437f99f Add source code viewer (from logger)
This commits add the ability to open html/css/script
resources from the logger, as a formatted and syntax-
highligthed document.

The goal is to make it easier for filter list authors to
investigate filter-related issues.
2023-03-01 11:04:40 -05:00
Raymond Hill
db118483c9 Support update period below 1-day
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/11bfwgn/how_to_update_custom_filter_lists_automatically/ja280xu/
2023-03-01 05:26:30 -05:00
Raymond Hill
7edef91437 Make Firefox dev build auto-update 2023-02-28 20:16:50 -05:00
Raymond Hill
2648df0976 New revision for dev build 2023-02-28 20:10:27 -05:00
Raymond Hill
8f32bee8b9 Restore behind-the-scene origin for docless secondary resources
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2515
2023-02-28 20:08:31 -05:00
Raymond Hill
4690885c85 Make Firefox dev build auto-update 2023-02-27 09:15:51 -05:00
Raymond Hill
9a1515744a New revision for dev build 2023-02-27 09:09:19 -05:00
Raymond Hill
09bc4e21c7 Refine AST template's regex for hosts file entries
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2512
2023-02-27 09:07:38 -05:00
Raymond Hill
491bc87e94 Make Firefox dev build auto-update 2023-02-24 18:11:30 -05:00
Raymond Hill
bb203d9243 New revision for dev build 2023-02-24 18:04:51 -05:00
Raymond Hill
454a03a98f Use block scope to isolate context 2023-02-24 18:02:28 -05:00
Raymond Hill
191f2f00d6 Put back reload button in logger's "Details" dialog
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2497#discussioncomment-5100726
2023-02-24 18:00:16 -05:00
Raymond Hill
09b7ab36f5 Make Firefox dev build auto-update 2023-02-22 10:35:56 -05:00
Raymond Hill
e0d3da62fb New revision for dev build 2023-02-22 10:24:14 -05:00
Raymond Hill
d8bc7436e8 Flush cached result when adding to FilterDomainHitSet
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2507
2023-02-22 10:21:20 -05:00
Raymond Hill
1d42ef5c73 Add missing semicolon 2023-02-21 14:59:18 -05:00
Raymond Hill
eab7cb0e03 Make Firefox dev build auto-update 2023-02-19 18:56:24 -05:00
Raymond Hill
2efa6225a6 New revision for dev build 2023-02-19 18:44:13 -05:00
Raymond Hill
e4b48dd261 Merge branch 'master' of https://github.com/gorhill/uBlock 2023-02-19 18:42:58 -05:00
Raymond Hill
e740068691 Support moving logger dialog around with touch events
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2497
2023-02-19 18:41:57 -05:00
Raymond Hill
a1bd89e466 Support moving logger dialog around
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2497
2023-02-19 18:38:19 -05:00
gorhill
c338a089f8 Update build log file
Files changed:
M	dist/mv3/log.txt
2023-02-17 17:15:14 +00:00
Raymond Hill
e23f0bd7d5 Raise minimum version of Firefox
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/111vv2y/
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2497#discussioncomment-4996662
2023-02-16 10:47:43 -05:00
Raymond Hill
4a5c04be71 Make Firefox dev build auto-update 2023-02-15 16:51:24 -05:00
Raymond Hill
e83dbd8e15 New revision for dev built 2023-02-15 16:43:06 -05:00
Raymond Hill
c8c5264aca Fix improper invalidation of inline-(font|script) types
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/1132loz/
2023-02-15 16:40:59 -05:00
Raymond Hill
e39f815a73 Fix mozilla warning 2023-02-13 13:14:54 -05:00
Raymond Hill
10e680c2ef Output highly generic cosmetic filters 2023-02-13 12:43:58 -05:00
Raymond Hill
426bf2d170 Import translation work from https://crowdin.com/project/ublock 2023-02-13 12:43:02 -05:00
Raymond Hill
8d684271b9 Import translation work from https://crowdin.com/project/ublock 2023-02-13 12:42:30 -05:00
Raymond Hill
5cd7b4e0e7 New revision for stable release 2023-02-13 12:38:40 -05:00
Raymond Hill
627bbf4fef Make Firefox dev build auto-update 2023-02-08 19:46:03 -05:00
Raymond Hill
ee7b0a842b New revision for release candidate 2023-02-08 19:36:58 -05:00
Raymond Hill
8f2e7ae202 Prevent context menu entries on non-HTTP documents
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1093#issuecomment-1423342620
2023-02-08 19:35:15 -05:00
Raymond Hill
1fcd0ce7eb Make Firefox dev build auto-update 2023-02-04 09:46:06 -05:00
Raymond Hill
a72623e1df New revision for dev build 2023-02-04 09:35:49 -05:00
Raymond Hill
ac25b2d6f3 Fix regression of exception procedural cosmetic filters
Related feedback/commit:
- bc19a93815 (commitcomment-99271464)
2023-02-04 08:21:17 -05:00
Raymond Hill
d7e1da6274 Make Firefox dev build auto-update 2023-02-02 12:21:02 -05:00
Raymond Hill
4cdca3016e New revision for dev build 2023-02-02 12:16:38 -05:00
Raymond Hill
fe5fdfe5ed Use precomputed AST layouts to speed up parsing
Related commit:
- 99ac234d12
2023-02-02 12:14:56 -05:00
Raymond Hill
e7f5273249 Make Firefox dev build auto-update 2023-02-01 11:40:29 -05:00
Raymond Hill
9c0772cf39 New revision for dev build 2023-02-01 11:35:02 -05:00
Raymond Hill
bc19a93815 Ignore compilation hints when applying exception cosmetic filters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2475
2023-02-01 11:24:07 -05:00
Raymond Hill
6eec497ae8 Minor code review 2023-02-01 10:22:13 -05:00
Raymond Hill
7881e1ace3 Fix bad cut-n-paste piece of code
Related commit:
- b1de8d3fe4
2023-02-01 09:16:58 -05:00
Raymond Hill
9e646abb8a Make Firefox dev build auto-update 2023-01-31 14:41:19 -05:00
Raymond Hill
7dc79b0605 Import translation work from https://crowdin.com/project/ublock 2023-01-31 14:36:00 -05:00
Raymond Hill
055b00b703 New revision for dev build 2023-01-31 14:32:32 -05:00
Raymond Hill
81498474d6 Add support for regex-based values as target domain for static extended filters
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2234

Example of usage:

    /img[a-z]{3,5}\.buzz/##+js(nowoif)

Use sparingly, when no other solution is practical from a maintenance point
of view -- keeping in mind that uBO has to iterate through all the regex-based
values, unlike plain hosyname or entity-based values which are mere lookups.

Related commit:
- b1de8d3fe4
2023-01-31 14:15:13 -05:00
Raymond Hill
c455490cf1 Remove extraneous whitespaces causing misalignement 2023-01-31 10:04:35 -05:00
Raymond Hill
d2487b6a6d Remove unused interestCohort-related code paths
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1553
2023-01-31 09:51:43 -05:00
Raymond Hill
2f1d8bb733 Make Firefox dev build auto-update 2023-01-30 17:10:51 -05:00
Raymond Hill
4523f67529 New revision for dev build 2023-01-30 17:04:55 -05:00
Raymond Hill
b1de8d3fe4 Add support for regex-based values for domain=/from=/to= options
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2234

Example of usage:

    @@*$ghide,domain=/img[a-z]{3,5}\.buzz/

Regex-based domain values can be negated just like plain or
entity-based values:

    *$domain=~/regex.../

This new syntax does not apply to static extended filters.
2023-01-30 17:00:26 -05:00
Raymond Hill
d88ec51b63 Minor code review 2023-01-30 11:14:07 -05:00
Raymond Hill
2e1cb9be9b Ensure pattern is first unit for biditrie-ability purpose 2023-01-30 11:12:21 -05:00
Raymond Hill
c54b521345 Minor code review 2023-01-30 11:11:56 -05:00
Raymond Hill
c36f674789 Make Firefox dev build auto-update 2023-01-29 16:22:55 -05:00
Raymond Hill
3893966bbe New revision for dev build 2023-01-29 16:16:33 -05:00
Raymond Hill
70e2864ca4 Fix broken parser involving specific filters with Unicode characters
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/10obivd/

The issue was arising with filters of the form:

    ||example.org^$domain=[domain name with Unicode characters]
2023-01-29 16:13:43 -05:00
Raymond Hill
313d488314 Make Firefox dev build auto-update 2023-01-28 16:46:15 -05:00
Raymond Hill
3d1a2c3ee4 New revision for dev build 2023-01-28 16:31:25 -05:00
Raymond Hill
6fd58c9c9b Fix improper partiness attribution for some delayed network requests
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2453
2023-01-28 11:38:53 -05:00
Raymond Hill
99ac234d12 Add fast code paths for frequent filter patterns
Related commit:
- 8ea3b0f64c
2023-01-28 08:44:54 -05:00
Raymond Hill
26e8771256 Fix filure to lookup filters with header= option
Related feedback:
- bde3164eb4 (commitcomment-98348215)
2023-01-27 20:18:20 -05:00
Raymond Hill
827f0e4971 Do not disallow using inline-script with real network types
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/10l2jjr/help_latest_ubo_developer_version_is_not_working/j5wdjjv/
2023-01-26 10:12:59 -05:00
Raymond Hill
0b1f7d2936 Make Firefox dev build auto-update 2023-01-25 18:16:16 -05:00
Raymond Hill
c947bfc2d5 New revision for dev build 2023-01-25 18:06:20 -05:00
Raymond Hill
c600cbbd3a Fix severe regression causing infinite loop in new parser
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/10l2jjr/help_latest_ubo_developer_version_is_not_working/
- https://github.com/uBlockOrigin/uBlock-issues/issues/2469
2023-01-25 18:05:06 -05:00
Raymond Hill
b3f9a87ed8 Manually fix firefox update json file 2023-01-25 17:27:31 -05:00
Raymond Hill
675128bbfb Make Firefox dev build auto-update 2023-01-25 10:10:46 -05:00
Raymond Hill
202567497d Import translation work from https://crowdin.com/project/ublock 2023-01-25 10:04:51 -05:00
Raymond Hill
b84b730768 New revision for dev build 2023-01-25 10:00:01 -05:00
Raymond Hill
ccdf6bd150 Fix generating NODE_TYPE_EXT_PATTERN_SCRIPTLET branch
Related feedback:
- 8ea3b0f64c (commitcomment-97858269)
2023-01-24 08:07:30 -05:00
Raymond Hill
46c1eb8678 Update URLs to EasyDutch list
Related feedback:
- https://github.com/uBlockOrigin/uAssets/issues/11204#issuecomment-1384238094
2023-01-23 20:04:01 -05:00
Raymond Hill
8ea3b0f64c Rewrite static filtering parser
This commit is a rewrite of the static filtering parser into a
tree-based data structure, for easier maintenance and better
abstraction of parsed filters.

This simplifies greatly syntax coloring of filters and also
simplify extending filter syntax.

The minimum version of Chromium-based browsers has been raised
to version 73 because of usage of String.matchAll().
2023-01-23 16:53:18 -05:00
Raymond Hill
4564e3a9b8 Add redirectable resource noop.css, as suggested
Related feedback:
- https://github.com/uBlockOrigin/uAssets/issues/16391#issuecomment-1396316194
2023-01-23 16:39:46 -05:00
Raymond Hill
98c0bd8406 Remove AdGuard Tracking Protection from stock lists
Related issue:
- https://github.com/AdguardTeam/AdguardFilters/issues/139081#issuecomment-1375396423
2023-01-11 20:29:07 -05:00
Raymond Hill
1bf763d2a3 Fix https://github.com/uBlockOrigin/uBOL-issues/issues/24 2023-01-08 19:17:55 -05:00
q1800
682988ec29 Update description-en.txt (#3885)
* Update description-en.txt

Using the current uBO README.md, I made changes to bring the web store description file more inline and consistent with it.

Updated various verbiage and naming conventions.
Minor restructuring to last section for conciseness and to include more information.
Fixed Documentation URL.

* Update description-en.txt

Removed sentence as per feedback.
2023-01-08 10:53:38 -05:00
Raymond Hill
c5baa8808b Minor code review 2023-01-07 12:55:57 -05:00
Raymond Hill
789ee8d910 Minor code review 2023-01-07 12:52:46 -05:00
q1800
d40bd2aa3b Update description-en.txt (#3884)
Update description to combine multiple sentences for conciseness and to enhance explanation and details of uBO's purpose.
2023-01-07 11:10:53 -05:00
Raymond Hill
f0b661df28 Make Firefox dev build auto-update 2023-01-07 10:26:20 -05:00
Raymond Hill
cdc566cc32 New revision for dev build 2023-01-07 10:18:47 -05:00
Raymond Hill
2b5efe9dcb Improve plain CSS validation in cosmetic filters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2442

Cosmetic filters with unknown plain CSS pseudo-classes or
unknown plain CSS pseudo-elements will be rejected, except
for pseudo-classes/pseudo-elements which start with a `-`.
2023-01-07 10:13:51 -05:00
q1800
1a2f9585c7 Update description-en.txt (#3883) 2023-01-06 14:59:30 -05:00
Raymond Hill
e977b1ec07 Fine tune description
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2441#issuecomment-1371135211
2023-01-06 14:36:34 -05:00
Raymond Hill
6e3803af3c Make Firefox dev build auto-update 2023-01-06 10:36:18 -05:00
Raymond Hill
98c92fe5d3 New revision for dev build 2023-01-06 10:19:36 -05:00
Raymond Hill
988a352cc4 Fine tuning the logger's entry tools positioning
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/10483e5/new_logger_functions_in_latest_dev_build_ubo/j33tx0y/
2023-01-06 10:16:24 -05:00
Raymond Hill
d9b50fcd51 Drop as invalid unknown argument-based pseudoclass operators
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2442

These invalid pseudoclass operators were still seen as
valid when mixed with procedural pseudoclass operators.
2023-01-06 09:54:11 -05:00
Raymond Hill
7847731e9a Remember position entry tools widget in logger
Related feedback:
- a9405fe36c (commitcomment-95164238)
2023-01-05 12:49:02 -05:00
Raymond Hill
d1bdccabe8 Make Firefox dev build auto-update 2023-01-05 10:11:22 -05:00
Raymond Hill
652adbc776 New revision for dev build 2023-01-05 09:56:31 -05:00
Raymond Hill
cfd8d144d0 Minor CSS fine tuning in logger 2023-01-05 09:17:24 -05:00
Raymond Hill
c95088f001 Minor background color adjustment 2023-01-05 09:10:50 -05:00
Raymond Hill
5e45c7249a Add more columns in logger for bringing up entry details 2023-01-05 09:08:26 -05:00
Raymond Hill
7b8c096270 Better validate :upward() argument
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2442#issuecomment-1371484554
2023-01-05 08:39:31 -05:00
Raymond Hill
3e85e51dd2 Make button font size derive from CSS variable font-size 2023-01-04 14:10:05 -05:00
Raymond Hill
7dfadc1b00 Make Firefox dev build auto-update 2023-01-04 13:50:42 -05:00
Raymond Hill
75fb41cc7d New revision for dev build 2023-01-04 13:45:23 -05:00
Raymond Hill
a9405fe36c Make the logger entry dialog modeless 2023-01-04 13:43:12 -05:00
Raymond Hill
c889747a0f Make Firefox dev build auto-update 2023-01-02 10:05:40 -05:00
Raymond Hill
7533579995 New revision for dev build 2023-01-02 09:42:01 -05:00
Raymond Hill
dfe9d3a1da Fix missing regex flags
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/1005a8f/suddenly_my_filters_doesnt_work/j2htwof/
2023-01-01 21:58:14 -05:00
Raymond Hill
e14cb609f3 Add opera as a make target 2023-01-01 10:21:54 -05:00
Raymond Hill
45139d8fdc Import version 1.2.0 of RegexAnalyzer
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2374
2023-01-01 10:15:24 -05:00
Raymond Hill
d80ac4f292 Import version 1.2.0 of https://github.com/foo123/RegexAnalyzer
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2374
2023-01-01 10:00:33 -05:00
Raymond Hill
f8d2bd0ebb Set charset to utf-8 for Blob-based injected scriptlets
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2431
2023-01-01 09:33:20 -05:00
Raymond Hill
d10d0ff14f Set charset to utf-8 for Blob-based injected scriptlets
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2431
2023-01-01 09:30:56 -05:00
Raymond Hill
72dabcac66 Disallow -abp-... filters if not using #?#
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2435#issuecomment-1367805459
2023-01-01 09:20:32 -05:00
q1800
3c9ad16359 Update about.html (#3882)
Remove GitCDN from about.html
2022-12-27 20:48:52 -05:00
gorhill
2f26061899 Update build log file
Files changed:
M	dist/mv3/log.txt
2022-12-26 15:40:31 +00:00
Raymond Hill
9de9a027ef Import translation work from https://crowdin.com/project/ublock 2022-12-26 10:39:16 -05:00
Raymond Hill
357a4c7bf5 Import translation work from https://crowdin.com/project/ublock 2022-12-26 10:36:09 -05:00
Raymond Hill
65a3cddf95 Remove mention of removed list 2022-12-26 10:31:13 -05:00
Raymond Hill
4fdb79467a Make Firefox dev build auto-update 2022-12-26 09:16:07 -05:00
Raymond Hill
f9905297c5 New revision for dev build 2022-12-26 09:11:46 -05:00
Raymond Hill
eb88e6fb12 Fix bad JSON 2022-12-26 09:11:04 -05:00
Raymond Hill
fdd13afdbf New revision for dev build 2022-12-25 15:24:14 -05:00
Raymond Hill
3f71659aa8 Work related to keyboard shortcuts for page reload
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/896

Additionally, added the keyboard shortcuts to reload the current
tab to the logger. This changes the prior behavior of reloading
the logger content itself.
2022-12-25 10:34:53 -05:00
Raymond Hill
4157171b7f Use "constant" property for target hntrie container 2022-12-25 08:54:18 -05:00
Raymond Hill
8f66de67e1 Remove gitcdn.link as CDN provider
Appears broken at the moment. Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1165#issuecomment-1364607559
2022-12-25 07:40:13 -05:00
Raymond Hill
6a50f41aeb Internal cell count !== visual cell count
Internal cell count is used to filter the output of the logger. This
commit fixes filtering according to cname alias.
2022-12-24 10:30:25 -05:00
Raymond Hill
8ca95b473d Make Firefox dev build auto-update 2022-12-24 10:15:35 -05:00
Raymond Hill
d43efb7bd1 New revision for dev build 2022-12-24 10:08:48 -05:00
Raymond Hill
b194baa089 Fix visual regressions in logger
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2425
2022-12-24 10:04:31 -05:00
Raymond Hill
d5f9c05d62 Take method= into account when evaluating whether a filter is pure hostname
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2117
2022-12-24 09:49:46 -05:00
Raymond Hill
af8cb06a96 Make Firefox dev build auto-update 2022-12-23 16:10:51 -05:00
Raymond Hill
052689e503 New revision for dev build 2022-12-23 16:05:38 -05:00
Raymond Hill
19f8b30d57 New network filter option: to=[list of domain names]
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2412#discussioncomment-4421741

The new option is `to=` and the value is a list of domain list with
similar syntax as `domain=` option. Entity-based syntax is supported,
and also negated hostname.

The main motivation is to give uBO's static network filtering engine
with an equivalent of DNR's `requestDomains` and `excludedRequestDomains`.

Essentially `to=` is a superset of `denyallow=`, but for now I decided
against deprecating `denyallow=`, which still does not support entity-
based syntax and for which negated domains are not allowed.

This commit also introduces the `from=` option, which is just an alias
for the `domain=` option. The logger will render network filters using
the `from=` version.
2022-12-23 15:52:24 -05:00
Raymond Hill
84aa217ede Fix selection of lists test/benchmark platform 2022-12-23 12:55:15 -05:00
Raymond Hill
b6981877ba Add option to filter by HTTP method in static network filters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2117

Option: `method=`
Value: a list of `|`-separated lowercased method names. Negated
method names are allowed. These are valid methods:

- connect
- delete
- get
- head
- options
- patch
- post
- put

As per DNR's own documentation:
- https://developer.chrome.com/docs/extensions/reference/declarativeNetRequest/#type-RequestMethod

The logger shows the method used for every network request. It's
possible to filter the logger output for most-common methods: `get`,
`head`, `post`.
2022-12-22 13:15:08 -05:00
Raymond Hill
e5a9b066ec Fix make target dig-snfe 2022-12-22 13:13:38 -05:00
Raymond Hill
bfed6059d4 Import translation work from https://crowdin.com/project/ublock 2022-12-22 11:10:56 -05:00
Raymond Hill
5038ce9c91 New revision for stable release 2022-12-22 11:07:25 -05:00
Raymond Hill
c88f4445d1 Update invalid SDN URL for EasyList Lithuania
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2420
- https://github.com/uBlockOrigin/uBlock-issues/issues/1566#issuecomment-826372745
2022-12-22 10:34:49 -05:00
Raymond Hill
e402b758ad Make Firefox dev build auto-update 2022-12-20 14:45:45 -05:00
Raymond Hill
48cf7c8fcf New revision for release candidate 2022-12-20 14:36:13 -05:00
Raymond Hill
3fe6846da7 Fix case-sensitiveness in :has-text() (regression)
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/zqot4i/is_there_a_way_to_show_only_element_with_specific/j0zl4ck/
2022-12-20 14:34:54 -05:00
Raymond Hill
73c50a4077 [mv3] Remove "AdGuard CNAME-cloaked Trackers" list
Related issue:
- https://github.com/uBlockOrigin/uBOL-issues/issues/21
2022-12-20 11:23:42 -05:00
Raymond Hill
df709d2a75 actions/create-release@v1=deprecated, use ncipollo/release-action@v1
See <https://github.com/actions/create-release>
2022-12-16 12:17:15 -05:00
Raymond Hill
4552e2d56a Do not use a element to access dashboard
Related issue:
- https://github.com/uBlockOrigin/uBOL-issues/issues/13
2022-12-16 12:05:59 -05:00
gorhill
5fa6a12437 Update build log file
Files changed:
M	dist/mv3/log.txt
2022-12-16 16:26:58 +00:00
Raymond Hill
74765d2cf1 Import translation work from https://crowdin.com/project/ublock 2022-12-16 10:55:32 -05:00
Raymond Hill
c46ee72aea Make Firefox dev build auto-update 2022-12-15 13:41:12 -05:00
Raymond Hill
3e7047f93f New revision for release candidate 2022-12-15 13:34:44 -05:00
Raymond Hill
f596559103 Add options stub to nofab scriptlet
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/16010

Related AdGuard commit re. `prevent-fab-3.2.0`:
- 3bfb9b39e9
2022-12-15 13:12:37 -05:00
Raymond Hill
af6f1faeb1 Make Firefox dev build auto-update 2022-12-15 11:40:54 -05:00
Raymond Hill
0334906cd6 New revision for release candidate 2022-12-15 11:36:45 -05:00
Raymond Hill
f78fb513a1 Support generic exception filter for HTML filtering
Related feedback:
- fa5e4b7769 (commitcomment-93202819)
2022-12-15 11:35:03 -05:00
Raymond Hill
a31f74325d Fix "make lint" errors 2022-12-15 11:20:52 -05:00
Raymond Hill
ca43039592 Make Firefox dev build auto-update 2022-12-15 10:25:31 -05:00
Raymond Hill
df8c519eed New revision for release candidate 2022-12-15 10:21:10 -05:00
Raymond Hill
fa5e4b7769 Fine tune new exceptor code
Related feedback:
- a91781a495 (commitcomment-93128519)

For instance, do not make exceptor widget available for
exceptions from filter lists.
2022-12-15 10:04:59 -05:00
Raymond Hill
e2c3917ecd Unconditionally set label of toolbar icon
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2409
2022-12-15 10:04:03 -05:00
Raymond Hill
de92a9fa25 Make Firefox dev build auto-update 2022-12-14 16:21:08 -05:00
Raymond Hill
a77be2a172 New revision for dev build 2022-12-14 16:14:56 -05:00
Raymond Hill
a91781a495 Rewrite logger's "exceptor" feature
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1861

The "exceptor" feature has been rewritten, with the following
changes as a result:

- The excepted filters cease to exist when closing the logger
- It's now possible to temporary except network filters

When toggling on/off a temporary exception, filter lists are now
fully reloaded. This simplified managing temporary exceptions, and
made it easy to implement temporary exception for network filters,
but this also means there might be a perceptible delay when
adding/removing temporary exceptions. At this point I consider
this an acceptable side-effect just to bring the ability to easily
create temporary exception for network filters, while this
simplified the existing temporary exception code throughout.
2022-12-14 16:04:45 -05:00
Raymond Hill
ce3f852bad Fix npm dev dependencies -- this fixes "make test" 2022-12-14 10:55:02 -05:00
Raymond Hill
2cdc424b28 Make Firefox dev build auto-update 2022-12-14 09:11:36 -05:00
Raymond Hill
b04fa53fd6 New revision for release candidate 2022-12-14 08:58:09 -05:00
Raymond Hill
d77331f73a Be sure procedural filterer is present before use
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2407
2022-12-14 08:56:04 -05:00
Raymond Hill
8c64c3c6ac Make Firefox dev build auto-update 2022-12-13 10:36:22 -05:00
Raymond Hill
2eb9b77ccd New revision for release candidate 2022-12-13 10:25:31 -05:00
Raymond Hill
b603e9e81e Various code review related to extended filtering
Bring latest changes to procedural cosmetic filtering to uBOL.

Fix procedural filtering used in HTML filters.

Standardize quick hash algorithm used throughout to DJB2
(except that initialization step is skipped):
- http://www.cse.yorku.ca/~oz/hash.html#djb2
2022-12-13 10:23:51 -05:00
Raymond Hill
5ad2c34212 Make Firefox dev build auto-update 2022-12-12 14:16:52 -05:00
Raymond Hill
12a7d785a1 New revision for dev build 2022-12-12 14:05:26 -05:00
Raymond Hill
58e60d6d96 Fix various regressions in latest dev build
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2404
- https://github.com/uBlockOrigin/uBlock-issues/issues/2400#issuecomment-1346050327
2022-12-12 14:02:57 -05:00
Raymond Hill
e537748988 Make Firefox dev build auto-update 2022-12-11 11:40:41 -05:00
Raymond Hill
d66e9602a8 New revision for dev build 2022-12-11 11:31:45 -05:00
Raymond Hill
c143ded758 Improve same-origin test for CNAME-uncloaking purpose
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1062

Related feedback:
- 161a175bb0 (commitcomment-90926455)
2022-12-11 11:30:09 -05:00
Raymond Hill
fac6e6e45e Make Firefox dev build auto-update 2022-12-11 10:31:27 -05:00
Raymond Hill
592295b978 Import translation work from https://crowdin.com/project/ublock 2022-12-11 10:23:11 -05:00
Raymond Hill
3e92a22c5e New revision for dev build 2022-12-11 10:20:17 -05:00
Raymond Hill
0971025b21 Use Blob URLs to reliably inject scriptlets
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/235

Fixed as suggested by <https://github.com/evilpie>, to safely
bypass a page's own CSP.
2022-12-11 10:08:10 -05:00
Raymond Hill
1b63d65ac6 Make Firefox dev build auto-update 2022-12-10 11:36:03 -05:00
Raymond Hill
8d9068c84a New revision for dev build 2022-12-10 11:25:39 -05:00
Raymond Hill
992255e993 Add :remove-attr() and :remove-class() pseudo selector operators
These two new pseudo selectors are _action_ operators, and thus can
only be used at the end of a selector. They both take as argument
a string or regex literal.

For `:remove-class()`, when the argument matches a class name, that
class name is removed.

For `:remove-attr()`, when the argument matches an attribute name,
that attribute is removed.

These operators are meant to replace `+js(remove-attr, ...)` and
`+js(remove-class, ...)`, which from now on are candidate for
deprecation in some future.

Once the next stable release is widespread, filter authors must use
these two new operators instead of their `+js()` counterparts.
2022-12-10 11:18:24 -05:00
Raymond Hill
e959bc2832 Remove unused dependency 2022-12-09 11:28:48 -05:00
Raymond Hill
a2cb425a97 Make Firefox dev build auto-update 2022-12-09 11:26:24 -05:00
Raymond Hill
34a076052c New revision for dev build 2022-12-09 11:16:22 -05:00
Raymond Hill
b0a0a44c64 Revisit validation of combinators in :not() operator
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/z2ttcx/problem_with_custom_filters_in_1452/iza8nkk/
2022-12-09 11:10:39 -05:00
Raymond Hill
042a56366d Make Firefox dev build auto-update 2022-12-08 10:21:19 -05:00
Raymond Hill
78a778922d Minor code review 2022-12-08 10:14:45 -05:00
Raymond Hill
952b5e1522 New revision for dev build 2022-12-08 10:09:30 -05:00
Raymond Hill
f1b19d5115 Fix reverse lookup of generic cosmetic filters
Related feedback:
- 26594fb902 (commitcomment-92413254)
2022-12-08 10:07:58 -05:00
Raymond Hill
96e75770c2 Make Firefox dev build auto-update 2022-12-07 14:20:50 -05:00
Raymond Hill
520d0adeca New revision for dev build 2022-12-07 14:16:14 -05:00
Raymond Hill
bbf06ad972 Fix parsing of :matches-attr arguments
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2329#issuecomment-1341349992
2022-12-07 14:15:01 -05:00
Raymond Hill
1bda7e0085 Code review of reworked generic cosmetic filtering code
Related commit:
- 26594fb902
2022-12-07 13:48:44 -05:00
Raymond Hill
d7c18fd7db Make Firefox dev build auto-update 2022-12-07 10:51:07 -05:00
Raymond Hill
267151a732 Import translation work from https://crowdin.com/project/ublock 2022-12-07 10:42:47 -05:00
Raymond Hill
a901606b97 combinatronics is no longer a CDN provider 2022-12-07 10:37:55 -05:00
Raymond Hill
85d614621d New revision for dev build 2022-12-07 10:35:25 -05:00
Raymond Hill
26594fb902 Rework generic cosmetic filtering code
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2248
2022-12-07 10:30:09 -05:00
Raymond Hill
76d70102f0 Add pseudo-operator :matches-attr()
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2329

The supported syntax is exactly as per AdGuard's documentation:
- https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#extended-css-matches-attr

Though recommended, the quotes are not mandatory in uBO if
the argument does not cause the parser to fail and if there
are no ambiguities.

Additionally, improved the code to better unquote pseudo-operator
arguments, and to bring it closer to how AdGuard does it as per
documentation. When using quotes, `"` and `\` should be escaped
to preserve these characters in the unquoted version of the
argument.

Additionally, it is now possible to have `:has-text()` match the
empty string by just quoting the empty string:

    ...##foo:has-text("")
2022-12-02 15:43:04 -05:00
Raymond Hill
6140e55589 Remove combinatronics.io as CDN 2022-12-02 11:39:32 -05:00
Raymond Hill
8f5fbcf400 Remove LooseVersion dependency in Py script 2022-11-29 12:13:11 -05:00
Raymond Hill
f9fb5bcc5d Make Firefox dev build auto-update 2022-11-29 12:11:09 -05:00
Raymond Hill
12dce5e479 new revision for dev build 2022-11-29 12:01:41 -05:00
Raymond Hill
bedfdff678 No need for arrow function for scoping 2022-11-29 12:01:16 -05:00
Raymond Hill
15450e3957 Remove now irrelevant scoping 2022-11-29 12:00:38 -05:00
Raymond Hill
64909c671f Fix crowdin import script 2022-11-29 11:05:21 -05:00
gorhill
13c0793536 Update build log file
Files changed:
M	dist/mv3/log.txt
2022-11-29 15:37:39 +00:00
Raymond Hill
ef4dfb3131 Import translation work from https://crowdin.com/project/ublock 2022-11-29 10:34:51 -05:00
Raymond Hill
5c82b85335 Use currentWindow, as suggested 2022-11-25 16:01:58 -05:00
Raymond Hill
62601639f6 Detect invalid usage of combinators in :not() pseudoclass
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/z2ttcx/
2022-11-25 10:21:58 -05:00
Raymond Hill
96fdae726a Be sure we query for the current window
Related issue:
- https://github.com/uBlockOrigin/uBOL-issues/issues/14#issuecomment-1327181436
2022-11-25 09:22:45 -05:00
Raymond Hill
92397baa39 Give more time for viewport to be ready 2022-11-24 11:21:13 -05:00
q1800
5811118277 Update about.html (#3881) 2022-11-23 13:54:50 -05:00
Raymond Hill
8d80f4788d Trim content of Import field
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2380
2022-11-23 12:55:20 -05:00
Raymond Hill
3e4f6f9986 Import translation work from https://crowdin.com/project/ublock 2022-11-23 12:43:55 -05:00
Raymond Hill
9fc0f2b0b5 Minor rephrasing as suggested 2022-11-23 12:17:05 -05:00
Raymond Hill
00caa17e13 Make Firefox dev build auto-update 2022-11-21 09:06:01 -05:00
Raymond Hill
adf3a7190c New revision for dev build 2022-11-21 09:00:03 -05:00
Raymond Hill
bdc7a4c539 Handle potentially invalid CSS selector
Older browser versions may not support valid CSS selector syntax
in newer browser versions.

Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/yzw5pt/
2022-11-21 08:57:55 -05:00
Raymond Hill
eb709335f8 Ensure state of more/less in panel reflect locked/disabled sections
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1059
2022-11-20 13:02:09 -05:00
Raymond Hill
9ab8de41cf [mv3] Improve description 2022-11-20 12:20:15 -05:00
Raymond Hill
4c10637d05 Fix English text as per feedback from https://crowdin.com/project/ublock 2022-11-20 11:06:50 -05:00
Raymond Hill
11aeccde26 Make Firefox dev build auto-update 2022-11-20 10:26:18 -05:00
Raymond Hill
fa216a43e4 Fix typo in string template code
Related commit:
- feaa338678
2022-11-20 10:17:05 -05:00
Raymond Hill
3faca4caab New revision for dev build 2022-11-20 10:14:49 -05:00
Raymond Hill
9b3ad0702c Isolate generic cosmetic filters from specific ones in generated stylesheet
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/yzw5pt/

Some CSS4-based selectors are not supported in older browser versions
and this may cause cosmetic filtering to be wholly broken as a result.

The commit here is to isolate generic cosmetic filters from specific
ones in stylesheets such that unsupported CSS4 selectors in generic
cosmetic filters do not cause wholly breakage of cosmetic filtering
on all sites.
2022-11-20 10:08:28 -05:00
Raymond Hill
05a55afc48 Make Firefox dev build auto-update 2022-11-19 14:40:39 -05:00
Raymond Hill
6ba498046c New revision for dev build 2022-11-19 14:32:20 -05:00
Raymond Hill
1ef09f9963 [mv3] Add reference description for webstores 2022-11-19 14:31:06 -05:00
Raymond Hill
161a175bb0 Do not cname-uncloak same-origin network requests
Same-origin as per URL address of the main document. Currently the
fix only affect top-level pages.

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1062

The previous behavior can be restored by toggling the advanced
setting `cnameIgnoreRootDocument` to `false`.
2022-11-19 14:27:39 -05:00
Raymond Hill
44753053c3 Prevent the creation of non-cosmetic extended filters in element picker
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2232
2022-11-19 12:29:10 -05:00
Raymond Hill
86c8023163 Fix English typo as per feedback at https://crowdin.com/project/ublock 2022-11-19 11:05:01 -05:00
Raymond Hill
c818065c69 Update fix to regex library
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2374
2022-11-19 09:54:34 -05:00
Raymond Hill
4fb4ee1915 Handle negative character group
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2373
2022-11-18 13:37:48 -05:00
Raymond Hill
65cde3b75a Remove locales without a translated description 2022-11-18 13:09:27 -05:00
Raymond Hill
1c67869c42 Addendum to last commit as per feedback
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2372
2022-11-18 11:23:20 -05:00
Raymond Hill
42a7cfced3 Use already available stringified character code
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2372
2022-11-18 10:10:47 -05:00
Raymond Hill
04b8d495b6 Mind zero quantifier
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2371
2022-11-18 08:52:32 -05:00
Raymond Hill
f48c03e531 Make Firefox dev build auto-update 2022-11-17 13:51:09 -05:00
Raymond Hill
2ab0add39f New revision for dev build 2022-11-17 13:46:20 -05:00
Raymond Hill
122b84a6bc Revert reversion 2022-11-17 13:39:19 -05:00
Raymond Hill
f46e5ef3b5 Further fix tokenization from regex
As per feedback/discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2368
- https://github.com/uBlockOrigin/uBlock-issues/issues/2367
2022-11-17 13:17:32 -05:00
Raymond Hill
69b899d0f9 Fix commit reference 2022-11-17 10:27:40 -05:00
Raymond Hill
941c6e9535 Make Firefox dev build auto-update 2022-11-17 09:45:51 -05:00
Raymond Hill
b7e9a2d5ab New revision for dev build 2022-11-17 09:28:09 -05:00
Raymond Hill
105c7f5446 Fix visual of DOM inspector layer in dark theme mode
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2359
2022-11-17 09:25:20 -05:00
Raymond Hill
d9744d012a Document changes to imported library 2022-11-17 08:53:41 -05:00
Raymond Hill
d51b7e082b Improve extraction of tokens from regexes
Fixed flawed extraction of tokens with optional sequences, i.e.
when quantifier could be zero.
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2367

Ignore look-around sequences as suggested when normalizing into
tokenizable string.
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2368

Fix regex analyzer throwing with trailing `-` in character
class sequence.
Related issue:
- https://github.com/AdguardTeam/AdguardFilters/pull/134630
2022-11-17 08:53:41 -05:00
gorhill
560c1fe888 Update build log file
Files changed:
M	dist/mv3/log.txt
2022-11-16 14:27:28 +00:00
Raymond Hill
392bfdce37 Make Firefox dev build auto-update 2022-11-16 09:25:30 -05:00
Raymond Hill
cf8b8e643e New revision for dev build 2022-11-16 09:17:35 -05:00
Raymond Hill
d0dbc27c02 Move "Manual installation" link to "All browsers" section 2022-11-15 11:07:15 -05:00
q1800
2b18e53750 Improve README.md (#3880)
* Improve README.md

Removed Safari references. (It has been several years since any relevancy.)
Removed majority of Enterprise Deployment section. (Existing links are dead, or information provided is deprecated.)

Merged Microsoft Edge section into Chromium section for simplification. (Microsoft Edge has been Chromium-based for the last few years.)

Restructured and shortened sections, links, and explanations to make them more concise.

Rewrote sentences for better clarity and to reduce wordiness.

Fixed uBO naming conventions.
Fixed spelling and grammar issues.
Fixed coding and formatting issues.
Fixed consistency issues.

Updated names as needed.
Updated section header titles as needed.
Updated URLs.

Other minor fixes.

* Removed Pronunciation section as per feedback.

Removed Pronunciation section.

* Addressed feedback and fixed more consistency issues

Removed Firefox Legacy section.
Removed Debian section.
Removed applicable links.

Added links to remaining section headers without a prior link in the table of contents.

Updated links in the table of contents to match section header names.

Renamed Philosophy section to General Information section.
2022-11-15 11:05:50 -05:00
Raymond Hill
21110b0ff1 Use Unicode copyright symbol
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2336
2022-11-15 10:25:25 -05:00
Raymond Hill
a7213c1054 Revert "Update README.md"
This reverts commit 1854009c74.
2022-11-15 10:01:05 -05:00
Raymond Hill
2c0ecc0bad Merge branch 'patch-2' 2022-11-15 09:50:55 -05:00
Raymond Hill
2cc6835de0 Use placeholders to minimize vertical shifting at page load time
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2361
2022-11-15 09:44:19 -05:00
Raymond Hill
e68537513f Sort of fix DOM inspector's visual with webpages in dark theme mode
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2359#discussioncomment-4126129

Removing `color-scheme` property fixes the issue. Not sure why.
2022-11-14 11:49:59 -05:00
Raymond Hill
b778f9dac2 Fix AM)-signing script after changes in jwt
jwt.encode() now returns string type.

Reference:
- https://pyjwt.readthedocs.io/en/stable/changelog.html#improve-typings
2022-11-14 10:31:04 -05:00
Raymond Hill
3c6fddf697 Make Firefox dev build auto-update 2022-11-14 10:30:32 -05:00
Raymond Hill
d5a936ddf8 New revision for dev build 2022-11-14 10:02:33 -05:00
Raymond Hill
f716fe3960 Remove now obsolete shell script re. uAssets 2022-11-14 10:01:56 -05:00
Raymond Hill
17590c5a0c Use git clone instead of submodule to pull uAssets dependencies
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2358

We need two different branches of uAssets to properly add the
default filter lists into the packages. I couldn't figure out
how to do this with submodules, using simple `git clone` as a
dependency just work.
2022-11-14 09:50:53 -05:00
Raymond Hill
90ca2ad3cf Update submodules 2022-11-13 16:31:56 -05:00
Raymond Hill
14d4eeab32 Update submodules 2022-11-13 13:55:56 -05:00
Raymond Hill
53b172a82a Update submodules 2022-11-13 12:30:07 -05:00
Raymond Hill
1052dc5001 Import translation work from https://crowdin.com/project/ublock 2022-11-13 11:36:31 -05:00
Raymond Hill
4a01affa0e Undo mistakenly committed changes to the element picker
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2360
2022-11-13 11:07:41 -05:00
Raymond Hill
502fcee546 Make Firefox dev build auto-update 2022-11-12 11:46:16 -05:00
Raymond Hill
eb80158254 New revision for dev build 2022-11-12 11:29:14 -05:00
Raymond Hill
73c2decdf5 Ensure procedural filters are applied at least once
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2261#discussioncomment-4123057

Cosmetic filters will be applied unconditionally at least
once at DOMContentLoaded time.
2022-11-12 11:22:49 -05:00
Raymond Hill
3d24b89078 Fix dom.text() returning textContent 2022-11-12 10:35:40 -05:00
Raymond Hill
feaa338678 Code maintenance: replace uDom.js with dom.js
`uDom` is old and crusty and `dom` is meant as replacement. The
goal of `dom` is to be simpler and mainly just convenience
methods for handling the DOM with vanilla JS -- this is not a
framework.

Additionally, removed keyboard shortcuts pane which was useful
only on very old versions of Firefox.
2022-11-12 09:51:22 -05:00
Raymond Hill
95f1b2f1bc Update submodules 2022-11-10 18:23:04 -05:00
Raymond Hill
7d0714965f [mv3] Fixed undue delay in 1st application of cosmetic procedural filters
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2261#discussioncomment-4105044
2022-11-10 15:34:02 -05:00
Raymond Hill
5b6fc43a2c [mv3] Use Set instead of array to avoid spurious script updates
Spurious updates to registered content scripts would occur when
using some regional lists, for example DEU would cause spurious
updates to registered script `css-procedural`.
2022-11-10 12:46:25 -05:00
Raymond Hill
abe2ecba6b Make Firefox dev build auto-update 2022-11-10 10:40:55 -05:00
Raymond Hill
3e4a394db9 new revision for dev build 2022-11-10 10:33:42 -05:00
Raymond Hill
b1a14794bf Test for unsupported pseudo operators after normalization
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2356
2022-11-10 10:32:22 -05:00
Raymond Hill
2e134a0c46 Make Firefox dev build auto-update 2022-11-10 09:45:48 -05:00
Raymond Hill
95812573fc New revision for dev build 2022-11-10 09:36:57 -05:00
Raymond Hill
20181e9f18 Properly detect unsupported pseudo operators
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/yr8eda/
2022-11-10 09:30:52 -05:00
Raymond Hill
4d4a5f3807 Mind implicit prelude * element in pseudo operators
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2355
2022-11-10 08:47:54 -05:00
Raymond Hill
b7b53eef14 [mv3] Add support for no-xhr-if/no-fetch-if scriptlets 2022-11-09 11:25:18 -05:00
Raymond Hill
8c33847428 Added data about old popup panel 2022-11-08 16:53:04 -05:00
Raymond Hill
304fa7e39e Merge branch 'master' of https://github.com/gorhill/uBlock 2022-11-08 13:19:44 -05:00
Raymond Hill
0e52b15897 New revision for stable release 2022-11-08 13:16:23 -05:00
gorhill
c0c9d452a7 Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-11-07 14:16:31 +00:00
Raymond Hill
59acba3628 Make Firefox dev build auto-update 2022-11-06 17:30:35 -05:00
Raymond Hill
0bd5ba374f New revision for dev build 2022-11-06 17:24:26 -05:00
Raymond Hill
8a34425ca5 Avoid redundant logger entries for scriptlet injection
Report only when the scriptlets have been successfully injected.
2022-11-06 17:23:06 -05:00
Raymond Hill
47cb7baff0 Make Firefox dev build auto-update 2022-11-06 17:16:32 -05:00
Raymond Hill
a88d783c91 New revision for dev build 2022-11-06 17:05:31 -05:00
Raymond Hill
c65114ee5e Add support for Belarusian language 2022-11-06 17:04:56 -05:00
Raymond Hill
49df063191 Try to inject scriptlets at onResponseStarted() time
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2350

As per AdGuard findings, it's possible (though unreliable) to try
to inject scriptlets at webRequest.onResponseStarted time, which
increases scriptlet injection reliability overall when injecting
from multiple entry points.

uBO was already injecting at webNavigation.onCommitted and
main content script time, and adding webRequest.onResponseStarted
as an entry point for scriptlet injection increases reliability
for webpages which executes inline scripts at the top of the DOM.

References:
- https://github.com/AdguardTeam/AdguardBrowserExtension/issues/1029
- https://github.com/AdguardTeam/AdguardBrowserExtension/blob/9ab85be5/Extension/src/background/webrequest.js#L620
2022-11-06 16:54:32 -05:00
Raymond Hill
e0e68a24d2 Import translation work from https://crowdin.com/project/ublock 2022-11-06 13:11:23 -05:00
Raymond Hill
6574ede152 [mv3] Do not merge rules with errors
Related issue:
- https://github.com/uBlockOrigin/uBOL-issues/issues/10#issuecomment-1304822579
2022-11-06 11:21:02 -05:00
gorhill
77e1af790b Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-11-05 15:15:13 +00:00
Raymond Hill
6f90596e3b [mv3] Add support for csp= filters
Network filters with csp= option will now be enforced.

Caveat: DNR API does not have support for exception csp= rules,
so excepted csp= filters are currently rejected at conversion time.
2022-11-05 11:09:06 -04:00
Raymond Hill
36bfa27c30 Rearrange code flow 2022-11-04 11:08:41 -04:00
Raymond Hill
123cb0b0f4 Make Firefox dev build auto-update 2022-11-04 11:00:31 -04:00
Raymond Hill
292554e7d8 New revision for release candidate 2022-11-04 10:56:27 -04:00
Raymond Hill
c3d0d574d7 Fix incorrect serialization of pseudo elements
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/ylnvwf/how_to_block_suggestive_keyword_in_reddit_search/iv014wu/
2022-11-04 10:55:10 -04:00
q1800
1854009c74 Update README.md 2022-11-02 12:39:45 -05:00
Raymond Hill
d7cca916a6 Update README.md 2022-11-02 11:51:00 -04:00
Raymond Hill
4892a6e212 Make Firefox dev build auto-update 2022-11-02 08:41:07 -04:00
Raymond Hill
b4b9ea7020 New revision for release candidate 2022-11-02 08:34:42 -04:00
Raymond Hill
42ddac5e3d Fix unescaped backslashes in selector attribute
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/yjoh9p/
2022-11-02 08:32:54 -04:00
Raymond Hill
28b0d04c89 Make Firefox dev build auto-update 2022-10-31 08:21:20 -04:00
Raymond Hill
d929630a3c Merge branch 'master' of https://github.com/gorhill/uBlock 2022-10-31 08:15:08 -04:00
Raymond Hill
ac397f06be New revision for release candidate 2022-10-31 08:14:46 -04:00
gorhill
d582eb8e64 Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-10-29 14:04:54 +00:00
Raymond Hill
d4bd6f0251 [mv3] Inject scriptlets et al. in embedded frames
Not doing so prevented uBO Lite from properly defusing
many anti-blockers.
2022-10-29 10:02:09 -04:00
Raymond Hill
13b6554ddb Add notable changes 2022-10-28 18:51:53 -04:00
Raymond Hill
d3535f3a02 Update submodules 2022-10-28 17:56:34 -04:00
Raymond Hill
805dce08ab Text format 2022-10-28 17:55:35 -04:00
Raymond Hill
b8103d057d Fix incomplete sentence 2022-10-28 17:54:59 -04:00
Raymond Hill
9ed316bdd2 Keep track of removed assets from the repo 2022-10-28 17:52:49 -04:00
Raymond Hill
ba637bb22e Remove old, dated material which is no longer in use
See REMOVED.md for direct link to the state of the repo which
contains those assets prior to removal.
2022-10-28 17:45:41 -04:00
Raymond Hill
6c046ed95c Make Firefox dev build auto-update 2022-10-28 11:15:42 -04:00
Raymond Hill
a982255969 New revision for dev build 2022-10-28 11:09:15 -04:00
Raymond Hill
4863f3093e Do not inject scriptlets on navigation events in Firefox
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2343
2022-10-28 11:07:46 -04:00
Raymond Hill
df1542e382 Make Firefox dev build auto-update 2022-10-28 10:30:53 -04:00
Raymond Hill
a21b83725d New revision for dev build 2022-10-28 10:20:44 -04:00
gorhill
a26cdd9a74 Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-10-28 00:24:13 +00:00
Raymond Hill
ec43aaad94 Import translation work from https://crowdin.com/project/ublock 2022-10-27 20:19:46 -04:00
Raymond Hill
d992824625 Just to be sure no race condition
Related commit:
- d1f8a05d2d
2022-10-27 16:28:55 -04:00
Raymond Hill
545bb0787b Make Firefox dev build auto-update 2022-10-27 16:11:34 -04:00
Raymond Hill
df5197b0fe New revision for dev build 2022-10-27 15:55:25 -04:00
Raymond Hill
d1f8a05d2d Further ensure scriptlets are actually injected
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/ye6abt/

Possibly because the Opera sidebar window is a special
case, it appears the scriptlets must be injected at a
later time.

Use a global isolated window variable to detect whether
the scriptlets have really be injected, and ultimately
inject them at main content script time when it is found
they haven't been injected at that point.
2022-10-27 15:52:03 -04:00
Raymond Hill
0a55767ea3 Make Firefox dev build auto-update 2022-10-27 14:31:23 -04:00
Raymond Hill
aa21d77529 New revision for dev build 2022-10-27 14:19:54 -04:00
Raymond Hill
bccd5a0264 Harden scriptlet injections
This commit make it so scriptlet injections will occur
at the earliest possible time on all platform.

This should also fix the case reported at:
- https://www.reddit.com/r/uBlockOrigin/comments/ye6abt/

Which is caused by the fact that there is no webNavigation
events being fired by the browser. In such case, the changes
here will make it so that uBO will detect that the scriptlet
were not injected and will inject them at main content script
injection time.
2022-10-27 14:16:21 -04:00
Raymond Hill
2d3d57fbc8 Use our own mirror for Easylist lists 2022-10-27 14:15:57 -04:00
Raymond Hill
2f646dbdb0 Pull reference Easylist assests from own repo 2022-10-24 12:37:04 -04:00
Raymond Hill
ae5717ea72 Just use the already existing method 2022-10-24 09:30:29 -04:00
Raymond Hill
1ce59d205a Add script to publish uBO Lite to CWS 2022-10-24 09:14:14 -04:00
Raymond Hill
fb4059d11c Add missing API method in neutered resource 2022-10-24 09:11:02 -04:00
Raymond Hill
df7bedbe04 Return punycoded hostname in static extended filtering 2022-10-24 09:08:50 -04:00
q1800
08eb790145 Update support.html (#3876) 2022-10-21 14:17:18 -04:00
Raymond Hill
3d3ad0e386 Void elements (i.e. link) do not need self-closing slash
Ref.:
  https://html.spec.whatwg.org/multipage/syntax.html#void-elements
2022-10-21 12:17:37 -04:00
gorhill
daa151f684 Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-10-20 20:04:31 +00:00
Raymond Hill
433adac6ff [mv3] Add ability to handle entity-based CSS and scriptlet injection filters
This commit adds the ability to inject entity-based plain CSS
filters and also a set of the most commonly used entity-based
scriptlet injection filters.

Since the scripting API is not compatible with entity patterns,
the entity-related content scripts are injected in all documents
and the entity-matching is done by the content script themselves.

Given this, entity-based content scripts are enabled only when
working in the Complete filtering mode, there won't be any
entity-based filters injected in lower modes.

Also, since there is no way to reasonably have access to the
Public Suffix List in the content scripts, the entity-matching
algorithm is an approximation, though I expect false positives
to be rare (time will tell). In the event of such false
positive, simply falling back to Optimal mode will fix the
issue.

The following issues have been fixed at the same time:

Fixed the no-filtering mode related rules having lower priority
then redirect rules, i.e. redirect rules would still be applied
despite disabling all filtering on a site.

Fixed improper detection of changes to the generic-related CSS
content script, potentially causing undue delays when for example
trying to access the popup panel while working in Complete mode.
The scripting MV3 can be quite slow when registering/updating
large content scripts, so uBOL does its best to call the API only
if really needed, but there had been a regression in the recent
builds preventing uBO from properly detecting unchanged content
script parameters.
2022-10-20 15:48:06 -04:00
Raymond Hill
e84b374279 Partially revert fd945f3358 2022-10-19 18:17:39 -04:00
Raymond Hill
1655e88438 Make Firefox dev build auto-update 2022-10-19 12:21:07 -04:00
Raymond Hill
635b64153a New revision for dev build 2022-10-19 12:13:35 -04:00
Raymond Hill
7ec59b09ac Fix improperly detecting ruleset changes re. dynamic URL filtering
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2330\
2022-10-19 12:12:09 -04:00
Raymond Hill
de1eeb0770 Make Firefox dev build auto-update 2022-10-19 11:46:15 -04:00
Raymond Hill
9a06ed4f48 New revision for dev build 2022-10-19 11:39:34 -04:00
Raymond Hill
9247072061 Import translation work from https://crowdin.com/project/ublock 2022-10-19 11:38:55 -04:00
Raymond Hill
d027a3f7c4 Fix improperly detecting ruleset changes re. dynamic URL filtering
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2330
2022-10-19 11:37:11 -04:00
gorhill
37030ec0c9 Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-10-18 20:23:00 +00:00
Raymond Hill
2e9cc65bea Import translation work from https://crowdin.com/project/ublock 2022-10-18 16:19:21 -04:00
Raymond Hill
9879b7d03c [mv3] Fix overwriting valid DNR rules with invalid entries
This fixes a flaw which has existed since the first version of
uBO Lite.

Related issue:
- https://github.com/uBlockOrigin/uBOL-issues/issues/11

Related commit:
- a559f5f271
2022-10-18 16:12:30 -04:00
gorhill
d41b5ebe04 Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-10-18 13:19:05 +00:00
Raymond Hill
d79898a3c4 Fix asset name 2022-10-18 09:16:14 -04:00
Raymond Hill
b4c63f6ae5 [mv3] Handle permissions being revoked while uBOL is disabled 2022-10-18 08:48:31 -04:00
Raymond Hill
8aa379ef9e Fix argument-less :watch-attr() procedural operator
It's valid to have no argument for `:watch-attr()`.
2022-10-18 07:35:47 -04:00
Raymond Hill
44812dd3c0 [mv3] Salvage network rules with entity syntax in domain= option
It's possible to salvage network rule with entity syntax-based
entries in their `domain=` option if there exists at least one
entry which is not entity syntax-based.

For negated entries, these can be unconditionally removed
safely.
2022-10-17 17:41:13 -04:00
Raymond Hill
83b9ca5db6 Don't use github as cdn for EasyList/EasyPrivacy 2022-10-17 17:21:01 -04:00
Raymond Hill
943d052d83 Make Firefox dev build auto-update 2022-10-17 13:30:42 -04:00
Raymond Hill
9fd0ed0d92 New revision for dev build 2022-10-17 13:02:55 -04:00
gorhill
6ccdf31e44 Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-10-17 12:41:43 +00:00
Raymond Hill
614e65a6a5 Import translation work from https://crowdin.com/project/ublock 2022-10-17 08:24:54 -04:00
gorhill
c1640ece3c Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-10-17 12:20:06 +00:00
Raymond Hill
fa21f97b68 [mv3] Use navigator.languages instead of i18n.getAcceptLanguages
Related issue:
- https://github.com/w3c/webextensions/issues/107
2022-10-17 08:13:48 -04:00
Raymond Hill
d2cece5efe Merge branch 'master' of https://github.com/gorhill/uBlock 2022-10-17 07:28:19 -04:00
Raymond Hill
04119e9cdd Properly handle unsupported `nth-child(an of selector)
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2284#issuecomment-1280325910
2022-10-17 07:26:51 -04:00
gorhill
c7715d56bd Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-10-16 17:30:52 +00:00
Raymond Hill
25b0a2c90c [mv3] Use the most up-to-date version of lists 2022-10-16 13:27:43 -04:00
Raymond Hill
0dab55a400 Merge branch 'master' of https://github.com/gorhill/uBlock 2022-10-16 13:22:17 -04:00
Raymond Hill
d22b4e9f71 [mv3] Revert attempt at fixing rules with entity-based syntax
This will need more careful analysis to properly address this.
2022-10-16 13:20:49 -04:00
gorhill
324ded8f47 Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-10-16 16:20:18 +00:00
Raymond Hill
985ea24e82 [mv3] Add support for redirect= filters
This adds support for `redirect=` filters. As with `removeparam=`
filters, `redirect=` filters can only be enforced when the
default filtering mode is set to Optimal or Complete, since these
filters require broad host permissions to be enforced by the DNR
engine.

`redirect-rule=` filters are not supported since there is no
corresponding DNR syntax.

Additionally, fixed the dropping of whole network filters even though
those filters are still useful despite not being completely
enforceable -- for example a filter with a single (unsupported) domain
using entity syntax in its `domain=` option should not be wholly
dropped when there are other valid domains in the list.
2022-10-16 12:05:24 -04:00
Raymond Hill
5a9cd724ca Add missing method to neutered api 2022-10-15 14:46:12 -04:00
Raymond Hill
1db3748ab1 [mv3] General code review
Re-arranged resources in a more tidy way. General code review of
various code paths.
2022-10-15 13:05:20 -04:00
Raymond Hill
30bd6c7bb8 Parse -abp-has as declarative if possible
With the new csstree-based parser, it should now be
safe to parse `-abp-has` as declarative. There are over
a hundred such cosmetic filters in EasyList, and we want
to have these filters declaratively enforced whenever
possible in order to let the browser do the work natively
rather than rely on JS code.
2022-10-14 13:04:47 -04:00
gorhill
5d97353287 Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-10-13 12:27:47 +00:00
Raymond Hill
551e78f1ae Merge branch 'master' of https://github.com/gorhill/uBlock 2022-10-13 08:24:58 -04:00
Raymond Hill
af47189da4 Import translation work from https://crowdin.com/project/ublock 2022-10-13 08:24:39 -04:00
gorhill
afff7a718f Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-10-13 12:15:46 +00:00
Raymond Hill
b6ed70d415 Update en.md 2022-10-12 19:50:33 -04:00
Raymond Hill
9781292e92 [mv3] Add ubol-filters.txt to default set 2022-10-12 10:40:02 -04:00
Raymond Hill
2f9b3e56de [mv3] Update description 2022-10-12 08:34:59 -04:00
Raymond Hill
2ced5d2fb6 Import translation work from https://crowdin.com/project/ublock 2022-10-11 17:06:03 -04:00
Raymond Hill
873c2e7264 [mv3] Support conditional env_mv3 directive to parser
Related issue:
- https://github.com/uBlockOrigin/uBOL-issues/issues/1
2022-10-11 12:02:33 -04:00
Raymond Hill
da6d17c159 [mv3] Add support for aeld scriptlet 2022-10-11 11:13:27 -04:00
Raymond Hill
556c3a143f Add nosiif and nowoif scriptlets
The addition of those scriptlets will help uBOL to properly
filter more anti-blocker mechanisms on various site and also prevents
popups on many sites.

Also, fixed properly injecting scriptlets in embedded frames -- it
turns out I misunderstood the `allFrames` settings in the `scripting`
API.
2022-10-11 10:46:10 -04:00
Raymond Hill
042dc99594 Import translation work from https://crowdin.com/project/ublock 2022-10-11 08:52:17 -04:00
gorhill
c5ab18dc80 Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-10-10 16:44:02 +00:00
Raymond Hill
73fbdea860 Import translation work from https://crowdin.com/project/ublock 2022-10-10 12:38:01 -04:00
Raymond Hill
8eb28a446c [mv3] Introduce per-site filtering modes in lieu of per-site toggle switch 2022-10-10 12:28:24 -04:00
Raymond Hill
5777b672a4 Import translation work from https://crowdin.com/project/ublock 2022-10-10 10:46:19 -04:00
Raymond Hill
3b0b3cae50 Make Firefox dev build auto-update 2022-10-10 09:05:26 -04:00
Raymond Hill
87b2bd1e53 New revision for dev build 2022-10-10 08:41:28 -04:00
Raymond Hill
5659194932 Fix broken :has() operator in HTML filtering
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2228#issuecomment-1273119017
2022-10-10 08:38:40 -04:00
Raymond Hill
849937aae6 Make Firefox dev build auto-update 2022-10-07 09:20:30 -04:00
Raymond Hill
9c96ff41c4 New revision for dev build 2022-10-07 09:14:57 -04:00
Raymond Hill
3f8e3fe0c6 Fix nth-of-type() not accepting identifier-based arguments
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2284#issuecomment-1271552479
2022-10-07 09:12:45 -04:00
Raymond Hill
93953f9b21 Prepend attribute flags with space
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2310#issuecomment-1269001494
2022-10-06 16:57:03 -04:00
Raymond Hill
fd945f3358 Add mirrors for EasyList lists 2022-10-05 10:37:33 -04:00
Raymond Hill
0bfffb80c4 Fix spurious warning
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2243
2022-10-05 07:28:01 -04:00
Raymond Hill
4ec2e07feb Make Firefox dev build auto-update 2022-10-05 07:20:56 -04:00
Raymond Hill
6b81d159ae New revision for dev build 2022-10-05 07:11:23 -04:00
Raymond Hill
9c0d76346b Fix discarding attribute flags
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2310
2022-10-05 07:08:35 -04:00
Raymond Hill
cdfba30db6 Make Firefox dev build auto-update 2022-10-04 08:21:19 -04:00
Raymond Hill
fdd3e17884 New revision for dev build 2022-10-04 08:13:29 -04:00
Raymond Hill
24273d2c94 Escape attribute values
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2284#issuecomment-1265417399
2022-10-04 08:11:31 -04:00
Raymond Hill
76fe28333d Make Firefox dev build auto-update 2022-10-03 11:06:24 -04:00
Raymond Hill
306b706ef5 New revision for dev build 2022-10-03 10:54:15 -04:00
Raymond Hill
e12cd232a0 Procedural operators without parenthesis are invalid
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2305

Bump up selfie/compile version numbers. Related feedback:
- 85adde9f0c (commitcomment-85569639)
2022-10-03 10:47:29 -04:00
Raymond Hill
2a40e67577 [mv3] Various fixes and code review
Fixed trusted sites not being excluded from declarative
scripting.

Assign "uBOL_"-prefixed name to anonymous scripting functions
so that they can be easily found in performance profiler results
in dev tools.

Imrpove spread of chunks of filters across declarative scripting
files.
2022-09-30 14:55:36 -04:00
gorhill
2cace64ed4 Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-09-30 13:25:06 +00:00
Raymond Hill
1a9a19a91f [mv3] Open options page at first install
To be sure first time users are properly informed about the
possibility to enable broad permissions for better filtering.
2022-09-30 09:18:52 -04:00
gorhill
6210a85f26 Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-09-30 00:13:50 +00:00
Raymond Hill
28aee736a5 [mv3] Add support for removeparam= filter option
Consequently, AdGuard URL Tracking Protection (AUTP) has been
added to the set of available filter lists.

However, removeparam= equivalent DNR rules can only be enforced
when granting uBOL broad permissions. If broad permissions are
not granted, removeparam= equivalent DNR rules are ignored.

Exception removeparam= filters are not supported, and these are
present in AUTP and meant to unbreak some websites which are
known to break as a result of removing query parameters.

This is issue might be mitigated in the future by making the
conversion from filters to DNR rules more complicated but this
can never replace the accuracy of uBO's filtering engine being
able to fully enforce arbitrary exception removeparam= filters.

Also, it is not possible to translate regex-based removeparam=
values to DNR rules, so these are dropped at conversion time.

As with other filters to DNR rules conversion, the converter
coallesce many distinct removeparam= filters into fewer DNR
rules.
2022-09-29 19:51:33 -04:00
Raymond Hill
8febe2c95c Make Firefox dev build auto-update 2022-09-29 13:01:04 -04:00
Raymond Hill
85adde9f0c New revision for dev build 2022-09-29 12:56:30 -04:00
Raymond Hill
fe6f03de26 Merge branch 'master' of https://github.com/gorhill/uBlock 2022-09-29 12:55:45 -04:00
Raymond Hill
80e17af9fa Fix parsing of cosmetic filters with empty-string attribute value
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2303
2022-09-29 12:54:25 -04:00
gorhill
0b1839150c Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-09-28 14:48:50 +00:00
Raymond Hill
5e130d3391 Make Firefox dev build auto-update 2022-09-28 10:45:26 -04:00
Raymond Hill
a673004948 New revision for dev build 2022-09-28 10:41:48 -04:00
Raymond Hill
b5e2ca8826 Import translation work from https://crowdin.com/project/ublock 2022-09-28 10:40:55 -04:00
Raymond Hill
a20273c582 [mv3] Don't wait on fullfilled promise when registring scriptlets
This can interfere with user interface responsiveness when
registring all scriptlets in broad-permissions mode.
2022-09-28 10:20:57 -04:00
Raymond Hill
de0f45581c Fix logging of sub_frame types
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2302
2022-09-28 09:58:44 -04:00
Raymond Hill
13927fc203 Rules with excludedResourceTypes must not block main_frame
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2298
2022-09-28 09:37:10 -04:00
Raymond Hill
fe4cfeba2e Code review re. attribute serializer
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2300

Related commit:
- 7379bafb23
2022-09-28 09:05:04 -04:00
Raymond Hill
7379bafb23 Fix serializing of unquoted attribute values
Related commit:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2300
2022-09-28 08:34:39 -04:00
Raymond Hill
a47484bc33 [mv3] Fix reflecting proper state when denied 2022-09-27 20:19:59 -04:00
Raymond Hill
fa07a90a53 Make Firefox dev build auto-update 2022-09-27 20:16:20 -04:00
Raymond Hill
0fac2d583d New revision for dev build 2022-09-27 20:05:56 -04:00
Raymond Hill
d3e4bec30a Add missing ellipsis character 2022-09-27 20:04:38 -04:00
Raymond Hill
61e9a6e9c9 Import translation work from https://crowdin.com/project/ublock 2022-09-27 20:00:06 -04:00
Raymond Hill
f652cc9855 [mv3] Add ability to grant/revoke permissions on all sites 2022-09-27 19:51:38 -04:00
Raymond Hill
d4b7169421 Fix bad rules making it into the final ruleset files 2022-09-27 10:57:43 -04:00
Raymond Hill
8dfefe5910 Rename directory 2022-09-27 10:46:56 -04:00
Raymond Hill
0645a54e32 Rename directory 2022-09-27 10:43:49 -04:00
Raymond Hill
0cd019ec7d Fix preview of :style()-based cosmetic filters 2022-09-27 09:32:58 -04:00
gorhill
de19ab3073 Update build log file
Files changed:\nM	dist/chromium-mv3/log.txt
2022-09-27 11:53:47 +00:00
Raymond Hill
51c2e22c7a [mv3] Fix procedural operator matches-media()
The failure was caused by the fact that there is no
window.matchMedia() API available in Nodejs. The validation
is now done using cssTree.
2022-09-27 07:46:24 -04:00
Raymond Hill
ec83127f6c Update m3u-prune scriptlet 2022-09-26 22:37:11 -04:00
Raymond Hill
7f4744b10a Make Firefox dev build auto-update 2022-09-26 22:36:25 -04:00
Raymond Hill
e7b6b5ceff New revision for dev build 2022-09-26 22:30:10 -04:00
Raymond Hill
115f7bb687 Fix operator token-to-ctor map
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2294
2022-09-26 22:27:50 -04:00
Raymond Hill
990ad75ca8 Redirect non-existing operators to a void operator
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2292

This will prevent unexpected oversezealous blocking if ever
this happens again. The internal void operator will ensure
no blocking takes place and issue a note about non-existing
operator to the dev tools console.
2022-09-26 16:46:24 -04:00
Raymond Hill
a78bb0f8eb Make Firefox dev build auto-update 2022-09-26 12:36:20 -04:00
Raymond Hill
7fe13cd2cb new revision for dev build 2022-09-26 12:27:04 -04:00
Raymond Hill
9a31ac8076 Revert removal of matches-css-related filters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2292

Related commit:
- a71b71e4c8
2022-09-26 12:23:13 -04:00
Raymond Hill
e29e760b43 Use higher resolution favicons
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2287
2022-09-26 10:18:24 -04:00
Raymond Hill
75f3d53a27 Make Firefox dev build auto-update 2022-09-26 10:06:56 -04:00
Raymond Hill
3d8599e0a1 New revision for dev build 2022-09-26 09:59:45 -04:00
Raymond Hill
59aa235952 Forbid relative selector at top level
Related commit:
- a71b71e4c8
2022-09-25 08:51:48 -04:00
Raymond Hill
6828e1c3b2 Bail out early if missing required argument 2022-09-25 06:57:51 -04:00
Raymond Hill
596145ceb9 Harden xml-prune scriptlet 2022-09-25 06:49:41 -04:00
Raymond Hill
3227d7f591 Make Firefox dev build auto-update 2022-09-24 21:06:17 -04:00
Raymond Hill
4bc2ba1cbe New revision for dev build 2022-09-24 20:55:15 -04:00
Raymond Hill
770e467013 Merge branch 'master' of https://github.com/gorhill/uBlock 2022-09-24 20:54:02 -04:00
Raymond Hill
bf690145c4 Add new scriptlet: xml-prune
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/14849

Arguments:

1. Required. The selector of elements which are to be removed.
   Example: Period[id*="-roll-"][id*="-ad-"]

2. An optional selector that must have a match in the document
   for the pruning to occur. No selector means the pruning can
   be performed regardless.

3. An optional URL which must be a match for the pruning to
   occur. If left blank, the pruning can be performed regardless.
2022-09-24 20:49:00 -04:00
gorhill
482919e12b Update build log file
Files changed:\nM	dist/chromium-mv3/log.txt
2022-09-24 22:46:55 +00:00
Raymond Hill
f19fd391de [mv3] Fix bad call in nostif 2022-09-24 18:43:15 -04:00
Raymond Hill
ffc46534ac [mv3] Skip some regional lists for the time being 2022-09-24 18:36:28 -04:00
Raymond Hill
4755a6094e [mv3] Add support for more scriplets: abort-on-property-write, no-settimeout-if 2022-09-24 18:22:44 -04:00
Raymond Hill
5c2e3afbed Make Firefox dev build auto-update 2022-09-24 17:51:07 -04:00
Raymond Hill
ae653babb0 New revision for dev build 2022-09-24 17:42:02 -04:00
Raymond Hill
743210f5df Fix incomplete parsing of nth-of-type() and some other pseudo-classes
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2284

Regression from:
- a71b71e4c8
2022-09-24 17:27:20 -04:00
Raymond Hill
07178e6416 Fix typo 2022-09-24 14:10:29 -04:00
gorhill
5b3bfc3275 Update build log file
Files changed:\nM	dist/chromium-mv3/log.txt
2022-09-24 16:37:06 +00:00
Raymond Hill
68154d3393 Make Firefox dev build auto-update 2022-09-24 12:31:20 -04:00
Raymond Hill
1d2cafd2b6 New revision for dev build 2022-09-24 12:23:42 -04:00
Raymond Hill
a7b5f5127f [mv3] Do not include lists with empty ruleset 2022-09-24 12:23:01 -04:00
Raymond Hill
c698a9fcec Fix overzealous validation of :style() arguments 2022-09-24 12:14:50 -04:00
Raymond Hill
f638da41d6 Import translation work from https://crowdin.com/project/ublock 2022-09-24 12:14:02 -04:00
Raymond Hill
d588f46a39 Import translation work from https://crowdin.com/project/ublock 2022-09-24 11:40:42 -04:00
Raymond Hill
966a157d19 [mv3] Add support for procedural cosmetic filtering 2022-09-24 11:33:04 -04:00
Raymond Hill
a71b71e4c8 New cosmetic filter parser using CSSTree library
The new parser no longer uses the browser DOM to validate
that a cosmetic filter is valid or not, this is now done
through a JS library, CSSTree.

This means filter list authors will have to be more careful
to ensure that a cosmetic filter is really valid, as there is
no more guarantee that a cosmetic filter which works for a
given browser/version will still work properly on another
browser, or different version of the same browser.

This change has become necessary because of many reasons,
one of them being the flakiness of the previous parser as
exposed by many issues lately:

- https://github.com/uBlockOrigin/uBlock-issues/issues/2262
- https://github.com/uBlockOrigin/uBlock-issues/issues/2228

The new parser introduces breaking changes, there was no way
to do otherwise. Some current procedural cosmetic filters will
be shown as invalid with this change. This occurs because the
CSSTree library gets confused with some syntax which was
previously allowed by the previous parser because it was more
permissive.

Mainly the issue is with the arguments passed to some procedural
cosmetic filters, and these issues can be solved as follow:

Use quotes around the argument. You can use either single or
double-quotes, whichever is most convenient. If your argument
contains a single quote, use double-quotes, and vice versa.

Additionally, try to escape a quote inside an argument using
backslash. THis may work, but if not, use quotes around the
argument.

When the parser encounter quotes around an argument, it will
discard them before trying to process the argument, same with
escaped quotes inside the argument. Examples:

Breakage:

    ...##^script:has-text(toscr')

Fix:

    ...##^script:has-text(toscr\')

Breakage:

    ...##:xpath(//*[contains(text(),"VPN")]):upward(2)

Fix:

    ...##:xpath('//*[contains(text(),"VPN")]'):upward(2)

There are not many filters which break in the default set of
filter lists, so this should be workable for default lists.

Unfortunately those fixes will break the filter for previous
versions of uBO since these to not deal with quoted argument.
In such case, it may be necessary to keep the previous filter,
which will be discarded as broken on newer version of uBO.

THis was a necessary change as the old parser was becoming
more and more flaky after being constantly patched for new
cases arising, The new parser should be far more robust and
stay robist through expanding procedural cosmetic filter
syntax.

Additionally, in the MV3 version, filters are pre-compiled
using a Nodejs script, i.e. outside the browser, so validating
cosmetic filters using a live DOM no longer made sense.

This new parser will have to be tested throughly before stable
release.
2022-09-23 16:03:13 -04:00
Raymond Hill
fe21ce5002 Ease load on EasyList server
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2276#issuecomment-1254387437
2022-09-22 05:52:47 -04:00
Raymond Hill
9764063db9 [mv3] Fix release name in GitHub Actions 2022-09-20 09:24:43 -04:00
Raymond Hill
b2b7ffee87 [mv3] Add English description
This will be used as reference "detailed description" and
for Chrome Web Store et al. description.
2022-09-20 09:01:10 -04:00
gorhill
8a9772bc42 Update build log file
Files changed:\nM	dist/chromium-mv3/log.txt
2022-09-20 12:53:10 +00:00
Raymond Hill
cfeac10c95 [mv3] Add support for abort-on-property-read scriptlet 2022-09-20 08:49:52 -04:00
Raymond Hill
70a0de9d00 [mv3] Mind trusted-site directives when registering content scripts 2022-09-20 08:24:01 -04:00
Raymond Hill
f374c05753 [mv3] Stick to int32 instead of 8-char hex strings for file hashes 2022-09-19 20:21:10 -04:00
gorhill
90f666fce8 Update build log file
Files changed:\nM	dist/chromium-mv3/log.txt
2022-09-19 15:55:57 +00:00
Raymond Hill
7116bf9a46 GitHub Actions stuff 2022-09-19 11:53:04 -04:00
Raymond Hill
749de482ee GitHub Actions stuff 2022-09-19 11:31:04 -04:00
Raymond Hill
8eb2f4077a Better action name 2022-09-19 11:11:07 -04:00
Raymond Hill
adb5d503d9 [mv3] Add GitHub action to build mv3 separately form uBO 2022-09-19 11:08:34 -04:00
Raymond Hill
6041757c3d Make Firefox dev build auto-update 2022-09-19 09:10:31 -04:00
gorhill
f7cdac3ecd Update build log file
Files changed:\nM	dist/chromium-mv3/log.txt
2022-09-19 13:03:31 +00:00
Raymond Hill
8004e13a5a New revision for dev build 2022-09-19 08:59:40 -04:00
Raymond Hill
4bd02c0fb6 [mv3] Inject specific cosmetic filters through scriptlet injection
This solves the following remaining issues regarding specific cosmetic
filtering:
- High rate of false positives in last build
- High number of generated content css files in the package
2022-09-19 08:55:45 -04:00
Raymond Hill
3f8f6d14ab Make Firefox dev build auto-update 2022-09-18 17:30:45 -04:00
gorhill
6a8269b43a Update build log file
Files changed:\nM	dist/chromium-mv3/log.txt
2022-09-18 21:18:38 +00:00
Raymond Hill
66b1785fc2 New revision for dev build 2022-09-18 17:16:34 -04:00
Raymond Hill
89566bc397 [mv3] Further reduce the number of distinct generated scriptlets 2022-09-18 17:07:02 -04:00
Raymond Hill
35f4bdd113 Add ext_ubol to tokens recognized by the preparser
`ext_ubol` will evaluate to false in uBO, and true in uBO Lite.

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2268
2022-09-18 11:06:07 -04:00
Raymond Hill
a411ccfaff Make Firefox dev build auto-update 2022-09-18 09:45:27 -04:00
gorhill
9a71c303b3 Update build log file
Files changed:\nM	dist/chromium-mv3/log.txt
2022-09-18 13:38:43 +00:00
Raymond Hill
ddc8ec59dd New revision for dev build 2022-09-18 09:36:44 -04:00
Raymond Hill
154a71c658 Import translation work from https://crowdin.com/project/ublock 2022-09-18 09:36:13 -04:00
Raymond Hill
5ddd3aaac6 [mv3] More work toward improving declarative css/js injection 2022-09-18 09:31:44 -04:00
Imre Kristoffer Eilertsen
3ea8142d9e Adding "LKA" for Sri Lanka and "NPL" for Nepal to IndianList's title (#3866)
* Added "LKA" for Sri Lanka to IndianList's title

* Added NPL for Nepal too

After seeing that IndianList already supports Nepal languages outright.
2022-09-18 07:17:45 -04:00
q1800
dc81aaf194 Update description-en.txt (#3873) 2022-09-18 07:16:57 -04:00
q1800
b32de13001 Update about.html (#3874) 2022-09-18 07:15:47 -04:00
q1800
706f3b21d7 Update settings.html (#3875) 2022-09-18 07:15:06 -04:00
Raymond Hill
65a0561072 Slightly change behavior of window-close-if scriplet
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2270

If the argument to the window-close-if scriptlet is a regex, the
match will be against the whole location URL, otherwise the
match will be against the part+query part of the location URL.
2022-09-17 12:46:42 -04:00
Raymond Hill
9a8835a042 Make Firefox dev build auto-update 2022-09-17 11:36:11 -04:00
gorhill
5dc9114df2 Update build log file
Files changed:\nM	dist/chromium-mv3/log.txt
2022-09-17 15:27:44 +00:00
Raymond Hill
a72aaab57b New revision for dev build
Need to work on GitHub Actions to have releases specific to
mv3 package.
2022-09-17 11:24:28 -04:00
Raymond Hill
9058c3524e [mv3] Fix improper usage of scripting.unregisterContentScripts()
THis was causing all registered css/scripts to be removed when revoking
permission for a single site.
2022-09-17 11:22:25 -04:00
Raymond Hill
3e1160db69 Make Firefox dev build auto-update 2022-09-17 08:50:47 -04:00
gorhill
ac7f1ed103 Update build log file
Files changed:\nM	dist/chromium-mv3/log.txt
2022-09-17 12:39:07 +00:00
Raymond Hill
2f8df52804 New revision for dev build 2022-09-17 08:37:01 -04:00
Raymond Hill
10406f5f74 Import translation work from https://crowdin.com/project/ublock 2022-09-17 08:35:54 -04:00
Raymond Hill
e1b54514cc [mv3] Add badge reflecting number of injectable content on current site
Additonally, general code review.
2022-09-17 08:26:41 -04:00
Raymond Hill
c0bce368a7 Make Firefox dev build auto-update 2022-09-16 17:11:18 -04:00
gorhill
05e847e46f Update build log file
Files changed:\nM	dist/chromium-mv3/log.txt
2022-09-16 20:39:10 +00:00
Raymond Hill
22d03906fb [mv3] For the time being assemble defautl lists manually 2022-09-16 16:36:09 -04:00
Raymond Hill
46c461c568 Import translation work from https://crowdin.com/project/ublock 2022-09-16 16:06:32 -04:00
Raymond Hill
1906a207e4 New revision for dev build 2022-09-16 16:00:37 -04:00
Raymond Hill
232c44eeb2 [mv3] Add scriptlet support; improve reliability of cosmetic filtering
First iteration of adding scriptlet support. As with cosmetic
filtering, scriptlet niijection occurs only on sites for which
uBO Lite was granted extended permissions.

At the moment, only three scriptlets are supported:
- abort-current-script
- json-prune
- set-constant

More will be added in the future.
2022-09-16 15:56:35 -04:00
Raymond Hill
bf4cc74d3f Make Firefox dev build auto-update 2022-09-15 18:50:40 -04:00
gorhill
413a6b0611 Update build log file
Files changed:\nM	dist/chromium-mv3/log.txt
2022-09-15 19:00:22 +00:00
Raymond Hill
405ad47427 New revision for dev build 2022-09-15 14:58:55 -04:00
Raymond Hill
e7da3beddd Fix typo in source code of "Filter lists" pane 2022-09-15 14:57:34 -04:00
Raymond Hill
dea2a13bca Make Firefox dev build auto-update 2022-09-15 13:40:57 -04:00
Raymond Hill
22753b765e Merge branch 'master' of https://github.com/gorhill/uBlock 2022-09-15 13:37:47 -04:00
Raymond Hill
99e4fa1d4d Set zip to quiet mode 2022-09-15 13:37:39 -04:00
gorhill
58922ba7fd Update build log file
Files changed:\nM	dist/chromium-mv3/log.txt
2022-09-15 17:34:34 +00:00
Raymond Hill
14bb3b7e54 New revision for dev build 2022-09-15 13:33:03 -04:00
Raymond Hill
34aab95107 [mv3] Add support for specific cosmetic filtering
Specific plain CSS cosmetic filters are now supported.

Cosmetic filtering will occur only after the user explicitly
grant uBO extended permissions for a given site, so that it
can inject CSS on the site.

A new button in the popup panel allows a user to grant/revoke
extended permissions to/from uBO Lite for the current site.

More capabilities will be carefully added for when extended
permissions are granted on a site, so specific cosmetic
filtering through plain CSS is the first implemented capability.

Generic and procedural cosmetic filtering is not implemented.

The current implementation for plain CSS cosmetic filters is
through declarative content injection, which does not require
the service worker to be alive, the browser takes care to
inject the cosmetic filters.

However declarative CSS injection does not support user
styles, so the injected cosmetic filters are "weak". I consider
this is a browser issue, since user styles are supported by
Chromium, there is just no way in the API to specify user
styles for the injected content.

Also:
- Fixed dark theme issues
- Added Steven Black's hosts file

Keep in mind all this is very experimental and implementation
details in this release may (will) greatly change in the future.
2022-09-15 13:14:08 -04:00
Raymond Hill
b343cdc374 Import translation work from https://crowdin.com/project/ublock 2022-09-15 12:53:56 -04:00
Raymond Hill
43a20f08a8 Import translation work from https://crowdin.com/project/ublock 2022-09-15 12:19:31 -04:00
Raymond Hill
be4537ef44 Use translated strings in manifest 2022-09-14 09:32:59 -04:00
Raymond Hill
76835ebcac Reword description 2022-09-14 09:31:58 -04:00
Raymond Hill
424797a0b1 Fix/add support URLs for uBO's own lists 2022-09-14 09:29:49 -04:00
Raymond Hill
824b98975c Merge branch 'master' of https://github.com/gorhill/uBlock 2022-09-13 18:11:34 -04:00
Raymond Hill
df5ec34745 Make Firefox dev build auto-update 2022-09-13 18:10:56 -04:00
gorhill
245579e8fa Update build log file
Files changed:\nM	dist/chromium-mv3/log.txt
2022-09-13 22:02:20 +00:00
Raymond Hill
515cb860f9 New revision for dev build 2022-09-13 18:01:15 -04:00
Raymond Hill
6098f96a5d Import translation work from https://crowdin.com/project/ublock 2022-09-13 18:00:25 -04:00
Raymond Hill
5de156a0ed Add missing translatable strings 2022-09-13 17:58:48 -04:00
Raymond Hill
3435e9886e Import translation work from https://crowdin.com/project/ublock 2022-09-13 17:58:12 -04:00
Raymond Hill
e31637af78 [mv3] Add ability to enable/disable filter lists 2022-09-13 17:44:24 -04:00
Raymond Hill
d11a3f2fa3 Fix broken :not() operator when forcing parsing as procedural
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2262
2022-09-13 16:15:22 -04:00
Raymond Hill
93e5133783 Rename to less controversial name 2022-09-11 17:41:24 -04:00
Raymond Hill
887a87d9ca Add support to report/filter SVG image elements
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2260
2022-09-11 12:20:01 -04:00
Raymond Hill
3e26a1ead8 Add missing dependency 2022-09-11 12:19:45 -04:00
Raymond Hill
7412d0fda7 Merge branch 'master' of https://github.com/gorhill/uBlock 2022-09-11 11:16:04 -04:00
Raymond Hill
d14750dde1 Make Firefox dev build auto-update 2022-09-11 11:15:45 -04:00
gorhill
2ea1d9c683 Update build log file
Files changed:\nM	dist/chromium-mv3/log.txt
2022-09-11 15:10:20 +00:00
Raymond Hill
f8c0f4525e New revision for dev build 2022-09-11 11:09:07 -04:00
Raymond Hill
067e128163 Patch google-ima shim script for proper integration into uBO
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2158

Additionally, added firing of CONTENT_RESUME_REQUESTED event in
start() method.
2022-09-11 11:03:47 -04:00
Raymond Hill
b6b6e49d57 Add original Firefox-authored google-ima shim script
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2158
2022-09-11 10:54:54 -04:00
Raymond Hill
9ce9588737 Import translation work from https://crowdin.com/project/ublock 2022-09-11 09:18:20 -04:00
Raymond Hill
257100e921 Add missing i18n attribute 2022-09-11 09:09:31 -04:00
Emilio Cobos Álvarez
4044aa182a element-picker: Declare we support both light and dark color-schemes. (#3872)
This fixes https://github.com/uBlockOrigin/uBlock-issues/issues/2240 and
should get the desired behavior regardless of browser.

Delay showing the iframe until load to prevent flashing a white
background on the initial about:blank.
2022-09-11 07:34:29 -04:00
Raymond Hill
453fb1eb5e Fix wording 2022-09-10 21:12:40 -04:00
Raymond Hill
4314764c48 Add missing translatable string
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1681
2022-09-10 21:05:09 -04:00
Raymond Hill
d11f6a6296 Make Firefox dev build auto-update 2022-09-10 16:16:26 -04:00
gorhill
22d06f4eb6 Update build log file
Files changed:\nM	dist/chromium-mv3/log.txt
2022-09-10 20:09:44 +00:00
Raymond Hill
a9b643abcc New revision for dev build 2022-09-10 16:08:38 -04:00
Raymond Hill
0d80a1132d Fix typo in CSS 2022-09-10 16:08:05 -04:00
Raymond Hill
0910071bbd Merge branch 'master' of https://github.com/gorhill/uBlock 2022-09-10 15:11:51 -04:00
Raymond Hill
9d832fbc8f Make Firefox dev build auto-update 2022-09-10 15:11:06 -04:00
gorhill
4bb08853c8 Update build log file
Files changed:\nM	dist/chromium-mv3/log.txt
2022-09-10 19:01:47 +00:00
Raymond Hill
c64f8cb271 Maybe fix github action 2022-09-10 15:00:47 -04:00
Raymond Hill
39129ba6a6 Maybe fix github action 2022-09-10 14:43:44 -04:00
Raymond Hill
204dbe8401 Maybe fix github action 2022-09-10 14:38:38 -04:00
Raymond Hill
c583a2e4b0 Fire tune build steps for mv3 version 2022-09-10 14:20:07 -04:00
Raymond Hill
dfde4643a2 New revision for dev build 2022-09-10 14:17:51 -04:00
Raymond Hill
5716c1c6a0 Add two more strings to translate
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1681
2022-09-10 14:16:23 -04:00
Raymond Hill
ac89b4e0f7 Import translation work from https://crowdin.com/project/ublock 2022-09-10 14:15:08 -04:00
Raymond Hill
3029c78a55 Redesign document-blocked page
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1681

The redesign is inspired by Brave's corresponding document-blocked
page.
2022-09-10 14:11:23 -04:00
Raymond Hill
60d1206215 Make popup panel reflect state of the actual blocked page
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1954
2022-09-10 11:55:19 -04:00
Raymond Hill
707609dc86 Do not set color-scheme CSS style in epicker for Firefox 106+
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2240
2022-09-10 10:07:16 -04:00
Raymond Hill
f806438de6 Unescaped escaped commas in regex-based removeparam values
Related discussion:
- https://github.com/uBlockOrigin/uAssets/discussions/14683#discussioncomment-3559284
2022-09-08 19:37:24 -04:00
Raymond Hill
2fc5cd0a14 Keep track of log file for published build 2022-09-08 17:51:36 -04:00
Raymond Hill
01b2122c81 Make Firefox dev build auto-update 2022-09-08 14:15:33 -04:00
Raymond Hill
517f7f5c23 Github action stuff 2022-09-08 12:07:01 -04:00
Raymond Hill
96e1fe49d4 Github action stuff 2022-09-08 11:44:27 -04:00
Raymond Hill
fe52c97392 Github action stuff 2022-09-08 11:38:06 -04:00
Raymond Hill
3d4ac1bc0a Github action stuff 2022-09-08 11:29:35 -04:00
Raymond Hill
091125ecc5 Github action stuff 2022-09-08 11:21:39 -04:00
Raymond Hill
6395591b13 Github action stuff 2022-09-08 11:09:55 -04:00
Raymond Hill
33e825da1d Hope this fixes github action 2022-09-08 10:28:24 -04:00
Raymond Hill
523bf337ba Fix github action for mv3 2022-09-08 10:24:17 -04:00
Raymond Hill
9a66b37fe0 Fix github action for mv3 2022-09-08 10:16:08 -04:00
Raymond Hill
3e90742040 New revision for dev build 2022-09-08 10:08:07 -04:00
Raymond Hill
1258414f37 Report ruleset stats in popup panel 2022-09-08 10:04:08 -04:00
Raymond Hill
41d66a78ba Report per-ruleset stats for filters-to-rules conversion 2022-09-07 13:45:55 -04:00
Raymond Hill
f7205fe2e4 Fine tune build steps 2022-09-07 10:23:40 -04:00
Raymond Hill
224410a6f5 Add per-site on/off switch to mv3 experimental version 2022-09-07 10:15:36 -04:00
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
ElectronicsArchiver
deb5fea0ba Raw Links -> Link References 2022-07-19 19:19:30 -04:00
Raymond Hill
86a5d4262c Update submodules 2022-07-18 11:26:58 -04:00
Raymond Hill
fe1f57163b Make Firefox dev build auto-update 2022-07-18 10:46:20 -04:00
Raymond Hill
0862c3b7b8 New revision for dev build 2022-07-18 10:29:44 -04:00
Raymond Hill
9aeadee80a Fix undue invalidation of pseudo element-based cosmetic filters
Regression from:
- 97befd116b

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2170
2022-07-18 10:27:59 -04:00
Raymond Hill
0410f62611 Make Firefox dev build auto-update 2022-07-17 13:11:07 -04:00
Raymond Hill
cb65b2a122 Update URLs for Latvian (LVA-0) list
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2176
2022-07-17 12:59:23 -04:00
Raymond Hill
e103ed63db New revision for dev build 2022-07-17 12:45:53 -04:00
Raymond Hill
97befd116b Better detect invalid cosmetic filters (revised)
Related commit:
- 19298fecf3

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2170
2022-07-17 12:42:48 -04:00
Raymond Hill
1dd37c8181 Make Firefox dev build auto-update 2022-07-15 21:56:05 -04:00
Raymond Hill
283f621ed4 New revision for dev build 2022-07-15 21:49:47 -04:00
Raymond Hill
19298fecf3 Revert "Better detect invalid cosmetic filters"
This reverts commit a8ca5127c9.
2022-07-15 21:49:05 -04:00
Raymond Hill
d82626d6cb Make Firefox dev build auto-update 2022-07-15 13:55:49 -04:00
Raymond Hill
51d47f4539 Import translation work from https://crowdin.com/project/ublock 2022-07-15 13:41:23 -04:00
Raymond Hill
ab0f42bae2 New revision for dev build 2022-07-15 13:37:16 -04:00
Raymond Hill
a8ca5127c9 Better detect invalid cosmetic filters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2170
2022-07-15 13:35:56 -04:00
Raymond Hill
019f3f1739 Properly "bleed" 3p rules onto 3p-script/3p-frame cells
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2171
2022-07-15 12:00:43 -04:00
Raymond Hill
313d694040 Add missing method to outbrain surrogate script
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/13834
2022-06-25 11:06:05 -04:00
Raymond Hill
063c3ddf90 Make Firefox dev build auto-update 2022-06-24 13:51:21 -04:00
Raymond Hill
8f72f1bdd6 New revision for dev build 2022-06-24 13:39:32 -04:00
Raymond Hill
9d81b7c4d9 Skip testing context when none present in acis scriptlet
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2154
2022-06-24 13:35:20 -04:00
Raymond Hill
8669893a4d Make Firefox dev build auto-update 2022-06-19 12:01:20 -04:00
Raymond Hill
5645a32c67 new revision for dev build 2022-06-19 11:55:31 -04:00
Raymond Hill
dddf353c94 Use hard tab 2022-06-19 11:55:06 -04:00
Raymond Hill
d00364860c Ignore auto-repeat events in ctrl keydown event handler
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2145
2022-06-19 11:52:23 -04:00
Raymond Hill
d96f5b55b6 Make Firefox dev build auto-update 2022-06-18 11:26:25 -04:00
Raymond Hill
b69b18cb7a New revision for dev build 2022-06-18 11:19:42 -04:00
Raymond Hill
2ff0abfb89 Fix popup panel for Thunderbird
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2144
2022-06-18 11:18:27 -04:00
Raymond Hill
b308ee3292 Make Firefox dev build auto-update 2022-06-12 11:55:49 -04:00
Raymond Hill
264b28b84d New revision for dev build 2022-06-10 11:49:56 -04:00
Raymond Hill
93d499a918 Merge branch 'master' of https://github.com/rathann/uBlock into patch 2022-06-10 11:35:11 -04:00
Raymond Hill
ad5df2b60f Use python3 instead of python
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2135
2022-06-10 11:16:49 -04:00
Raymond Hill
6fbcfc5114 Prevent picker from being larger than viewport
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2114
2022-06-10 11:11:29 -04:00
Raymond Hill
c1f5ac6656 Import translation work from https://crowdin.com/project/ublock 2022-06-09 11:29:11 -04:00
Raymond Hill
84a3330c58 Update submodules 2022-06-09 11:26:49 -04:00
Raymond Hill
0950a036e8 New revision for stable release 2022-06-09 11:26:11 -04:00
Raymond Hill
33b839fdd0 Replace Adblock-Iran with PersianBlocker
Related discussion:
- https://github.com/uBlockOrigin/uAssets/discussions/13259
2022-06-05 09:17:41 -04:00
Raymond Hill
c0b4a13f15 Update submodules 2022-06-04 12:32:39 -04:00
Raymond Hill
127ea05a9e Replace responsive with intab for better remdering og panel in a tab
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2116#issuecomment-1143634719
2022-06-04 11:12:45 -04:00
Raymond Hill
9330c3dda6 Make Firefox dev build auto-update 2022-06-03 13:12:20 -04:00
Raymond Hill
c825790cd8 Import translation worl from https://crowdin.com/project/ublock 2022-06-03 13:02:57 -04:00
Raymond Hill
2b9bb3b8ec New revision for dev build 2022-06-03 12:59:54 -04:00
Ming Di Leom
2ce7f84157 fix(curben-filter): curben.gitlab.io migrated to malware-filter.gitlab.io (#3867) 2022-06-03 12:46:10 -04:00
Raymond Hill
fd3ff0b395 Fix bad content URL for List-KR
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2129

Fixed as suggested in:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2129#issuecomment-1142168643
2022-06-03 12:31:07 -04:00
Raymond Hill
1c090f0fae Use string template 2022-06-03 12:27:51 -04:00
Raymond Hill
59d296f8a3 Merge branch 'u-RraaLL-popup-fix' of https://github.com/u-RraaLL/uBlock into patch 2022-06-03 12:23:01 -04:00
Emilio Cobos Álvarez
51983afb0e dom-inspector/element-picker: Ensure frame background is transparent.
This fixes the element picker on dark color-scheme websites on
Firefox Nightly and Chrome Canary at least, see:

  * https://bugzilla.mozilla.org/show_bug.cgi?id=1771047
  * https://github.com/w3c/csswg-drafts/issues/4772

This improves on the existing (not quite correct, was relying on a
Chromium bug) fix for Chromium browsers.
2022-06-01 21:27:38 +02:00
Dominik 'Rathann' Mierzejewski
798338e7fa use WebAssembly-1.0 compliant function names
These functions were renamed in 2018, before the WebAssembly 1.0 spec
was finalized. wabt 1.0.25 dropped support for pre-1.0 names and the
sources fail to compile with errors like:

```
$ wat2wasm lz4-block-codec.wat
lz4-block-codec.wat:71:5: error: unexpected token get_local, expected ).
    get_local $ilen
    ^^^^^^^^^
lz4-block-codec.wat:78:5: error: unexpected token get_local.
    get_local $ilen
    ^^^^^^^^^
```
2022-05-22 17:34:12 +02:00
u-RraaLL
614b8328e9 Update popup url
Fix broken functionality caused by the removal of the classic popup.
2022-05-21 09:42:08 +02:00
Raymond Hill
7b2319b7cd Make Firefox dev build auto-update 2022-05-08 11:42:41 -04:00
Raymond Hill
240435d18a Update submodules 2022-05-08 11:35:19 -04:00
Raymond Hill
12164691ba New revision for release candidate 2022-05-08 11:34:49 -04:00
Raymond Hill
816a380237 Change github.xyz to github.link 2022-05-08 11:23:50 -04:00
Raymond Hill
b76d7c6af6 Also dispatch loadend event in case of match
Related issue:
- https://github.com/AdguardTeam/Scriptlets/issues/199
2022-05-08 11:22:32 -04:00
Raymond Hill
cef36518ed Remove support deprecated "classic" popup panel
This will prevent spurious issues being opened about long
deprecated "classic" popup panel:

Related commit:
- b4911e2d7c
2022-05-08 10:58:15 -04:00
Raymond Hill
bd1e82418b Update CDN URLs: gitcdn.xyz/repo => gitcdn.link/cdn 2022-05-02 12:42:20 -04:00
Raymond Hill
010ecba39c Make Firefox dev build auto-update 2022-04-28 11:12:14 -04:00
Raymond Hill
9486efe886 Import translation work from https://crowdin.com/project/ublock 2022-04-28 11:00:36 -04:00
Raymond Hill
2cec221bac New revision for dev build 2022-04-28 10:57:29 -04:00
Raymond Hill
12e37aae54 Prevent CSS transform on element picker layer
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2098
2022-04-28 09:55:52 -04:00
Raymond Hill
792ef1186d Update content URLs for List-KR 2022-04-25 13:52:11 -04:00
Raymond Hill
574a4e6263 Cache extracted compiled filter blocks in reverse lookup code
To avoid repeatedly extracting the blocks on subsequent lookups.
2022-04-25 12:26:59 -04:00
Raymond Hill
ed0f7ae3ce Replace Youslist with List-KR
As per internal discussion with volunteer filter list maintainers.
2022-04-25 12:06:37 -04:00
Raymond Hill
c712c4fe95 Make Firefox dev build auto-update 2022-04-25 10:06:48 -04:00
Raymond Hill
8c89804cbf New revision for dev build 2022-04-25 09:52:55 -04:00
Raymond Hill
83d028ac7d Report specific filter before generic one
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2092

Regression from:
- 72bb89495b
2022-04-25 09:49:31 -04:00
Raymond Hill
3af9cd2b71 Add CDN URLs to NLD list
Related discussion:
- https://github.com/uBlockOrigin/uAssets/issues/11204#issuecomment-1104098368
2022-04-20 12:42:49 -04:00
Raymond Hill
fdefe638ff Make Firefox dev build auto-update 2022-04-15 11:22:24 -04:00
Raymond Hill
e7cc3d39b3 New revision for dev build 2022-04-15 11:16:22 -04:00
Raymond Hill
862d84f279 Import translation work from https://crowdin.com/project/ublock 2022-04-15 11:15:16 -04:00
Raymond Hill
647431d9f1 Log excepted scriptlets unconditionally
Regression from:
- efe2e0c78a
2022-04-15 11:06:29 -04:00
Raymond Hill
09666fd6d2 Update NLD content URL as requested
Related feedback:
- https://github.com/uBlockOrigin/uAssets/issues/11204#issuecomment-1099192585
2022-04-14 10:29:40 -04:00
Raymond Hill
1091c204b6 Add IndianList as regional list
As discussed with contributors.
2022-04-09 10:08:13 -04:00
Raymond Hill
7abe208390 Make Firefox dev build auto-update 2022-04-07 11:52:38 -04:00
Raymond Hill
5b5e7a9d8b new revision for dev build 2022-04-07 11:47:02 -04:00
Raymond Hill
93125a466a Better highlight bad hostnames in static extended filters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2080
2022-04-07 11:44:07 -04:00
Raymond Hill
a1788e64bc Need local URL to enabled-by-default quick-fixes list
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2022
2022-04-06 12:46:17 -04:00
Raymond Hill
22cd8c02e1 Prevent CSS filter being applied on element picker
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2075
2022-04-04 09:17:28 -04:00
Raymond Hill
596db8a363 Make Firefox dev build auto-update 2022-04-03 13:21:52 -04:00
Raymond Hill
440bcedb7e New revision for dev build 2022-04-03 13:15:35 -04:00
Raymond Hill
26d83461af New revision for dev build 2022-04-03 13:14:53 -04:00
Raymond Hill
1423330703 Avoid using Element.classList in DOM surveyor
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2076
2022-04-03 13:13:20 -04:00
Raymond Hill
3d6aead585 Make Firefox dev build auto-update 2022-03-31 12:07:56 -04:00
Raymond Hill
60a055afac New revision for dev build 2022-03-31 11:52:49 -04:00
Raymond Hill
dd5a93d477 Fix scriptlets not being reported in logger (Firefox)
Regression from:
- efe2e0c78a

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2072
2022-03-31 11:50:45 -04:00
Raymond Hill
879e721338 Make Firefox dev build auto-update 2022-03-31 11:17:43 -04:00
Raymond Hill
339d1c6a42 New revision for dev build 2022-03-31 11:01:18 -04:00
Raymond Hill
5dcf6ecd41 Fix misaligned icon in logger 2022-03-31 10:59:31 -04:00
Raymond Hill
efe2e0c78a Improve logger accuracy re. reported injected scriptlet
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2072
2022-03-31 10:50:49 -04:00
Raymond Hill
a81d90f97e Make Firefox dev build auto-update 2022-03-30 12:37:31 -04:00
Raymond Hill
2918795a9f New revision for dev build 2022-03-30 12:30:32 -04:00
Raymond Hill
78a15b648f Do not block root document at launch in Chromium-based browsers
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2063
2022-03-30 12:15:44 -04:00
Raymond Hill
0c7318d6f7 Update submodules 2022-03-30 10:03:28 -04:00
Raymond Hill
b5843c4c07 Import translation work from https://crowdin.com/project/ublock 2022-03-30 09:52:05 -04:00
Raymond Hill
cb4aec6583 Update submodules 2022-03-30 09:50:22 -04:00
Raymond Hill
a2c7b99e3e New revision for stable release 2022-03-30 09:49:10 -04:00
Raymond Hill
38b7181687 Make Firefox dev build auto-update 2022-03-29 10:02:00 -04:00
Raymond Hill
7901bc89d8 New revision for release candidate 2022-03-29 09:51:55 -04:00
Raymond Hill
0d6a459b60 Discard duplicate lines when merging imported directives
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/tqwl4s/import_of_the_reliable_sites/
2022-03-29 09:49:17 -04:00
Raymond Hill
ecfe47a1ef Make Firefox dev build auto-update 2022-03-28 12:22:15 -04:00
Raymond Hill
1272edff16 New revision for release candidate 2022-03-28 12:12:41 -04:00
Raymond Hill
3391435f75 Handle picture > source elements
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2069
2022-03-28 12:11:18 -04:00
Raymond Hill
ab6a59daf8 Make Firefox dev build auto-update 2022-03-25 09:52:46 -04:00
Raymond Hill
699832e296 Import translation work from https://crowdin.com/project/ublock 2022-03-25 09:43:57 -04:00
Raymond Hill
23b328f0ff New revision for release candidate 2022-03-25 09:42:00 -04:00
Raymond Hill
9d672fd3ed Revert faulty lines in 6fcc278c59
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2066
2022-03-25 09:37:30 -04:00
Raymond Hill
c955c2b974 Actually, prefer uAssetsCDN over uAssets for mirrors 2022-03-24 14:08:14 -04:00
Raymond Hill
97a930100d Make Firefox dev build auto-update 2022-03-24 14:03:23 -04:00
Raymond Hill
a353d7eae8 New revision for release candidate 2022-03-24 13:52:41 -04:00
Raymond Hill
18bc4dd8b8 Lower allowed minimum Expires directive to "12 hours" (from "1 day") 2022-03-24 13:23:24 -04:00
Raymond Hill
0bfa41ceb9 Update CDN links to gh-pages repo 2022-03-24 12:58:54 -04:00
Raymond Hill
070706c7ea Raise opacity of void rows in logger
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2064
2022-03-23 14:30:28 -04:00
Raymond Hill
3c52e75863 Set reference list URL to deployed gh-pages 2022-03-23 12:08:28 -04:00
Raymond Hill
8c520d2df8 Make Firefox dev build auto-update 2022-03-22 14:12:10 -04:00
Raymond Hill
86d5445b14 New revision for dev build 2022-03-22 13:59:46 -04:00
Raymond Hill
5523b345c7 Fix epicker's transparency issue with dark theme
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1963#discussioncomment-2120210

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2062
2022-03-22 13:57:37 -04:00
Raymond Hill
b932e01910 Deploy assets.json to GitHub/Cloudflare CDNs 2022-03-21 09:20:02 -04:00
Raymond Hill
6a1f87788f Remove raw.githubusercontent.com as CDN 2022-03-21 08:29:01 -04:00
Raymond Hill
f26d69c581 Use dedicated repo for CDN purpose
Having low commit rate ensures build quota of CDNs are
respected.
2022-03-21 08:11:38 -04:00
Raymond Hill
678dd89ca7 Add Cloudflare Pages as CDN provider for uBO's own filter lists 2022-03-20 08:17:17 -04:00
Raymond Hill
5942f43d80 Make Firefox dev build auto-update 2022-03-19 12:51:55 -04:00
Raymond Hill
4faba3d94b Import translation work from https://crowdin.com/project/ublock 2022-03-19 12:46:44 -04:00
Raymond Hill
35866be224 New revision for dev build 2022-03-19 12:44:51 -04:00
Raymond Hill
b4774c4b98 Make browser use dark theme built-in widget in dark theme
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1963#discussioncomment-2120312
2022-03-19 12:43:26 -04:00
Raymond Hill
34cca8349b Do not always convert removed stock list into imported list
If the removed stock list is labelled a "bad list", do not
convert it into an imported list.

This will allow to seamlessly merge resource-abuse stock list
with privacy stock list when 1.42.0 is widespread.
2022-03-18 13:27:07 -04:00
Raymond Hill
53a0d1ec5f Add ublockorigin.github.io as CDN for uBO's own filter lists 2022-03-18 11:11:44 -04:00
Raymond Hill
28d5abfaf9 Make Firefox dev build auto-update 2022-03-17 14:17:40 -04:00
Raymond Hill
7ca4c84856 New revision for dev build 2022-03-17 14:05:13 -04:00
Raymond Hill
6fcc278c59 Support converting an existing list to enabled-by-default
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2056
2022-03-17 14:04:09 -04:00
Raymond Hill
4c2bfbe543 Enable quick-fixes by default 2022-03-17 08:04:58 -04:00
Raymond Hill
2dbbe0ff5c Fine tune update-after values 2022-03-16 14:04:22 -04:00
Raymond Hill
a4376e9500 Add "quick fixes" list 2022-03-16 08:10:57 -04:00
Raymond Hill
c71c42650e New npm package version 2022-03-14 12:09:00 -04:00
Ming Di Leom
b4fe22c7b6 fix(assets): remove netlify from urlhaus-filter 2022-03-14 09:33:43 -04:00
myersg86
6573a59a59 Fix typos in README, docs, and JS comments 2022-03-13 08:56:26 -04:00
Raymond Hill
9dfe21f12f Make Firefox dev build auto-update 2022-03-11 17:36:57 -05:00
Raymond Hill
0613052415 Import translation work from https://crowdin.com/project/ublock 2022-03-11 17:30:26 -05:00
Raymond Hill
46a4148b52 New revision for dev build 2022-03-11 17:27:00 -05:00
Raymond Hill
bc4f392a47 Use a better value to mark end of sequence of tokens
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2041

The value 0xFFFFFFFF will be used instead of 0 to mark the end of
a sequence of tokens, as the value 0xFFFFFFFF can't happen as a
result of computing a token hash, since the four most significant
bits are always 0 in a computed token hash.
2022-03-11 17:22:12 -05:00
Raymond Hill
858fdaced3 Remove MVPS from stock lists due to inactivity
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2032
2022-03-07 07:06:47 -05:00
Raymond Hill
25fe95eb89 Fix unthemed dark mode style
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1963#discussioncomment-2303987
2022-03-06 12:34:06 -05:00
Raymond Hill
15624e5deb Make Firefox dev build auto-update 2022-02-27 08:57:34 -05:00
Raymond Hill
4e3aa73808 New revision for dev build 2022-02-27 08:33:04 -05:00
Raymond Hill
8648c00581 Import translation work from https://crowdin.com/project/ublock 2022-02-27 08:30:36 -05:00
Raymond Hill
7eb19c3a69 Drop more irrelevant entries from troubleshooting information 2022-02-23 15:41:03 -05:00
Raymond Hill
c78178055a Fix comment 2022-02-23 08:40:07 -05:00
Raymond Hill
b9753e42d9 Make Firefox dev build auto-update 2022-02-22 19:27:18 -05:00
Raymond Hill
7a9b0780c1 New revision for dev build 2022-02-22 19:19:33 -05:00
Raymond Hill
5619840066 Fix previous commit regarding PSL
The library itself was fixed properly but failed to
properly transcribe the fix manually.

Related commit:
- 38855b1ff6
2022-02-22 19:16:16 -05:00
Raymond Hill
f55361303e Make Firefox dev build auto-update 2022-02-22 19:12:04 -05:00
Raymond Hill
be74e9d655 New revision for dev build 2022-02-22 19:02:21 -05:00
Raymond Hill
38855b1ff6 Fix testing a 8-bit integer instead of a 32-bit integer in PSL library
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2002

The code was testing only the LSB of a 32-bit integer to detect
whether the current rule was a wildcard (`*`), while it had to
compare against the whole 32-bit integer.

The breakage occurred when the LSB of an offset to the character
buffer happened to match the ASCII code of `*` (42, 0x2A).

(An offset is used when a label is longer than 4 characters)
2022-02-22 18:53:50 -05:00
Raymond Hill
03b5ad1df2 Make Firefox dev build auto-update 2022-02-22 09:01:59 -05:00
Raymond Hill
76c545d366 New revision for dev build 2022-02-22 08:48:52 -05:00
Raymond Hill
75424b77d5 Update translation strings
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2000
2022-02-22 08:47:33 -05:00
Raymond Hill
ad1800fbca Add command to toggle cosmetic filtering
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2000
2022-02-22 08:44:09 -05:00
Raymond Hill
db5d598b59 Make Firefox dev build auto-update 2022-02-19 09:17:11 -05:00
Raymond Hill
a21b0c08e5 Import translation work from https://crowdin.com/project/ublock 2022-02-19 09:06:07 -05:00
Raymond Hill
0cc28e7ac4 New revision for dev build 2022-02-19 09:03:34 -05:00
Raymond Hill
26048a11bc Merge branch 'letsblockit-subscriber' of https://github.com/xvello/uBlock 2022-02-19 08:57:47 -05:00
Raymond Hill
92bca7ea6e Tone down highlighted ribbon in popup panel 2022-02-18 07:30:34 -05:00
Raymond Hill
60072e7996 Minor code review
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1992
2022-02-18 06:52:34 -05:00
Raymond Hill
bba4732c6b Make Firefox dev build auto-update 2022-02-17 18:17:06 -05:00
Raymond Hill
053a7c808d Update submodules 2022-02-17 18:07:04 -05:00
Raymond Hill
493346bfed New revision for dev build 2022-02-17 18:06:51 -05:00
Raymond Hill
e1e2ba3d5d Use unspoofable Messenger.origin to determine privilege level of ports
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1992
2022-02-17 18:05:01 -05:00
Raymond Hill
3154ed1bac Remove test for whether Chromium version is less than 66
The test is no longer needed given that the minimum supported
version is Chromium 66.
2022-02-17 09:07:56 -05:00
Raymond Hill
ff52919cfc Remove extraneous cursor style in picker 2022-02-17 09:06:59 -05:00
Raymond Hill
b2a5d28c96 Add support to right-click subscribe to subscribe.adblockplus.org/?location=...
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/ser2t7/new_feature_for_ublockorigin_clean_up_the_search/hx0ur81/

`
2022-02-16 15:17:22 -05:00
Raymond Hill
f6ed268f45 Make Firefox dev build auto-update 2022-02-16 15:07:26 -05:00
Raymond Hill
62af9709c2 New revision for dev build 2022-02-16 15:01:20 -05:00
Raymond Hill
5178b91fa1 Revert "Prevent highly generic cosmetic filters from affecting html/body elements"
This reverts commit 7c8aec250f.

This will be brought back in a future dev cycle. Potentially
related issues:

- https://github.com/uBlockOrigin/uBlock-issues/issues/1978
- https://github.com/uBlockOrigin/uBlock-issues/issues/1983
2022-02-16 12:21:10 -05:00
Raymond Hill
9726e899e5 Make Firefox dev build auto-update 2022-02-16 11:27:14 -05:00
Raymond Hill
d42dcde01e Import translation work from https://crowdin.com/project/ublock 2022-02-16 11:21:51 -05:00
Raymond Hill
6c74d9b7eb New revision for dev build 2022-02-16 11:18:41 -05:00
Xavier Vello
c8d1834018 Add letsblock.it as valid location for subscription links 2022-02-16 16:28:13 +01:00
Raymond Hill
0676cf66b2 Fine tune color for "keyword" style
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1963#discussioncomment-2173524
2022-02-16 10:26:26 -05:00
Raymond Hill
784ebb0905 Make Firefox dev build auto-update 2022-02-13 10:12:28 -05:00
Raymond Hill
0b4742b346 New revision for dev build 2022-02-13 09:55:33 -05:00
Raymond Hill
ce3ac010b5 Fix improper handling of match-all removeparam
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1978#issuecomment-1038143619
2022-02-13 09:41:54 -05:00
Raymond Hill
2933016d4b Rework behavior of "Suspend network activity until ..."
The setting will default to the natural capability of the browser:

- Checked for Firefox
- Unchecked for Chromium-based browsers

For Chromium-based browser, if checked, network requests will be
redirected to an empty resources instead of blocking the
connection.

Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1973
- https://www.reddit.com/r/uBlockOrigin/comments/squo8n/latest_update_blocks_network_connections_at/
2022-02-13 09:24:57 -05:00
Raymond Hill
3ea92f87a3 Prevent unset minimal width for popup panel
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1972
2022-02-13 08:25:23 -05:00
Raymond Hill
585ad8f9e6 Make Firefox dev build auto-update 2022-02-11 15:31:42 -05:00
Raymond Hill
5f77fb488d New revision for dev build 2022-02-11 15:22:44 -05:00
Raymond Hill
3e2f779373 Fix un-themed scroll lock in _My rules_
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1963#discussioncomment-2159810
2022-02-11 15:14:31 -05:00
Raymond Hill
2177d8163e Fix regression breaking :remove()
Related commit/feedback:
- 152120bd9e (commitcomment-66516398)
2022-02-11 15:13:25 -05:00
Raymond Hill
301b963eff Make Firefox dev build auto-update 2022-02-11 12:52:09 -05:00
Raymond Hill
678ea59d12 Import translation work from https://crowdin.com/project/ublock 2022-02-11 12:42:47 -05:00
Raymond Hill
152120bd9e Introduce experimental procedural cosmetic operator :others()
The purpose of this new procedural operator is to target
all elements _outside_ than the currently selected set of
elements.

For any element feeding into `others()`, the resultset
of the `others()` operator will include everything else
except:

- the descendants of a subject element
- the ancestors of a subject element

The resultset will contains the siblings of a subject
element _except_ when those siblings are either a
descendant or ancestor of another subject element.

Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/slyjzp/

Though this operator is unlikely to be used in default lists,
it opens the door to create specialized filter lists which
purpose is some sort of "reader mode", where everything
_else_ than a selected set of elements are hidden from view.

Examples of usage:

    twitter.com##:matches-path(/^/home/) [data-testid="primaryColumn"]:others()
    nature.com##:matches-path(/^/articles//) :is(.c-breadcrumbs,.c-article-main-column):others()

The status is currently considered experimental and support
might be removed in the future if it turns out there is no
sufficient usage or if unforeseen difficult issues arise
implementation-wise.
2022-02-11 12:28:15 -05:00
Raymond Hill
9a5acbbfcd Fix un-themed buttons in logger
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1963#discussioncomment-2158199
2022-02-11 11:08:48 -05:00
Raymond Hill
c42e634c8d New revision for dev build 2022-02-11 09:25:51 -05:00
Raymond Hill
35a9e2b06c Import translation work from https://crowdin.com/project/ublock 2022-02-10 07:30:26 -05:00
Raymond Hill
01e775f87d New revision for stable release 2022-02-10 07:27:41 -05:00
Raymond Hill
c776ac72c8 Fine tune padding as suggested
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1970
2022-02-09 17:14:05 -05:00
Raymond Hill
ad7eb5d1da Provide exact link for the origin of the library
As per AMO review team request.

Related documentation:
- https://extensionworkshop.com/documentation/publish/third-party-library-usage/
2022-02-09 13:11:38 -05:00
Raymond Hill
3b0b240b9b Add information about exact origin of the library as per AMO review request 2022-02-09 12:57:37 -05:00
Raymond Hill
53c98c27cf Use theme-related shade of red for DOM inspector
Candidate for revision to stable release.
2022-02-09 10:26:25 -05:00
Raymond Hill
ddb570baed Make Firefox dev build auto-update 2022-02-09 09:31:39 -05:00
Raymond Hill
9ce1f38736 Import translation work from https://crowdin.com/project/ublock 2022-02-09 09:07:21 -05:00
Raymond Hill
9d58f19037 New revision for dev build 2022-02-09 09:05:04 -05:00
Raymond Hill
934b57019c Fix bad font size in DOM inspector
Candidate for a revision for current stable release.
2022-02-09 08:36:44 -05:00
Raymond Hill
80f58a6357 Fix visually glitchy Create button in element picker
The Create button was being unduly enabled for a fraction of
second while editing the content of the filter text.

This commit is candidate for a revision to current stable
release.
2022-02-09 07:37:40 -05:00
Raymond Hill
428e4b8777 New revision for stable release 2022-02-08 07:44:43 -05:00
Raymond Hill
b8db519268 Import translation work from https://crowdin.com/project/ublock 2022-02-08 07:43:45 -05:00
Raymond Hill
4e5112a0fd Fine tune hue for syntax highlighting 2022-02-07 17:23:51 -05:00
Raymond Hill
7192430f56 Max lightness to 40 for syntax coloring in light theme
Except when the color is used for emphasis.
2022-02-07 11:17:12 -05:00
Raymond Hill
ba5125853f More CSS fine tuning after more testing 2022-02-07 10:42:06 -05:00
Raymond Hill
5af44a31ef Update submodules 2022-02-07 09:34:11 -05:00
Raymond Hill
bdc13b47f9 Make Firefox dev build auto-update 2022-02-07 07:41:42 -05:00
Raymond Hill
b0ecb4f8b8 Import translation work from https://crowdin.com/project/ublock 2022-02-07 07:30:36 -05:00
Raymond Hill
f45c391deb New revision for release candidate 2022-02-07 07:27:48 -05:00
Raymond Hill
ef25f30b30 Squashed commit of the following:
commit 34a290bdd62013591b17efbd2320698b95925c00
Author: Yuki2718 <58900598+Yuki2718@users.noreply.github.com>
Date:   Mon Feb 7 19:14:02 2022 +0900

    update last commit

commit f34ffbcc3d78bc98ee43b015f0ad0dae9d99720e
Author: Yuki2718 <58900598+Yuki2718@users.noreply.github.com>
Date:   Mon Feb 7 19:05:17 2022 +0900

    Improve and rename canrunads.js

Related issue:
- https://github.com/AdguardTeam/Scriptlets/issues/190

Related commit:
- e8bfc9a031
2022-02-07 07:05:44 -05:00
Raymond Hill
128ec3a7e4 More fine tuning to bring element picker in line with theme 2022-02-06 18:58:29 -05:00
Raymond Hill
32207c1219 Fix overly small font size in element picker 2022-02-06 18:50:16 -05:00
Raymond Hill
47d211ac5c Improve legibility of selection versus background 2022-02-06 14:25:57 -05:00
Raymond Hill
0e5d5fa9f0 Don't overuse primary color in element picker 2022-02-06 13:25:14 -05:00
Raymond Hill
76a596bdab Fix un-schemed rendering of error condition in element picker 2022-02-06 10:27:13 -05:00
Raymond Hill
8b49a46807 Make Firefox dev build auto-update 2022-02-06 09:06:56 -05:00
Raymond Hill
e294d89216 New revision for release candidate 2022-02-06 09:02:52 -05:00
Raymond Hill
a2d83afe66 Further narrow when unconditionally calling webRTCIPHandlingPolicy.clear()
The enabled cached state probably exists in the browser only
when the setting was originally enabled -- so we need to clear
it only in such case.
2022-02-06 09:00:25 -05:00
Raymond Hill
19681f510d Make Firefox dev build auto-update 2022-02-06 08:41:50 -05:00
Raymond Hill
abbeee0d3c Import translation work from https://crowdin.com/project/ublock 2022-02-06 08:32:01 -05:00
Raymond Hill
959d18d665 Use root color when emphasis is used
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1963#discussioncomment-2118460
2022-02-06 08:12:52 -05:00
Raymond Hill
480a771523 New revision for release candidate 2022-02-05 17:19:33 -05:00
Raymond Hill
ed1b5e2053 Fix untheme parts in element picker widget
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1963#discussioncomment-2117965
2022-02-05 17:17:16 -05:00
Raymond Hill
6eb9b0998e Import translation work from https://crowdin.com/project/ublock 2022-02-05 16:57:08 -05:00
Raymond Hill
b166edb904 Import translation change after updating messages.json 2022-02-05 16:56:13 -05:00
Raymond Hill
e44768f5d3 Ensure click2load.html widget is dark-theme aware
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1963#discussioncomment-2117460
2022-02-05 13:34:48 -05:00
Raymond Hill
00b257caa7 Unconditionally call webRTCIPHandlingPolicy.clear() at launch
On Chromium-based browsers only.

Related issue/feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1928
- https://www.reddit.com/r/uBlockOrigin/comments/sl7p74/
2022-02-05 12:04:08 -05:00
Raymond Hill
8080048848 Remove usage of period in short description
From what I gather looking at Firefox for Android, a
period is used in a sentence only when there were
prior usage of punctuation in the descripton, i.e.
a comma, or a a period in a previous sentence. Single
standalone sentence should not have a trailing period.
2022-02-05 09:59:31 -05:00
Raymond Hill
1de4023613 Make Firefox dev build auto-update 2022-02-05 08:11:24 -05:00
Raymond Hill
6fdeb8c5b7 New revision for release candidate 2022-02-05 07:58:50 -05:00
Raymond Hill
ebbda6c29c Import translation work from https://crowdin.com/project/ublock 2022-02-05 07:58:20 -05:00
Raymond Hill
ce0bdb4369 More CSS fine tuning
Additionally, have a list of preset colors for the color
picker (unlike Firefox, Chromium's built-in color picker
does not have a list of preset colors by default).
2022-02-05 07:42:17 -05:00
Raymond Hill
ed25ed6a6c Fix selection color in codemirror editor
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1963#discussioncomment-2113694
2022-02-04 18:31:00 -05:00
Raymond Hill
35490439b9 Fix cname-related ink in logger
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1963#discussioncomment-2112321
2022-02-04 12:41:50 -05:00
Raymond Hill
dbf4ed7f4b Fix grab area of element picker to accomodate dark theme 2022-02-04 09:25:50 -05:00
Raymond Hill
020dad8e58 Fix case of unthemed background in logger
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1963#discussioncomment-2110873
2022-02-04 08:24:24 -05:00
Raymond Hill
5841d74540 Make Firefox dev build auto-update 2022-02-04 08:01:38 -05:00
Raymond Hill
e434142d52 Import translation work from https://crowdin.com/project/ublock 2022-02-04 07:41:20 -05:00
Raymond Hill
36ff777306 New revision for release candidate 2022-02-04 07:35:26 -05:00
Raymond Hill
1e81e2f751 More fine-tuning of default theme
Bring default color theme more in line with previous
versions.

Additionally, use `button` tags for navigation bar tabs,
as per MDN guidelines:

https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#interactive_content
2022-02-03 16:24:48 -05:00
Raymond Hill
6152a1be51 Make Firefox dev build auto-update 2022-02-03 10:16:59 -05:00
Raymond Hill
9d28d13e93 New revision for dev build 2022-02-03 10:03:30 -05:00
Raymond Hill
c65f896a2a Propagate upward accent color stylesheet only when it changes 2022-02-03 09:34:33 -05:00
Raymond Hill
3b350cc844 Limit saturation of accent color for button surface 2022-02-03 08:56:08 -05:00
Raymond Hill
efec9aa69e Fix color of cnamed entries in overview pane
Additionally, remove pointless (hsluv -> rgb -> hsluv) conversion
when computing accent color-based stylsheet.
2022-02-03 07:12:15 -05:00
Raymond Hill
7cec6d7b20 Make Firefox dev build auto-update 2022-02-03 06:31:35 -05:00
Raymond Hill
39d3885b78 New revision for dev build 2022-02-03 06:26:36 -05:00
Raymond Hill
795bf07fd7 Import translation work from https://crowdin.com/project/ublock 2022-02-03 06:20:12 -05:00
Raymond Hill
3e3d1e26be Store non-normalized accent color
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1957

Normalize color only at stylesheet build time, and cache
generated stylesheet for future reuse.
2022-02-03 06:14:04 -05:00
Raymond Hill
0e6d6e587b Update submodules 2022-02-02 18:43:39 -05:00
Raymond Hill
c38682221c Reduce background color flash through usage of prefers-color-scheme
uBO will use the information from prefers-color-scheme to reduce
likelihood of background color flash. However this works only for
when prefers-color-scheme is properly set by the browser, and only
when uBO's theme selection is "auto", or when it happens to
match that of prefers-color-scheme.

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1284
2022-02-02 18:38:28 -05:00
Raymond Hill
c61fe6a72b Fix typo in code re. preferred theme colors 2022-02-02 17:00:38 -05:00
Raymond Hill
e94f0ddcec Make Firefox dev build auto-update 2022-02-02 16:36:21 -05:00
Raymond Hill
8c41c53418 New revision for dev build 2022-02-02 16:31:50 -05:00
q1800
88d465fdd0 Correct GitHub link for HSLuv author (#3863)
I believe this was an error. Just submitted PR to correct error.
2022-02-02 16:30:14 -05:00
Raymond Hill
87224b4c85 Make Firefox dev build auto-update 2022-02-02 15:51:53 -05:00
Raymond Hill
2c359c668b New revision for dev build 2022-02-02 15:46:14 -05:00
Raymond Hill
ecb73d2ff5 Bring dark theme out of experimental status
Too many changes to list here, essentially there is now a
user interface setting to enable/disable dark theme, and
I've rearranged a bit the Settings pane as a result and
also altered other visuals in various places.

There are places which I know have not been thoroughly
tested (i.e. logger inspector).

Will fine-tune as per feedback.

Issues with the classic popup panel will not be addressed,
and if feedback is that it has become unusuable, it will be
outright removed.
2022-02-02 15:40:47 -05:00
Raymond Hill
2bc9c8aa38 Added i18n strings related to theme stuff 2022-02-02 15:00:29 -05:00
Raymond Hill
14c8775ce3 Import translation work from https://crowdin.com/project/ublock 2022-02-02 14:53:38 -05:00
Raymond Hill
7b5e5b28c2 Import translation work from https://crowdin.com/project/ublock 2022-02-01 10:38:27 -05:00
q1800
95f5546672 Update README.md
Updated several links to include new URLs for web pages that have moved, that have altered their exact URL path, updated the publisher's name and URL of the Microsoft Edge version, updated remaining http URLs to reflect https, updated different versions of URLs to match for better consistency, etc...
2022-01-31 21:19:47 -06:00
Raymond Hill
39e1adfc2d Mark revert/commit buttons as disabled by default
Related feedback:
- 4ee8a5948d (commitcomment-65716257)
2022-01-31 16:14:56 -05:00
Raymond Hill
e64dacebce Add ability to see troubleshooting info in report page
Additionally, further fine-tune colors.
2022-01-31 13:28:43 -05:00
Raymond Hill
698dc4a02a Make Firefox dev build auto-update 2022-01-31 10:02:12 -05:00
Raymond Hill
7b29c7ef3e Import translation work from https://crowdin.com/project/ublock 2022-01-31 09:53:04 -05:00
Raymond Hill
ed9b722fb0 New revision for dev build 2022-01-31 09:17:23 -05:00
Raymond Hill
e110cce92a Fine tune rule colors
Use explicit color values, as alpha-merging does not guarantee
uniform lightness.
2022-01-31 09:10:20 -05:00
Raymond Hill
819279d99d More fine-tuning following CSS changes 2022-01-30 20:13:31 -05:00
Raymond Hill
dc9027ae7a Make Firefox dev build auto-update 2022-01-30 19:46:34 -05:00
Raymond Hill
2c1d004e79 New revision for dev build 2022-01-30 19:40:37 -05:00
Raymond Hill
f8c6be868c Fine tune lightness (Luv) of rule colors in light theme
Trying to use same Luv for both light and dark theme does not
really work -- best to have each them have their own Luv for
rule colors.
2022-01-30 19:39:18 -05:00
Raymond Hill
c5c4c955df Make Firefox dev build auto-update 2022-01-30 18:56:43 -05:00
Raymond Hill
f72ae4cad0 New revision for dev build 2022-01-30 18:39:24 -05:00
Raymond Hill
4ee8a5948d Work toward bringing dark theme closer to a stable release
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/401
2022-01-30 18:35:26 -05:00
Raymond Hill
2a91ecd6e1 Make Firefox dev build auto-update 2022-01-29 09:02:04 -05:00
Raymond Hill
5829fb8c6c New revision for dev build 2022-01-29 08:42:34 -05:00
Raymond Hill
e8bfc9a031 Add canrunads.js as redirectable resource
Related discussion:
- 036e13101e (commitcomment-65068100)
2022-01-29 08:40:47 -05:00
Raymond Hill
b4911e2d7c Raise minimum versions of browsers
For the following reasons:

- Support for CSS `gap`, so as to remove the need to
  fall back onto classic popup panel, and thus making
  it possible to fully remove long-ago deprecated
  classic panel (announced in 1.27.0)[1]:
  https://developer.mozilla.org/en-US/docs/Web/CSS/gap

- Support for dynamic import:
  https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import

Firefox's minimum version is raised to 68 because it's
the oldest ESR version supporting the features above.
From now on, minimum version of Firefox will always be
an ESR one.

---

[1] https://github.com/gorhill/uBlock/releases/tag/1.27.0
2022-01-28 12:02:56 -05:00
Raymond Hill
f98b70d1c0 Improve dealing with ambiguity in regex-based-looking network filters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1932

Reported in point 3 under "Actual behavior".
2022-01-28 11:18:40 -05:00
Raymond Hill
a5ca565e9c Add hashComponents() to FingerprintJS v3 shim
Related feedback:
- f4824bd0d9 (commitcomment-64534458)
2022-01-28 09:26:57 -05:00
Raymond Hill
a1608e9116 Make Firefox dev build auto-update 2022-01-24 12:36:45 -05:00
Raymond Hill
13c5899932 New revision for dev build 2022-01-24 12:27:54 -05:00
Raymond Hill
fba680f9ab Improve google-analytics shim
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/11456
2022-01-24 12:26:24 -05:00
Raymond Hill
250cf96aae Fix regression causing regex-based filters to be case sensitive
Related feedback:
- https://github.com/AdguardTeam/AdguardFilters/issues/88067#issuecomment-1019518277

Regression commit:
- 725e6931f5
2022-01-23 12:32:11 -05:00
Raymond Hill
f4824bd0d9 Add shim for FingerprintJS (aka Fingerprint v3)
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/11408
2022-01-21 08:38:48 -05:00
Raymond Hill
dd7449bb09 Make Firefox dev build auto-update 2022-01-19 09:27:11 -05:00
Raymond Hill
303b0e7716 New revision for dev build 2022-01-19 09:18:06 -05:00
Raymond Hill
3537e9d3c0 Disable the suspending of network requests when installing the extension
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/s7c9go/page_automatically_refreshes_after_installation/
2022-01-19 09:16:01 -05:00
Raymond Hill
d53f2362b1 Fix regression in reporting of header= option in logger
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1932

Related commit:
- 725e6931f5
2022-01-18 10:47:39 -05:00
Raymond Hill
61966254cd Use EasyDutch as the default filter lists for NLD
Related discussion:
- https://github.com/uBlockOrigin/uAssets/issues/11204#issuecomment-1012000389
2022-01-15 14:38:10 -05:00
Raymond Hill
fe49f7782a Update build instructions 2022-01-15 06:53:00 -05:00
Raymond Hill
29092d8f51 Make Firefox dev build auto-update 2022-01-14 10:26:29 -05:00
Raymond Hill
1be800e483 New revision for dev build 2022-01-14 10:13:29 -05:00
Raymond Hill
de0f6a2cdd Add longest wait time when fetching from storage in support info
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1865

This may be useful to rule out that the issue is caused by the
browser API responding in unduly delayed manner.
2022-01-14 09:07:28 -05:00
Raymond Hill
9759bfef4e Fix edge case of background image filter and no cosmetic filters
Related commit:
- ebaa8a8bb2

Related feedback:
- ebaa8a8bb2 (commitcomment-63818019)
2022-01-13 11:03:21 -05:00
Raymond Hill
ebaa8a8bb2 Do not select background images as best candidate in picker
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/s2lrm0/picker_cant_select_and_block_this/
2022-01-13 09:24:04 -05:00
Raymond Hill
2b65f25dfd Add regional ALB list for Albanian sites
Related discussion:
- https://github.com/uBlockOrigin/uAssets/issues/11286#issuecomment-1011397836
2022-01-13 08:44:01 -05:00
Raymond Hill
2f0ad153dd Add clarifying comment 2022-01-12 12:55:53 -05:00
Raymond Hill
a603d69daa Make Firefox dev build auto-update 2022-01-12 10:22:04 -05:00
Raymond Hill
5e44d6fd07 Import translation work from https://crowdin.com/project/ublock 2022-01-12 10:16:58 -05:00
Raymond Hill
263d71e039 New revision for dev build 2022-01-12 10:13:15 -05:00
Raymond Hill
7c8aec250f Prevent highly generic cosmetic filters from affecting html/body elements
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1692
2022-01-12 10:11:49 -05:00
Raymond Hill
0bc0af9d8d Add test to detect case of improper deserialization
Related commit:
- 8f461072f5
2022-01-12 09:03:38 -05:00
Raymond Hill
a7ef3300fe Make Firefox dev build auto-update 2022-01-11 11:22:21 -05:00
Raymond Hill
63ecfa9d44 New revision for dev build 2022-01-11 11:16:24 -05:00
Raymond Hill
8f461072f5 Fix selfie with invalid data in some circumstances
Reported internally.

The issue involves `removeparam` filters with a regex value. When
such filter was visited before a selfie was created, this would cause
the created selfie to persist a RegExp object, which can't be
serialized. This would cause exceptions to be thrown when uBO would
be subsequently loaded with the tainted selfie, since uBO would try
to execute a plain Object as a RegExp.
2022-01-11 11:06:11 -05:00
Raymond Hill
9b22961291 Properly report user-filters in troubleshooting information
User filters are enabled by default, they should be reported
under the `listset` section, along with how many filters are
being enforced.
2022-01-11 07:55:37 -05:00
Raymond Hill
6941ec7fb0 Escape unescaped " in attribute values
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1923
2022-01-11 07:20:03 -05:00
Raymond Hill
82ad7bd4fb Remove redundant mirrors 2022-01-11 07:10:55 -05:00
Raymond Hill
eddb9ec160 Raised guessed Firefox version to 91 (latest ESR) 2022-01-09 12:41:29 -05:00
Ming Di Leom
417d6c99f9 fix(curben filters): replace deprecated mirrors
- 8c94ddba40
- 6cb2cbff6e
- e5bb1712c0
2022-01-09 09:30:46 +00:00
Raymond Hill
d1d9fab603 Make Firefox dev build auto-update 2022-01-07 09:02:17 -05:00
Raymond Hill
9ee8e7b607 Improve element picker/zapper's handling of shadow roots
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1850
2022-01-07 08:54:23 -05:00
Raymond Hill
560c81a585 Import translation work from https://crowdin.com/project/ublock 2022-01-07 08:16:10 -05:00
Raymond Hill
8374b6460b New revision for dev build 2022-01-07 08:06:03 -05:00
Raymond Hill
b565d311a4 Fix CSS sizing of click-to-load widget as suggested
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1901
2022-01-07 08:02:31 -05:00
Raymond Hill
6d1b44b42c Report only stats for eTLD+1 in troubleshooting information
Related commit:
- affdde02a9
2022-01-07 07:56:32 -05:00
Raymond Hill
affdde02a9 Add "blockedDetails" section to troubleshooting information
This will allow to find out what is specifically blocked on the
page reported as having issues, potentially saving time
when volunteers try to diagnose issues.
2022-01-07 07:32:54 -05:00
Raymond Hill
e9058370b8 Make Firefox dev build auto-update 2022-01-06 09:27:26 -05:00
Raymond Hill
3018d0269e New revision for dev build 2022-01-06 09:21:31 -05:00
Raymond Hill
d2b4d5689c Use "…" instead of "..."
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1918
2022-01-06 08:08:57 -05:00
Raymond Hill
529edbd314 Remove "ABP X Files" from stock filter lists
Related discussion:
- https://github.com/uBlockOrigin/uAssets/issues/11204
2022-01-06 08:06:02 -05:00
Raymond Hill
6e807974bc Import translation work from https://crowdin.com/project/ublock 2022-01-02 11:31:15 -05:00
Raymond Hill
6836d2b9ca Fix bad detection of unnecessary trailing |
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1916

Regression from:
- 3b7a265ee2
2022-01-02 11:13:21 -05:00
Raymond Hill
1b41bffc2c Make Firefox dev build auto-update 2022-01-01 11:21:33 -05:00
Raymond Hill
6364609ac7 Import translation work from https://crowdin.com/project/ublock 2022-01-01 11:11:58 -05:00
Raymond Hill
8f1e5082de New revision for dev build 2022-01-01 11:09:58 -05:00
Raymond Hill
d38c19cabf Improve test for presence of browser as extensions API
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1914

The issue affected only Chromium-based browsers.
2022-01-01 11:07:17 -05:00
Raymond Hill
a611c3f40a Make Firefox dev build auto-update 2021-12-31 17:41:47 -05:00
Raymond Hill
c9dbe43124 Import translation work from https://crowdin.com/project/ublock 2021-12-31 17:28:04 -05:00
Raymond Hill
b4a2bc6968 New revision for dev build 2021-12-31 17:23:04 -05:00
Raymond Hill
c8c144b663 Also test legitimacy of popup tab against last clicked link
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1912

Related commit:
- 7713597e3e

In above related commit, uBO was modified to cache the URL of the
last clicked link, and to use this cached URL to test for the
legitimacy of the newly opened tab.

The current commit add back a test against the URL of the last
clicked link to avoid false positives when navigating from within
the newly opened tab.
2021-12-31 14:18:16 -05:00
Raymond Hill
be1d2c5420 Make Firefox dev build auto-update 2021-12-30 09:46:39 -05:00
Raymond Hill
fdc5e32e3b New revision for dev build 2021-12-30 09:40:10 -05:00
Raymond Hill
925c8d5d0c Add setting to control suspension on network activity at launch
Related discussion:
- a0a9497b4a (commitcomment-62560291)

The new setting, when disabled (enabled by default), allows a user
to prevent uBO from waiting for all filter lists to be loaded
before allowing network activity at launch. The setting is enabled
by default, meaning uBO waits for all filter lists to be loaded in
memory before unsuspending network activity. Some users may find
this behavior undesirable, hence the new setting.

This gives the option to potentially speed up page load at launch,
at the cost of potentially not properly filtering network requests
as per filter lists/rules.

For platforms not supporting the suspension of network activity,
the setting will merely prevent whatever mechanism exists on the
platform to mitigate improper filtering of network requests at
launch. For example, in Chromium-based browsers, unchecking the
new setting will prevent the browser from re-loading tabs for
which there was network activity while in "suspended" state at
launch.
2021-12-30 09:24:38 -05:00
Raymond Hill
0c03244759 Add string related to network activity suspension at launch
Related discussion:
- a0a9497b4a (commitcomment-62560291)
2021-12-30 09:23:28 -05:00
Raymond Hill
81c38ea6ff Import translation work from https://crowdin.com/project/ublock 2021-12-30 09:13:52 -05:00
Raymond Hill
fd01f6f30a Make Firefox dev build auto-update 2021-12-27 19:21:50 -05:00
Raymond Hill
eab2e03f2b New revision for dev build 2021-12-27 19:12:29 -05:00
Raymond Hill
dd61e057ab New revision for dev build 2021-12-27 19:10:52 -05:00
Raymond Hill
869c06d4ee Fix broken suspendTabsUntilReady for Chromium-based browsers
Related feedback:
- a0a9497b4a (commitcomment-62560291)

Regression from following commit:
- 80b758e18d
2021-12-27 19:08:17 -05:00
Raymond Hill
57e660e39b Make FilterJustOrigin derive from FilterOriginHitSet
By reusing FilterOriginHitSet for FilterJustOrigin, this
remove the need to special-case entity-based just-origin
filters.
2021-12-26 10:46:59 -05:00
Raymond Hill
7dc5997aa5 Update submodules 2021-12-26 07:31:39 -05:00
Raymond Hill
f1972c2076 New revision for stable release 2021-12-26 07:31:02 -05:00
Raymond Hill
0992a5b821 Add test for https://github.com/gorhill/uBlock/commit/d66cd1116c0e 2021-12-25 09:10:48 -05:00
Raymond Hill
b54026430e Make Firefox dev build auto-update 2021-12-25 08:22:11 -05:00
Raymond Hill
a036f52217 Import translation work from https://crowdin.com/project/ublock 2021-12-25 08:11:17 -05:00
Raymond Hill
952df615c1 New revision for dev build 2021-12-25 08:07:00 -05:00
Raymond Hill
0493bcf4c0 Update submodules 2021-12-25 08:00:51 -05:00
Raymond Hill
b44d610ffa Update submodules 2021-12-25 07:59:01 -05:00
Raymond Hill
348ca49494 Fix argument value to boolean
Related feedback:
- a0a9497b4a (r62465396)
2021-12-25 07:55:30 -05:00
Raymond Hill
d66cd1116c Fix not properly resetting needle buffer in createTrieFromStoredDomainOpt()
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1902

The cached needle didn't match the one stored in the
needle buffer when resetting the cached needle without
resetting the needle buffer.
2021-12-25 07:51:12 -05:00
gwarser
7998eada5c Update link to performance analysis in README (#3862)
Fixes https://github.com/uBlockOrigin/uBlock-issues/issues/1897
2021-12-23 09:30:08 -05:00
Raymond Hill
4735aec452 Update submodules 2021-12-22 10:30:41 -05:00
Raymond Hill
7bec4e1a83 Import translation work from https://crowdin.com/project/ublock 2021-12-22 09:42:20 -05:00
Raymond Hill
7f4cc7735c New revision for stable release 2021-12-22 09:39:22 -05:00
Raymond Hill
4091f3b71b Make Firefox dev build auto-update 2021-12-19 10:26:58 -05:00
Raymond Hill
75f37606c1 New revision for release candidate 2021-12-19 10:18:11 -05:00
Raymond Hill
1565aae7dd Import translation work from https://crowdin.com/project/ublock 2021-12-19 10:17:14 -05:00
Raymond Hill
e4a7df3fd9 Improve auto-completion in _"My filters"_ editor 2021-12-19 08:17:06 -05:00
Raymond Hill
a86e804c9c Assign min width to the button
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1886
2021-12-19 08:13:43 -05:00
Raymond Hill
41d7390b37 Make Firefox dev build auto-update 2021-12-18 13:57:24 -05:00
Raymond Hill
e2be049774 New revision for release candidate
Aiming for a pre-holiday release.
2021-12-18 13:47:38 -05:00
Raymond Hill
e45d851f66 Store domain= option into trie container's character buffer
As the trie is not immediately created, in order to speed up
launch time, the `domain=` option was stored in the filterRefs
array until it was moved to the trie.

This commit instead stores the `domain=` option into the trie
container's character buffer.
2021-12-18 12:53:09 -05:00
Raymond Hill
47680c775d Limit force-reload at launch to https-based pages
Related commit:
- a0a9497b4a
2021-12-18 12:24:55 -05:00
Raymond Hill
7ca2c8a9a7 Make loadBenchmarkDataset() compatible with more recent requests.json
The format of requests.json used in latest Cliqz benchmark code
has changed from the original one -- this commit makes the
dataset load code also compatible with the new format.

More recent dataset used in Cliqz benchmark code:
- https://github.com/mjethani/scaling-palm-tree

Cliqz benchmark code:
- https://github.com/ghostery/adblocker/tree/master/packages/adblocker-benchmarks
2021-12-18 11:44:01 -05:00
Raymond Hill
7da0ccd55b Fine tune reporting of CFE internals 2021-12-18 11:35:50 -05:00
Raymond Hill
a0a9497b4a Partially bring suspendTabsUntilReady out of experimental status
This commit will force-reload active tabs at launch for
environments not supporting suspend network request listeners,
or configured to not suspend network request listeners.
2021-12-18 11:26:50 -05:00
Raymond Hill
edab87b4bc Fix potentially reporting wrong context in logger for ghide filters
Related discussion:
- https://github.com/uBlockOrigin/uAssets/issues/3100#issuecomment-996750389
2021-12-17 09:47:14 -05:00
Raymond Hill
2576a991e5 Drop obsolete sentence (fix #1882)
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1882
2021-12-17 08:25:28 -05:00
Raymond Hill
371a04a48a Make Firefox dev build auto-update 2021-12-16 09:46:26 -05:00
Raymond Hill
26e62eb29b New revision for dev build 2021-12-16 09:39:44 -05:00
Raymond Hill
aff6447ab6 Import translation work from https://crowdin.com/project/ublock 2021-12-16 09:38:47 -05:00
Raymond Hill
df56fc55d2 Fine-tune static network filtering engine code
Refactored heuristics to collate set of origin-related
filter units are collated into a hostname trie, and
for better reuse of existing classes.

Generalized pre-test idea for bucket of filters, such
that in addition to origin-related filter units, there is
now a class to collate regex-based pattern-related units
into a new pre-test bucket class, FilterBucketIfRegexHits,
in order to test with a single regex test whether there is
a chance of a hit in the underlying bucket of filters.
Instances of these are rare, but at time of commit I found
this occurs with AdGuard France filter list.

Fine-tuned the "SNFE: Dump" output -- this new ability to
see the internal details of the SNFE has been really key
into finding/fixing issues during refactoring.
2021-12-16 09:12:43 -05:00
Raymond Hill
fb0de0cc9c Wait for placeholders to be present
Related issue:
- https://www.reddit.com/r/uBlockOrigin/comments/rgxlda/adblock_detected/

Related discussion:
- 137070f226 (commitcomment-61964299)
2021-12-15 09:08:04 -05:00
Raymond Hill
bb17fb3b34 Make Firefox dev build auto-update 2021-12-14 11:36:52 -05:00
Raymond Hill
a6b22703bd New revision for dev build 2021-12-14 11:29:11 -05:00
Raymond Hill
89e67887ee Create synthetic event for new windows created from external application
Related discussion:
- https://github.com/uBlockOrigin/uAssets/issues/10323#issuecomment-993592288

Synthesize a onCreatedNavigationTarget event for new browser windows
created as a result of an external application triggering a navigation
event.
2021-12-14 11:23:46 -05:00
Raymond Hill
01f87e979e Add ability to fold/unfold in devtools page 2021-12-14 09:58:38 -05:00
Raymond Hill
7a780e48f3 Make Firefox dev build auto-update 2021-12-13 14:41:54 -05:00
Raymond Hill
f387147651 New revision for dev build 2021-12-13 14:30:26 -05:00
Raymond Hill
8d7469afcf Fix typo 2021-12-13 14:28:39 -05:00
Raymond Hill
6c5dcb43da Fix bad copy-paste 2021-12-13 13:13:49 -05:00
Raymond Hill
8e9189f3a9 Make Firefox dev build auto-update 2021-12-13 13:01:21 -05:00
Raymond Hill
7de2359ccb New revision for dev build 2021-12-13 12:56:56 -05:00
Raymond Hill
8887db1e70 Add ability to collapse/expand in uBO's devtools page 2021-12-13 10:47:53 -05:00
Raymond Hill
ba22735fcc Add ability to dump internal details of cosmetic filtering engine
Related commit:
- 4d482f9133
2021-12-13 08:30:12 -05:00
Raymond Hill
c198b9a748 Add window.close scriptlet
Related feedback:
- https://github.com/uBlockOrigin/uAssets/issues/10323#issuecomment-992312847

AdGuard's rationale:
- https://github.com/AdguardTeam/Scriptlets/issues/158
2021-12-13 08:14:30 -05:00
Raymond Hill
edd11e16fa Fix not reporting match-case properly in logger
Related feedback:
- 4d482f9133
2021-12-13 07:01:04 -05:00
Raymond Hill
2e37dd694a Make Firefox dev build auto-update 2021-12-12 11:41:37 -05:00
Raymond Hill
685a9779e5 New revision for dev build 2021-12-12 11:33:15 -05:00
Raymond Hill
99882cacd0 Truncate support information when too many lists are added
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1852
2021-12-12 11:31:31 -05:00
Raymond Hill
4d482f9133 Store regex filter pattern into bidi-trie buffer
As was done with generic pattern-based filters, the source
string of regex-based filters is now stored into the
bidi-trie (pattern) buffer.

Additionally, added a new "dev tools" page to more
conveniently peer into uBO's internals at run time, without
having to do so from the browser's dev console -- something
which has become more difficult with the use of JS modules.

The new page can be launched from the Support pane through
the "More" button in the troubleshooting section.

The benchmark button in the About pane has been moved to this
new "dev tools" page.

The new "dev tools" page is for development purpose only,
do not open issues about it.
2021-12-12 10:32:49 -05:00
Raymond Hill
d6d80e60c0 Make Firefox dev build auto-update 2021-12-11 10:01:48 -05:00
Raymond Hill
ef9ca57c35 Update submodules 2021-12-11 09:54:53 -05:00
Raymond Hill
25fc118337 New revision for dev build 2021-12-11 09:54:43 -05:00
Raymond Hill
3b7a265ee2 Ignore pointless trailling *^ in network filters
There are currently over 160 patterns with such pointless
trailing `*^` in uBO's filter lists, which ended up being
compiled as generic pattern filters (i.e. regex-based
internally), while the trailing `*^` accomplishes nothing
since it will always match the end of a URL ( `^` can
also match the end of URL).

This commit discards pointless trailing `*^` in patterns,
thus allowing most of those filters to be compiled as
plain pattern filters.

The syntax highlighter will reflect that a trailing
`*^` is pointless.
2021-12-11 09:45:25 -05:00
Raymond Hill
ca1ec1461b Narrow usage of webRTCIPHandlingPolicy to only firefox
In addition of `mobile`, just in case -- some people are
using mobile version of chromium out there.
2021-12-11 07:37:18 -05:00
Raymond Hill
7a908d293f Remove obsolete setting
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1872
2021-12-11 05:56:34 -05:00
Raymond Hill
59db565796 Update CDN URLs for pup-filters
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1766#issuecomment-991017061
2021-12-10 09:35:56 -05:00
Raymond Hill
461ff10ec4 Make Firefox dev build auto-update 2021-12-10 08:51:34 -05:00
Raymond Hill
1cfcb1623f New revision for dev build 2021-12-10 08:29:33 -05:00
Raymond Hill
f9e4a10933 Adjust compile/selfie format verison 2021-12-10 08:05:45 -05:00
Raymond Hill
54074af029 Avoid counting important filters as two filters
Rearrange logic to instantiate and add `important` filters
to the block realm when compiled lists are loaded instead
of when lists are compiled.

Additionally, removed now unused properties following
commit 68e14793cc.
2021-12-10 07:56:15 -05:00
Raymond Hill
6ebebbe23c Adjust color of cloud storage widget for datk theme
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1867
2021-12-10 07:52:52 -05:00
Raymond Hill
1490fd606b Simplify often-executed regex 2021-12-10 07:47:21 -05:00
Raymond Hill
c71b7c7a42 Merge launchFromSelfie into launchToReadiness 2021-12-08 13:43:02 -05:00
Raymond Hill
43d8f52083 Make Firefox dev build auto-update 2021-12-08 12:21:34 -05:00
Raymond Hill
aad4e8dde4 New revision for dev build 2021-12-08 12:12:49 -05:00
Raymond Hill
d17d634b7c Define new nobab scriptlet
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1863

As per internal discussion with team, best to have a simpler
scriplet, and which is hard-coded to work only on a specific
set of domains -- only those seen used by BAB.
2021-12-08 12:10:18 -05:00
Raymond Hill
66ce8dcb78 Make Firefox dev build auto-update 2021-12-08 10:56:49 -05:00
Raymond Hill
c552aa110e Import translation work from https://crowdin.com/project/ublock 2021-12-08 10:44:57 -05:00
Raymond Hill
a354f41f90 New revision for dev build 2021-12-08 10:38:01 -05:00
Raymond Hill
2b2af1f20d Store generic pattern string into bidi-trie buffer 2021-12-08 10:26:52 -05:00
Raymond Hill
92ad101557 Update nobab.js scriptlet
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1863

As discussed internally with uBO filters team.
2021-12-08 10:24:03 -05:00
Raymond Hill
72bb89495b Change compiled list format to a saner block id management
Just use self-described readable section identifiers instead
of difficult-to-manage arbitrary integers.
2021-12-07 11:15:14 -05:00
Raymond Hill
8309cc548e Make Firefox dev build auto-update 2021-12-06 12:16:16 -05:00
Raymond Hill
62231b73e5 New revision for dev build 2021-12-06 12:08:58 -05:00
Raymond Hill
68e14793cc Remove classes specialized in handling single-wildcarded patterns
Turns out the various benchmarks show no benefits when compiling
filters whose pattern contains a single wildcard character into
specialized classes which threat the pattern as two sub-patterns,
and actually there is a slight improvement in performance as per
benchamrks when treating these patterns as generic ones.

This also fixes the following related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1207
2021-12-06 12:03:52 -05:00
Raymond Hill
55fc4ba5e5 Use effective frame URL for about:blank frames
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1858
2021-12-06 11:59:48 -05:00
Raymond Hill
3004c8832a Fix dig-snfe modifiers to properly detect changes in results 2021-12-06 08:01:05 -05:00
Raymond Hill
38a96603c1 Make Firefox dev build auto-update 2021-12-06 07:16:48 -05:00
Raymond Hill
190bbf627b New revision for dev build 2021-12-06 07:07:22 -05:00
Raymond Hill
d3fe0ccfe0 Fix regression with csp=, deprecate queryprune, etc
Fixed serious regression in previous dev build in applying
`csp=` filters. Reported internally by uBO team.

Promote usage of `removeparam` in code instead of `queryprune`,
which is to be deprecated.

Removed test against previously tested hostname in
FilterHostnameDict since as per various benchmark, the
test does not really help.

Remove serialization API in Node.js code as the API is now
present in SNFE itself.
2021-12-06 07:01:39 -05:00
Raymond Hill
7888e49c00 Fix race condition when loading from selfie
All the auxiliary data structures must be fully loaded before
the data structure used as entry point is populated. The race
condition could lead to a case of the entry point data structure
being populated while the auxiliary data structures are still
unpopulated, potentially causing exceptions to be thrown at
launch when the static network filtering engine is queried.

I haven't been able to reproduce such exceptions -- but it
could happen on browsers which do not support being suspended
at launch time (i.e. chromium-based browsers).

Additionally, added convenience methods to easily
serialize/unserialize when SNFE is used as a npm package.
2021-12-05 14:05:32 -05:00
Raymond Hill
5c66310c0a Make Firefox dev build auto-update 2021-12-05 09:22:00 -05:00
Raymond Hill
ae124065af New revision for dev build 2021-12-05 09:12:55 -05:00
Raymond Hill
0948ad7d0a Import translation work from https://crowdin.com/project/ublock 2021-12-05 09:11:28 -05:00
Raymond Hill
634ffc9d14 Fix throttling of optimization cycles
This should help lower time-to-readiness when uBO
is launched on less powerful devices.
2021-12-05 09:07:02 -05:00
Raymond Hill
71d2466eff Make Firefox dev build auto-update 2021-12-04 17:16:36 -05:00
Raymond Hill
4b68f28e08 New revision for dev build 2021-12-04 17:10:51 -05:00
Raymond Hill
b78b277907 Add missing code to properly grow buffer
Related feedback:
- https://github.com/orgs/uBlockOrigin/teams/ublock-issues-volunteers/discussions/293

Related commit:
- 725e6931f5

Through all the changes, forgot to pay attention to scenarios
where the `filterData` needs to grow -- the buffer's defautl
size is set to accomodate default filter lists, and subscribing
to more lists would cause the static network filtering engine
to fail because the buffer was not resized when needed.
2021-12-04 17:06:09 -05:00
Raymond Hill
b98836ab8e Fix NPM package documentation 2021-12-04 12:40:43 -05:00
Raymond Hill
82f31e7863 Bump npm package version number 2021-12-04 12:34:36 -05:00
Raymond Hill
7cf079cc0f Make Firefox dev build auto-update 2021-12-04 12:07:02 -05:00
Raymond Hill
7c6d3241bb Import translation work from https://crowdin.com/project/ublock 2021-12-04 11:57:45 -05:00
Raymond Hill
5c10b13ade Fix text in Support pane, as per feedback
Related feedback:
- https://crowdin.com/translate/ublock/13/enca-nl?filter=basic&value=4#1153
2021-12-04 11:53:23 -05:00
Raymond Hill
0df8986b52 Fix make lint warning 2021-12-04 11:48:17 -05:00
Raymond Hill
e8e7294431 New revision for dev build 2021-12-04 11:45:43 -05:00
Raymond Hill
725e6931f5 Refactoring work in static network filtering engine
The original motivation is to further speed up launch time
for either non-selfie-based and selfie-based initialization
of the static network filtering engine (SNFE).

As a result of the refactoring:

Filters are no longer instance-based, they are sequence-of-
integer-based. This eliminates the need to create instances
of filters at launch, and consequently eliminates all the
calls to class constructors, the resulting churning of memory,
and so forth.

All the properties defining filter instances are now as much
as possible 32-bit integer-based, and these are allocated in a
single module-scoped typed array -- this eliminates the need
to allocate memory for every filter being instantiated.

Not all filter properties can be represented as a 32-bit
integer, and in this case a filter class can allocate slots
into another module-scoped array of references.

As a result, this eliminates a lot of memory allocations when
the SNFE is populated with filters, and this makes the saving
and loading of selfie more straightforward, as the operation
is reduced to saving/loading two arrays, one of 32-bit
integers, and the other, much smaller, an array JSON-able
values.

All filter classes now only contain static methods, and all
of these methods are called with an index to the specific
filter data in the module-scoped array of 32-bit integers.

The filter sequences (used to avoid the use of JS arrays) are
also allocated in the single module-scoped array of 32-bit
integers -- they used to be stored in their own dedicated
array.

Additionally, some filters are now loaded more in a deferred
way, so as reduce uBO's time-to-readiness -- the outcome of
this still needs to be evaluated, time-to-readiness is
especially a concern in Firefox for Android or less powerful
computers.
2021-12-04 11:16:44 -05:00
Raymond Hill
64f427d0e5 Have getAll() returns at least one neutered Tracker object
Related discussion:
- https://github.com/uBlockOrigin/uAssets/issues/10731#issuecomment-986031354
2021-12-04 11:07:19 -05:00
Raymond Hill
ccc4c7d41f Log selfie-related events at launch time 2021-12-04 10:55:33 -05:00
Raymond Hill
1becd8ad18 Use removeparam, queryprune is deprecated 2021-12-04 10:52:24 -05:00
Raymond Hill
7428e117b5 Remove pointless setting from support information 2021-12-04 10:44:57 -05:00
Raymond Hill
5f7d005e3d Fix pointless use of parenthesis in regex 2021-12-02 17:58:52 -05:00
Raymond Hill
99dfce0b44 Fix make lint warning 2021-12-02 17:58:17 -05:00
Raymond Hill
1ce11f72bc New revision for stable release 2021-11-30 08:06:16 -05:00
Raymond Hill
3ff3e794f2 Update submodules 2021-11-30 08:05:07 -05:00
Raymond Hill
33ab856e86 Import translation work from https://crowdin.com/project/ublock 2021-11-30 08:04:45 -05:00
Raymond Hill
395a4e36a9 Officialize uiPopupConfig advanced setting
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1817#issuecomment-981104204
2021-11-28 10:35:50 -05:00
Raymond Hill
217bddb423 Make Firefox dev build auto-update 2021-11-28 07:56:58 -05:00
Raymond Hill
5ad4efc17e New revision for release candidate 2021-11-28 07:48:49 -05:00
Raymond Hill
aad90eb323 More fine tuning of filter issue report feature 2021-11-28 07:47:16 -05:00
Raymond Hill
b66dfb1c87 Make Firefox dev build auto-update 2021-11-27 12:21:19 -05:00
Raymond Hill
fe3affc777 New revision for dev build 2021-11-27 12:14:08 -05:00
Raymond Hill
a06296d4e8 Import translation work from https://crowdin.com/project/ublock 2021-11-27 12:10:31 -05:00
Raymond Hill
1408422cba Fine tune new reporting feature
Add ability to bring back logger button in popup panel through
the advanced setting `uiPopupConfig`. Adding `+logger` token
to `uiPopupConfig` will bring back the logger icon in the mobile
version of the popup panel.

Additionally, the link to the logger in the Support pane will
take into account whether the <Shift> key is pressed, so as
to behave like the logger icon in the popup panel.

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1847

The troubleshooting information has been further fine-tuned to
report popup panel data related to the reported page, for better
diagnosis by disclosing any customization to uBO which was
affecting the reported page.
2021-11-27 11:58:32 -05:00
Raymond Hill
6f31f07255 Make Firefox dev build auto-update 2021-11-26 12:41:54 -05:00
Raymond Hill
a2444a8c25 Import translation work from https://crowdin.com/project/ublock 2021-11-26 12:30:50 -05:00
Raymond Hill
32122329c9 New revision for dev build 2021-11-26 12:27:12 -05:00
Raymond Hill
74d1f90264 Allow reporter to select a choice of URLs to report
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1836

The URL to report can now be picked from a list of related
URLs in order to allow the reporter to publish edited version
of the reported URL.

Additionally, the hash, user name, and password which could be
present in a reported URL are always removed.
2021-11-26 12:23:18 -05:00
Edward Brey
95a105da1a Link to filter descriptions
If you click the Home button for one of the EasyList filter lists in uBlock settings, now you will go to a page that succinctly describes what the filter does. The old links took you to a forum with no clear way to find info on a given filter, especially for a new user.
2021-11-26 06:12:46 -06:00
Raymond Hill
1ac9c5ceb7 Reject generic HTML block filters
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1844

Generic HTML block filters will by highlighted as invalid and
rejected by uBO at compile time.
2021-11-24 18:14:09 -05:00
Raymond Hill
8bad29fbcc New version for stable release 2021-11-22 09:10:12 -05:00
Raymond Hill
19800f0af2 Update submodules 2021-11-22 09:09:36 -05:00
Raymond Hill
3cf3ec595f Import translation work from https://crowdin.com/project/ublock 2021-11-22 09:06:02 -05:00
Raymond Hill
374d4800e5 Arrow functions are not instanceof Function
But their `typeof` is `function`, so use this instead to
detect whether an argument is a function which can be
called.

Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/qyx7en/
2021-11-21 11:19:12 -05:00
Raymond Hill
9b1f59c8b2 Make Firefox dev build auto-update 2021-11-21 08:36:45 -05:00
Raymond Hill
e81683b27b New revision for dev build 2021-11-21 08:28:11 -05:00
Raymond Hill
5845aa3d73 Import translation work from https://crowdin.com/project/ublock 2021-11-21 08:00:22 -05:00
Raymond Hill
2fae1ce90e Remove ability to unredact
Unredacted settings is unlikely to be useful after all,
and removing the ability to unredact ensure users won't
mistakenly publish unredacted information.
2021-11-21 07:53:36 -05:00
Raymond Hill
a8f0461a57 Make Firefox dev build auto-update 2021-11-20 09:56:21 -05:00
Raymond Hill
be034c7a66 New revision for release candidate 2021-11-20 09:40:09 -05:00
Raymond Hill
a240392e07 Import translation work from https://crowdin.com/project/ublock 2021-11-20 09:39:48 -05:00
Raymond Hill
5d51d172c4 Collapse config details by default 2021-11-20 09:38:00 -05:00
Raymond Hill
64cd70664d Update submodules 2021-11-19 08:54:05 -05:00
Raymond Hill
69a2f123c5 Import translation work from https://crowdin.com/project/ublock 2021-11-19 08:32:11 -05:00
Raymond Hill
0aca350914 Update submodules 2021-11-19 08:15:41 -05:00
Raymond Hill
ee5ef4e8ab Update block-lan list location 2021-11-18 12:27:26 -05:00
Raymond Hill
bec9e190fd Make Firefox dev build auto-update 2021-11-18 12:11:34 -05:00
Raymond Hill
74137c6b82 New revision for release candidate 2021-11-18 11:36:02 -05:00
Raymond Hill
5c48e32344 Import translation work from https://crowdin.com/project/ublock 2021-11-18 11:24:07 -05:00
Raymond Hill
bb3c75e37a Better English, I think 2021-11-18 11:13:04 -05:00
Raymond Hill
f33f92c47f Make Firefox dev build auto-update 2021-11-17 09:46:14 -05:00
Raymond Hill
e9ea57e9ac Use real quotes (i.e. not HTML encoded)
So that translators can replace them mor eeasily with
whatever quotes is most appropriate for the language.
2021-11-17 09:37:11 -05:00
Raymond Hill
2c679fffde New revision for release candidate 2021-11-17 09:26:27 -05:00
Raymond Hill
6566f496c2 Import translation work from https://crowdin.com/project/ublock 2021-11-17 08:23:57 -05:00
gwarser
51b00301da Rename "Block Access to LAN" (#3861)
to avoid fears of blocking local servers or file addresses

https://github.com/gwarser/filter-lists/issues/27
2021-11-16 10:09:34 -05:00
Raymond Hill
cb600142c4 Make Firefox dev build auto-update 2021-11-16 08:21:21 -05:00
Raymond Hill
7ab70c8164 New revision for release candidate 2021-11-16 08:15:17 -05:00
Raymond Hill
30cc04c76e Import translation work from https://crowdin.com/project/ublock 2021-11-16 08:14:46 -05:00
Raymond Hill
d49b979732 Add ability to label report as "nsfw" 2021-11-16 08:11:04 -05:00
Raymond Hill
cf85bf1d53 Import translation work from https://crowdin.com/project/ublock 2021-11-16 07:39:47 -05:00
Raymond Hill
b3f1f75389 Update twitch scriptlet as suggested
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1789#issuecomment-969416887
2021-11-16 07:22:06 -05:00
Raymond Hill
d9f3d22edb Make Firefox dev build auto-update 2021-11-15 11:01:22 -05:00
Raymond Hill
4dc7b66b1a New revision for dev build 2021-11-15 10:54:55 -05:00
Raymond Hill
767f81b292 Import translation work from https://crowdin.com/project/ublock 2021-11-15 10:52:56 -05:00
Raymond Hill
bc44371f93 Import translation work from https://crowdin.com/project/ublock 2021-11-15 10:51:59 -05:00
Raymond Hill
45e5c87084 Fine tune filter issue reporter page
Added an entry to report popups.

Added extra information about how uBO launched.
2021-11-15 10:46:29 -05:00
Raymond Hill
a777ff8ff8 Make Firefox dev build auto-update 2021-11-14 14:07:06 -05:00
Raymond Hill
982391b1fd New revision for dev build 2021-11-14 13:57:55 -05:00
Raymond Hill
ddd31f3567 Update twitch-videoad.js scriptlet
Related commit:
- aad8946dab

Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1789#issuecomment-962440694
2021-11-14 13:55:34 -05:00
Raymond Hill
c90b2e4d6f Fix bad indentation in support data 2021-11-14 13:40:00 -05:00
Raymond Hill
5625673d2c Make Firefox dev build auto-update 2021-11-14 08:31:08 -05:00
Raymond Hill
8585989f44 Import translation work from https://crowdin.com/project/ublock 2021-11-14 08:21:45 -05:00
Raymond Hill
4c80f27410 New revision for dev build 2021-11-14 08:14:33 -05:00
Raymond Hill
50436ced61 Further fine-tune configuration information in Support pane 2021-11-14 08:13:43 -05:00
Raymond Hill
4e81ae374f Update submodules 2021-11-13 12:27:16 -05:00
Raymond Hill
52063c8633 Force-close popup panel when reporting a filter issue
Necessary on Firefox.
2021-11-13 12:18:26 -05:00
Raymond Hill
ad76ee2158 Make Firefox dev build auto-update 2021-11-13 12:06:34 -05:00
Raymond Hill
486b14cf9a New revision for dev build 2021-11-13 11:59:47 -05:00
Raymond Hill
19bdbddbfc Emphase GitHub account requirement 2021-11-13 11:48:36 -05:00
Raymond Hill
74fd28c76b Import translation work from https://crowdin.com/project/ublock 2021-11-13 11:43:22 -05:00
Raymond Hill
064ffe4cc7 Remove usage of CSS zoom
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1793
2021-11-13 11:05:35 -05:00
Raymond Hill
a98da9e4ae Make Firefox dev build auto-update 2021-11-12 09:27:06 -05:00
Raymond Hill
41e6d20890 New revision for dev build 2021-11-12 09:18:19 -05:00
Raymond Hill
e1c386515a Report specific filter issue through a template
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1541#issuecomment-966697347
2021-11-12 09:11:28 -05:00
Raymond Hill
dea7184f30 Do not decode query parameter name when used as token
Related feedback:
- https://github.com/DandelionSprout/adfilt/discussions/163#discussioncomment-1628496
2021-11-12 08:24:30 -05:00
Raymond Hill
5381e3bfe2 Make Firefox dev build auto-update 2021-11-11 14:16:36 -05:00
Raymond Hill
50900a3c4f New revision for dev build 2021-11-11 14:07:53 -05:00
Raymond Hill
d142066f95 Fix incorrect redaction of user filterset
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1541#issuecomment-966543580
2021-11-11 14:06:59 -05:00
Raymond Hill
6e7b08c1df Make Firefox dev build auto-update 2021-11-11 13:11:40 -05:00
Raymond Hill
e779f44935 new revision for dev build 2021-11-11 13:00:42 -05:00
Raymond Hill
acb5b9d649 Import translation work from https://crowdin.com/project/ublock 2021-11-11 13:00:17 -05:00
Raymond Hill
eccf613edf Add ability to report filter issue from popup panel
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1541

A "chat" icon has been added to the popup panel to make
it easy to report filter issue on specific sites.

Reporting filter issues require a GitHub account, since
uBO does not have a home server through which reports could
be sent.

The report icon is available only for when uBO is enabled
on a given site.

On mobile devices, the logger icon is replaced by the "chat"
icon since it is more likely to be useful on small display
devices. The logger can always be opened from the Support
pane in the dashboard.
2021-11-11 12:49:55 -05:00
Raymond Hill
185816187d Update publishing script for Firefox
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1809
2021-11-11 09:24:09 -05:00
Raymond Hill
9fbc50f14f Harden detection of // in style declaration
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1811#issuecomment-966323765
2021-11-11 09:05:10 -05:00
Raymond Hill
cf34200421 Make Firefox dev build auto-update 2021-11-11 08:46:52 -05:00
Raymond Hill
72403f604b New revision for dev build 2021-11-11 08:39:11 -05:00
Raymond Hill
5d22b51668 Forbid usage of inage-set as style property
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1811

Additionally, forbid style declaration with at least one
instance of `//` at any position.
2021-11-11 08:33:28 -05:00
Raymond Hill
36faf27c69 Make Firefox dev build auto-update 2021-11-10 09:11:30 -05:00
Raymond Hill
626ce19a7c New revision for dev build 2021-11-10 08:55:01 -05:00
Raymond Hill
c2c2cef4e6 Fix bad test breaking list subscription
Related issue/feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1797#issuecomment-965150304
2021-11-10 08:49:28 -05:00
Raymond Hill
3b53c3a3e3 Further improve GA's surrogate script
Related issue:
- https://github.com/AdguardTeam/Scriptlets/issues/154

Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1807
2021-11-09 15:18:30 -05:00
Raymond Hill
8378baa894 Make Firefox dev build auto-update 2021-11-09 13:31:26 -05:00
Raymond Hill
3307d5bf70 New revision for dev build 2021-11-09 13:23:08 -05:00
Raymond Hill
6f49e079db Improve GA's surrogate script
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1807
2021-11-09 13:20:49 -05:00
Raymond Hill
4efa6be96b Fix sticky imported list after removal
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1803
2021-11-08 12:49:03 -05:00
Raymond Hill
f55a53a890 Make Firefox dev build auto-update 2021-11-08 11:26:38 -05:00
Raymond Hill
5185c65de1 New revision for dev build 2021-11-08 11:21:31 -05:00
Raymond Hill
97232baee3 Forbid multiple and unexpected CSS style declarations
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1806#issuecomment-963278382
2021-11-08 11:17:47 -05:00
Raymond Hill
1d099e07ae Make Firefox dev build auto-update 2021-11-08 09:31:38 -05:00
Raymond Hill
af42e50824 Import translation work from https://crowdin.com/project/ublock 2021-11-08 09:23:48 -05:00
Raymond Hill
d6cae810a3 New revision for dev build 2021-11-08 09:21:27 -05:00
Raymond Hill
630d436342 Forbid usage of opening comment /* in query-selectable test
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1806
2021-11-08 09:13:58 -05:00
Imre Kristoffer Eilertsen
d8fea7f568 Fix https://github.com/uBlockOrigin/uBlock-issues/issues/1742 (#3860) 2021-11-06 12:52:23 -04:00
Raymond Hill
5daa6a7ff3 Get current language using extensions API (instead of navigator.language)
Related feedback:
- https://github.com/gorhill/uBlock/pull/3860
2021-11-06 12:49:27 -04:00
Raymond Hill
871f4abd39 Make Firefox dev build auto-update 2021-11-04 16:01:13 -04:00
Raymond Hill
8393a39334 New revision for dev build 2021-11-04 15:56:14 -04:00
Raymond Hill
c97d12c1d6 Remove bad test
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1798
2021-11-04 15:54:24 -04:00
Raymond Hill
955fe944ca Suggest network filter as best candidate by default
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/qmjk36/

Regression from:
- d930504e3e

Also, fix immediately selecting the resource when using
contextual menu with cosmetic filtering off.
2021-11-04 12:42:48 -04:00
Raymond Hill
34738e5291 Make Firefox dev build auto-update 2021-11-04 11:57:08 -04:00
Raymond Hill
04cf37accb New revision for dev build 2021-11-04 11:50:39 -04:00
Raymond Hill
b63415a3db Fix breaking navigation through links [regression]
Regression from:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1797
2021-11-04 11:48:07 -04:00
Raymond Hill
c25cfd2116 Make Firefox dev build auto-update 2021-11-04 09:42:14 -04:00
Raymond Hill
27c1874425 Import translation work from https://crowdin.com/project/ublock 2021-11-04 09:34:44 -04:00
Raymond Hill
97a847478a New revision for dev build 2021-11-04 09:31:27 -04:00
Raymond Hill
3f47172473 Update Twitch scriptlet
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1789#issuecomment-959831926

Related commit:
- 7233b5fd22
2021-11-04 09:24:31 -04:00
Raymond Hill
8b8b7da8d9 Forbid subscribing to filter lists with invalid URLs
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1797
2021-11-04 08:52:06 -04:00
Raymond Hill
25823f0819 Make Firefox dev build auto-update 2021-11-01 16:01:49 -04:00
Raymond Hill
4da8c2244e New revision for dev build 2021-11-01 15:56:41 -04:00
Raymond Hill
2ab39aee23 Fix not highlighting cases of invalid syntax
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1791

The following case of invalid syntax was not reported as
invalid by the syntax highlighter:

    ... example.com image ...

With dynamic filtering, there can't be a specific
hostname when a specific type is used, or a
specific type when a specific hostname is used, one
or the other must be `*`.
2021-10-31 13:18:31 -04:00
Raymond Hill
fa3c4623ea Make Firefox dev build auto-update 2021-10-31 13:17:55 -04:00
Raymond Hill
d5dc997999 New revision for dev build 2021-10-30 11:58:38 -04:00
Raymond Hill
0d3028f71f Import translation work from https://crowdin.com/project/ublock 2021-10-30 11:57:55 -04:00
Raymond Hill
8f2e1b4d84 Avoid testing sheet-selectability when filter is hinted as procedural
uBO support's `#?#`, which in AdGuard and ABP means that a
cosmetic filter is procedural.

However, uBO interprets this syntax as "probably procedural"
and will use the filter in a declarative way if the filter
is found to be stylesheet-compatible.

In reality though, the likelihood that a "probably procedural"
filter is sheet-selectable is very low, so treating the filter
as procedural a priori help saves pointless tests against
sheet-selectability when using lists primarily designed for
AdGuard or ABP.
2021-10-29 08:33:55 -04:00
Raymond Hill
24fe6f2cfc Make Firefox dev build auto-update 2021-10-28 11:06:32 -04:00
Raymond Hill
2713143fc6 New revision for dev build 2021-10-28 10:57:45 -04:00
Raymond Hill
3891b4d050 query-selectable selectors are not necessarily sheet-selectable
Related commits:
- 4f923384de
- 97a33c9572
- ef07171f5a

For instance, with "Experimental Web Platform features" enabled, the
following filter becomes natively query-selectable:

    .fail:has(+ a > b)

Meaning uBO won't need to emulate the `:has()` operator, it will
be executed natively using `querySelectorAll()`.

This commit fixes the erroneous assumption that a query-selectable
is also sheet-selectable.
2021-10-28 10:36:26 -04:00
Raymond Hill
b4adc3a44e Make Firefox dev build auto-update 2021-10-27 18:22:04 -04:00
Raymond Hill
44783f548d New revision for dev build 2021-10-27 18:15:47 -04:00
Raymond Hill
ef07171f5a Refactor how cosmetic filters with pseudo-elements are parsed
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1247#issuecomment-953284365

Distinguish between selectors which can be querySelector-ed
and/or used ni a stylesheet.
2021-10-27 18:09:02 -04:00
Raymond Hill
97a33c9572 Fix test for stylesheet presence
Related commit:
- 4f923384de
2021-10-27 15:13:13 -04:00
Raymond Hill
6722616e28 Make Firefox dev build auto-update 2021-10-27 13:36:37 -04:00
Raymond Hill
4f03b6c4c2 Import translation work from https://crowdin.com/project/ublock 2021-10-27 13:27:45 -04:00
Raymond Hill
87cacd2b0a New revision for dev build 2021-10-27 13:20:28 -04:00
Raymond Hill
4f923384de Use an actual stylesheet to validate cosmetic filters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1751

Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/qgd6fe/

It turns out Chromium has started to implement the `:has()`
operator, which becomes recognized when the browser flag
"Experimental Web Platform features" is enabled. However the
hic is that `:has()` is not supported as a declarative CSS
style rule and is only supported through `querySelector()`
et al.

The fix is to no longer detect plain CSS selectors through
`querySelector` et al. but rather use an actual stylesheet
to validate that a cosmetic filter can be injected into a
stylesheet in a declarative way.

Additionally, I added support to enforce ABP's semantic
regarding cosmetic filter with the `#?#` anchor: when using
such anchor, uBO will _first_ try to compile the filter as
a procedural one rather than a declarative one.

Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1011#issuecomment-884824166
2021-10-27 12:56:37 -04:00
Raymond Hill
9f36314084 Make Firefox dev build auto-update 2021-10-26 09:17:10 -04:00
Raymond Hill
986c25fe24 Add Somali language 2021-10-26 09:10:37 -04:00
Raymond Hill
90ed078178 Import translation work from https://crowdin.com/project/ublock 2021-10-26 09:09:36 -04:00
Raymond Hill
d7025ff448 New revision for dev build 2021-10-26 09:02:52 -04:00
Raymond Hill
b1a338681b Shield against possible case of invalid attribute name
Not sure this can really happen, but if ever Math.random() would
return `0.9999999999999999`, the attribute name would start with
`{`, i.e. an invalid attribute name.
2021-10-26 08:55:05 -04:00
Raymond Hill
5bea149e8f Fix spurious errors in uBO's dev console
Those spurious errors occurred when launching the browser
with the dashboard already opened from the previous
browsing session.
2021-10-26 08:54:04 -04:00
Raymond Hill
c136c7b454 Auto-escape commas in removeparam's regexes
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/760#issuecomment-951146371

This is a quick fix, some refactoring necessary for a more
comprehensive fix to all such issues.
2021-10-26 08:51:55 -04:00
Raymond Hill
f5001c03aa Update submodules 2021-10-26 08:11:09 -04:00
Raymond Hill
f94781bafc Update submodules 2021-10-26 07:29:35 -04:00
Raymond Hill
1b4d17ca2f Update submodules 2021-10-26 07:20:49 -04:00
Raymond Hill
c8498b911d Update submodules 2021-10-26 07:06:52 -04:00
Raymond Hill
32bd74f180 Make Firefox dev build auto-update 2021-10-22 15:11:55 -04:00
Raymond Hill
ff58f4d7e0 New revision for dev build 2021-10-22 15:01:37 -04:00
Raymond Hill
d5cfd673dc Condense list details in Support pane
Related commit:
- a3a43c7cb4
2021-10-22 14:59:41 -04:00
Raymond Hill
318469b005 Remove unused function 2021-10-22 08:34:04 -04:00
Raymond Hill
90fd3b6973 Import translation work from https://crowdin.com/project/ublock 2021-10-22 08:32:59 -04:00
Raymond Hill
dfbbece807 Make Firefox dev build auto-update 2021-10-18 11:22:03 -04:00
Raymond Hill
6a64beda37 New revision for dev build 2021-10-18 11:13:38 -04:00
Raymond Hill
d9eb0b1002 Import translation work from https://crowdin.com/project/ublock 2021-10-18 11:12:16 -04:00
Raymond Hill
65985343fc Create new page store if not found in tab event
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/757

Sometimes a tab event may fire for a tab which is not
yet known to uBO. In such case, bind the tab internally
so that it can be processed properly in the future.
2021-10-18 09:43:41 -04:00
Raymond Hill
c2269d7202 Minor CSS fix 2021-10-18 09:11:34 -04:00
Raymond Hill
18ae79cdf2 Remove unused code path as per current minimum browser version 2021-10-17 13:50:43 -04:00
Raymond Hill
a72aa58c92 Adjust font-size for code tags 2021-10-17 13:47:41 -04:00
Raymond Hill
d1921131b6 Make Firefox dev build auto-update 2021-10-17 13:26:52 -04:00
Raymond Hill
8642c707a7 New revision for dev build 2021-10-17 13:19:42 -04:00
Raymond Hill
f56ad0100a Import translation work from https://crowdin.com/project/ublock 2021-10-17 13:17:34 -04:00
Raymond Hill
e4d75fa025 Ignore unused tabs.onUpdated() events 2021-10-17 12:55:31 -04:00
Raymond Hill
9f693c75c7 Remove Spam-404, add curben's Phishing and PUP lists
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1766
2021-10-16 12:36:32 -04:00
Raymond Hill
d7d38449ea Add official mirrors for Nordic Filters and EasyList Lithuania (issue #1566) (#3859)
* Fix https://github.com/uBlockOrigin/uBlock-issues/issues/1566

* Update assets.json

* Removed two cdnURLs duplicates

As per https://github.com/uBlockOrigin/uBlock-issues/issues/1566#issuecomment-944922005

Co-authored-by: Imre Kristoffer Eilertsen <imreeil42@gmail.com>
2021-10-16 10:50:16 -04:00
Raymond Hill
03dbd7ce6a Make Firefox dev build auto-update 2021-10-16 09:16:34 -04:00
Raymond Hill
67737b9b27 Fix import script 2021-10-16 09:03:12 -04:00
Raymond Hill
9b7dd61b1d Import translation work from https://crowdin.com/project/ublock 2021-10-16 09:02:52 -04:00
Raymond Hill
c7aecde544 New revision for dev build 2021-10-16 08:49:47 -04:00
Raymond Hill
c44117aa70 Further fine tune Support pane
Related commit:
- a3a43c7cb4
2021-10-16 08:43:31 -04:00
Raymond Hill
cd5f58779b Also check for unsupported tags in descendants 2021-10-16 08:42:55 -04:00
Raymond Hill
ba6a9f999e Make Firefox dev build auto-update 2021-10-15 17:01:49 -04:00
Raymond Hill
7b36eb89e5 New revision for dev build 2021-10-15 16:58:03 -04:00
Raymond Hill
c7f1af9547 Fix regression in DOM inspector
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1765

Related commit:
- 1285f78e05 (diff-77e1325098616e4d2bb6b1e9ccf3b7cb9898942739e29f01b63346220f55b2b8L250-R250)
2021-10-15 16:55:40 -04:00
Raymond Hill
d508d34c0a Make Firefox dev build auto-update 2021-10-15 15:07:09 -04:00
Raymond Hill
d7f23e656c new revision for dev build 2021-10-15 15:00:39 -04:00
Raymond Hill
f37acd9fe0 Import translation work from https://crowdin.com/project/ublock 2021-10-15 15:00:13 -04:00
Raymond Hill
730735cc5e Further fine-tune new Support pane
Related commit:
- a3a43c7cb4

Specifically:
- Support i18n
- Autofill issues opened through Support pane with configuration
  information
- Remove from About pane items found in Support pane
2021-10-15 14:50:34 -04:00
Raymond Hill
2c7fcf7284 Simplify handling of valid HTML tags in i18n files
Use DOMParser instead of trying to manually parse
the HTML tags appearing in i18n files.
2021-10-15 14:49:02 -04:00
Raymond Hill
d591e3094e Import translation work from https://crowdin.com/project/ublock 2021-10-15 14:44:20 -04:00
Raymond Hill
415870ba31 Import translation work from https://crowdin.com/project/ublock 2021-10-15 07:59:06 -04:00
Raymond Hill
24553163c5 Minor fixes to new Support page 2021-10-14 12:00:24 -04:00
Raymond Hill
a82295b403 Make Firefox dev build auto-update 2021-10-14 10:31:17 -04:00
Raymond Hill
97e4ddad95 New revision for dev build 2021-10-14 10:24:32 -04:00
pixeltris
cc0008df57 Fix broken twitch.tv functionality (#3858)
* Fix broken twitch.tv functionality

Fixes some features of twitch.tv which are broken due to device id change on every gql request.

Related issues:
- https://github.com/pixeltris/TwitchAdSolutions/issues/50
- https://github.com/pixeltris/TwitchAdSolutions/issues/45

* Use strict equality
2021-10-14 10:03:25 -04:00
Raymond Hill
c0b399a3be Make Firefox dev build auto-update 2021-10-14 09:31:30 -04:00
Raymond Hill
aceaea0122 Minor code review 2021-10-14 09:22:36 -04:00
Eli Grey
1285f78e05 Don't assume document.documentElement is non-null (#3857)
* Fix uBlockOrigin/uBlock-issues#1756

This PR fixes uBlockOrigin/uBlock-issues#1756.

* fix dom-inspector.js

* more explicit if statements

* these changes should also be safe
2021-10-14 09:08:08 -04:00
Raymond Hill
ebd8ab6037 New revision for dev build 2021-10-14 08:56:28 -04:00
Raymond Hill
9d0e72b243 Further fine-tuning new Support pane
Related commit:
- a3a43c7cb4
2021-10-14 08:54:38 -04:00
Raymond Hill
a6e58b3a54 Make Firefox dev build auto-update 2021-10-13 11:36:19 -04:00
Raymond Hill
07e127b59e New revision for dev build 2021-10-13 11:29:17 -04:00
Raymond Hill
a839460f32 Import translation work from https://crowdin.com/project/ublock/ 2021-10-13 11:28:48 -04:00
Raymond Hill
f9989f30d8 Further improve new Support pane
For now the language locales are not available as the text on
the page needs to stabilize before asking translation
volunteers to contribute their time working on the new text.
2021-10-13 11:18:23 -04:00
Raymond Hill
b0038eac28 Remove unused code path
Versions of Firefox 54 and lower are no longer supported.
2021-10-13 11:17:21 -04:00
Raymond Hill
e7444883a3 Fine tune data reported in Support pane
Related commit:
- a3a43c7cb4
2021-10-13 08:31:04 -04:00
Raymond Hill
6836809aad Make Shortcut pane not present by default [Firefox]
By default uBO assumed the Shortcut pane was needed,
unless it found the current version of FF was higher
than 73. This commit reverses the test, it assumes
the Shortcut pane is not needed, unless the current
version is lower than 74.
2021-10-13 08:23:20 -04:00
Raymond Hill
ba78a09917 Make Firefox dev build auto-update 2021-10-12 11:46:13 -04:00
Raymond Hill
1638753657 Import translation work from https://crowdin.com/project/ublock 2021-10-12 11:36:43 -04:00
Raymond Hill
5bdb86851e New revision for dev build 2021-10-12 11:28:53 -04:00
Raymond Hill
a3a43c7cb4 Add "Support" pane to dashboard
The purpose is to allow users to make it easy to share
technical information about their uBO configuration, and
to make it easy for volunteers to diagnose issues.

This is a first step toward the goal of making it easier
for users to report issues with either uBO or filter
issues on websites.

Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1701
- https://github.com/uBlockOrigin/uBlock-issues/issues/1541
2021-10-12 11:19:56 -04:00
Raymond Hill
8365984f11 Make Firefox dev build auto-update 2021-10-11 13:23:14 -04:00
Raymond Hill
89e6dd6696 New revision for dev build 2021-10-11 07:08:36 -04:00
Raymond Hill
01cbe7520d Fix regression with no-cosmetic-filtering switch
Related commit:
- c4b7ee80ea
2021-10-11 07:07:41 -04:00
Raymond Hill
895aa34134 Update submodules 2021-10-09 11:00:48 -04:00
Raymond Hill
581d5bf831 New revision for dev build 2021-10-08 07:19:13 -04:00
Raymond Hill
0d3a1932e9 Update twitch-videoad scriptlet
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/5184#issuecomment-938379331

Solution contributed by <https://github.com/pixeltris>:
- 6be4c53130
2021-10-08 07:12:58 -04:00
Raymond Hill
c4b7ee80ea Further work on JS modules
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1664
2021-10-07 14:41:29 -04:00
Raymond Hill
f240e3caf5 New revision for dev build 2021-10-06 11:00:45 -04:00
Raymond Hill
c0cba22771 Fix regression of isBlockImportant()
isBlockImportant() was relying strictly on the hash bits
to detect whether a matching filter was `important`, but
this approach regressed with changes with how `important`
filters are compiled. This commit fixed this by no longer
relying on the hash bits but rather on an internal
register variable being set by `important` filters when
they match.

I couldn't find any actual cases in default filter lists
(including a couple of default regional lists) that the
regression is having any effect, due to the limited cases
for which isBlockImportant() is called.

A test was added in a previous commit to detect such
regression in the future:
- a76935b232
2021-10-06 09:57:49 -04:00
Raymond Hill
6464002088 Give precedence to negated types in case of ambiguity
Related feedback:
- https://github.com/uBlockOrigin/uAssets/issues/7639#issuecomment-933525018
2021-10-06 09:44:15 -04:00
Raymond Hill
ebe173d273 Add a test for negated type with all option
Related feedback:
- https://github.com/uBlockOrigin/uAssets/issues/7639#issuecomment-933525018
2021-10-06 08:48:49 -04:00
Raymond Hill
a76935b232 Add more npm tests
Also, disable wasm tests, currently erroring with:

    WebAssembly.Memory(): could not allocate memory
2021-10-04 12:47:12 -04:00
Raymond Hill
5f8c179642 New revision for dev build 2021-10-03 09:48:56 -04:00
Raymond Hill
c0a43b0d32 Add refresh-defuser scriptlet
To specifically defuse the reloading of a document through
a meta "refresh" tag.

Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/q0frv0/

As per solution from AdGuard:
- https://www.reddit.com/r/uBlockOrigin/comments/q0frv0/while_reading_a_sports_article_i_was_redirected/hf7wo9v/
2021-10-03 09:46:24 -04:00
Raymond Hill
9cd69ce1bd Update submodules 2021-09-30 08:51:01 -04:00
Raymond Hill
f9b3fad6e7 Make Firefox dev build auto-update 2021-09-27 07:46:04 -04:00
Raymond Hill
607cf46a93 New revision for dev build 2021-09-25 12:42:45 -04:00
Raymond Hill
a6cd954a2a Fix handling of negated types in all filter option
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1730

Related commit:
- 8f98622374
2021-09-25 12:36:33 -04:00
Raymond Hill
6d21bd4af9 Fix usage documentation
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1734
2021-09-25 07:47:40 -04:00
Raymond Hill
20564ccaf5 New revision for dev build 2021-09-24 11:11:57 -04:00
Raymond Hill
1130746a9b Fix regression with important filter option
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1732

The regression affect filter with the `important` option when
the following conditions were fulfilled:

- The filter pattern is pure hostname
- The filter has not one of the following options:
  - domain
  - denyallow
  - header
  - strict1p, strict3p
  - csp
  - removeparam
- There is a matching exception filter

Related commit:
- a2a8ef7e85

A related mocha test has been added in order to detect this
specific regression in the future through `make test`.
2021-09-24 11:09:32 -04:00
Raymond Hill
4edafa97a3 New revision for dev build 2021-09-23 09:48:19 -04:00
Raymond Hill
8f98622374 Refactor implementation of ~[type] filter options
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1730

A new filter unit, FilterNotType, is introduced to enforce
negated filter type options.

Before this commit, there was no actual negated types in the
static network filtering engine, as a negated type was internally
converted to non-negated types at compile time. As a result,
the logger would never output a matching filter with its original
negated type options.

This commit no longer causes an internal conversion to take place
at compile time, but explicitly enforce negated types at match time,
and as a result the logger will from now on output matching filter
with their original negated type options.
2021-09-23 09:38:27 -04:00
Raymond Hill
f49c4e254b Add advanced setting to default modify webext flavor
Name: modifyWebextFlavor

Value: A list of space-separated tokens to be added/removed from the
computed default webext flavor.

The primary purpose is to give filter list authors the ability to
test mobile flavor on desktop computers. Though mobile versions of
web pages can be emulated using browser dev tools, it's not
possible to do so for uBO itself.

By using `+mobile` as a value for this setting will force uBO
to act as if it's being executed on a mobile device.

Important: this setting is best used in a dedicated browser
profile, as this affects how filter lists are compiled. So best
to set it in a new browser profile, then force all filter lists
to be recompiled, and use the profile in the future when there
is a need to test the specific webext flavor.
2021-09-22 09:37:21 -04:00
Raymond Hill
33a18c3a1e Convert fingerprint2.js scriptlet into a redirectable resource
As per internal discussion with volunteer filter list
maintainers.
2021-09-18 10:55:22 -04:00
Raymond Hill
348f5aa2aa New revision for stable release 2021-09-17 15:47:33 -04:00
Raymond Hill
33dd0104cc Update submodules 2021-09-17 15:38:32 -04:00
Raymond Hill
4b95420e59 New revision for release candidate 2021-09-15 08:32:33 -04:00
Raymond Hill
4100761863 Keep ability to prevent local IP address leaks for mobile version
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1723

Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1723#issuecomment-919913361
2021-09-15 08:28:10 -04:00
Raymond Hill
831cf478da Revert "Remove now obsolete webrtc-related setting"
This reverts commit af41aadab7.
2021-09-15 07:40:32 -04:00
Raymond Hill
a6c031b890 New revision for dev build 2021-09-14 10:07:40 -04:00
Raymond Hill
af41aadab7 Remove now obsolete webrtc-related setting
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1723

The leaking of local IP addresses is no longer an issue
in modern browsers.
2021-09-14 10:04:35 -04:00
Raymond Hill
826335178a Make Firefox dev build auto-update 2021-09-13 11:01:03 -04:00
Raymond Hill
5efa2f2e4c Update submodules 2021-09-13 10:53:23 -04:00
Raymond Hill
0e3f26ff05 Import translation work from https://crowdin.com/project/ublock 2021-09-13 10:53:00 -04:00
Raymond Hill
59b8b74eb5 New revision for release candidate 2021-09-13 10:50:34 -04:00
Raymond Hill
d930504e3e Better lookup all elements under mouse cursor in element picker
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/pefaov/elementpickerzapper_often_misses_images/hcnycbx/?context=3
2021-09-13 10:39:17 -04:00
Raymond Hill
1219d57561 Make Firefox dev build auto-update 2021-09-12 12:36:01 -04:00
Raymond Hill
49158ac7d4 New revision for release candidate 2021-09-12 12:21:38 -04:00
Raymond Hill
a3a66d0e31 Avoid parsing query parameters with URLSearchParams
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1717
2021-09-12 12:17:46 -04:00
Raymond Hill
670c5f1a7b Merge branch 'master' of https://github.com/gorhill/uBlock 2021-09-12 10:48:48 -04:00
Raymond Hill
68dfe98045 Add visual hint to grab area of element picker dialog
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1714
2021-09-12 10:47:40 -04:00
Manish Jethani
b83e2d4e2b Fix ESLint warning in useLists() (#3855) 2021-09-11 09:33:32 -04:00
Raymond Hill
2effd7ba3d Make Firefox dev build auto-update 2021-09-11 09:26:39 -04:00
Raymond Hill
076830b6ca New revision for release candidate 2021-09-11 09:19:20 -04:00
Raymond Hill
1cd4cd8877 Add dependency on assets/resources 2021-09-11 09:16:20 -04:00
Raymond Hill
745fbd1c02 Add no-xhr-if scriptlet
As per request from filter list maintainers.
2021-09-11 09:15:39 -04:00
Raymond Hill
eaffbc55ee Merge branch 'master' of https://github.com/gorhill/uBlock 2021-09-09 08:17:57 -04:00
Raymond Hill
a5c5a7df5e Update submodules 2021-09-09 08:13:35 -04:00
Raymond Hill
1ce7a1ed3a Update submodules 2021-09-09 08:00:52 -04:00
Raymond Hill
8e296dd671 Fix update-submodules script 2021-09-07 13:50:52 -04:00
Raymond Hill
68b15ed5d8 Update submodules 2021-09-07 13:49:43 -04:00
Raymond Hill
b6e1a621d5 Make Firefox dev build auto-update 2021-09-04 12:06:17 -04:00
Raymond Hill
b0d9afb38f New revision for release candidate 2021-09-04 11:58:48 -04:00
Raymond Hill
c105f9965e Import translation work from https://crowdin.com/project/ublock 2021-09-04 11:57:51 -04:00
Manish Jethani
f316a326cf Use native Punycode conversion (#3854) 2021-09-04 08:44:26 -04:00
Raymond Hill
430537632c Make Firefox dev build auto-update 2021-09-01 18:36:22 -04:00
Raymond Hill
781b77b402 New revision for dev build 2021-09-01 18:31:21 -04:00
Raymond Hill
6703ede9e8 Better diff output 2021-09-01 18:26:36 -04:00
Raymond Hill
5dd91211ae Catch exceptions thrown Object.defineProperty
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/9883

Related commit:
- a9e6f9c72c
2021-09-01 18:25:20 -04:00
Raymond Hill
79a2678f00 Update submodules 2021-08-29 12:23:02 -04:00
Raymond Hill
d41f28fcd8 Add median cost output to dig-snfe 2021-08-29 08:58:20 -04:00
Manish Jethani
19fb513d52 Update ./wasm/* files from publicsuffixlist.js (#3853) 2021-08-28 10:32:29 -04:00
Raymond Hill
255ae00677 Make Firefox dev build auto-update 2021-08-27 11:06:50 -04:00
Raymond Hill
5f4b496dbb new revision for dev build 2021-08-27 10:57:22 -04:00
Raymond Hill
a9e6f9c72c Assign value in set-constant regardless of configurable property
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1694
2021-08-27 10:48:49 -04:00
Eli Grey
6e6697fab6 Fix typo in comment about buffer expiry
The code below the comment specifies 30 seconds, while the comment says 60 seconds. This PR fixes that typo to make the comment indicate 30 seconds.
2021-08-26 17:03:39 -07:00
Raymond Hill
b87a0a60b8 Make Firefox dev build auto-update 2021-08-26 18:46:32 -04:00
Raymond Hill
c32cba64e0 New revision for dev build 2021-08-26 18:38:02 -04:00
Raymond Hill
46eb3801ec Revert "Inject scriptlets at webNavigation.onCommitted time in Firefox"
This reverts commit 7ee9c21b37.

Potentially related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1696
2021-08-26 18:36:36 -04:00
Manish Jethani
498f90966d Bring suffixInPSL() from upstream (#3851) 2021-08-26 08:50:49 -04:00
Raymond Hill
5eac054ac7 Make Firefox dev build auto-update 2021-08-25 11:01:01 -04:00
Raymond Hill
7cde7b3602 New revision for dev build 2021-08-25 10:56:40 -04:00
Raymond Hill
a21ecafbc6 Improve reliability of set-constant scriptlet
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1694
2021-08-25 10:48:50 -04:00
Raymond Hill
7ee9c21b37 Inject scriptlets at webNavigation.onCommitted time in Firefox
Just as is the case with Chromium.

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1694
2021-08-25 09:24:10 -04:00
Raymond Hill
92df3c9c22 Make Firefox dev build auto-update 2021-08-25 07:56:37 -04:00
Raymond Hill
45c1e0e683 New revision for dev build 2021-08-25 07:51:46 -04:00
Raymond Hill
c3015cb383 Merge branch 'patch-1' of https://github.com/paledega/uBlock into fix 2021-08-25 07:47:07 -04:00
Raymond Hill
a2d8545382 Forbid instances of /* in :style() operator
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1693
2021-08-25 07:43:26 -04:00
paledega
32ce27cf89 Update make-firefox.sh 2021-08-25 08:47:45 +00:00
Raymond Hill
5e6600a5cc Make Firefox dev build auto-update 2021-08-24 12:40:58 -04:00
Raymond Hill
69e81cbe31 New revision for dev build 2021-08-24 12:34:58 -04:00
Raymond Hill
6dcd5df991 Take into account simple selectors present in array of selectors
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1692
2021-08-24 12:29:48 -04:00
Raymond Hill
811a9be45f Make Firefox dev build auto-update 2021-08-24 10:16:33 -04:00
Raymond Hill
b54c3d5f4f New revision for dev build 2021-08-24 10:10:46 -04:00
Raymond Hill
18b0fa03f2 Import translation work from https://crowdin.com/project/ublock 2021-08-24 10:10:07 -04:00
Raymond Hill
f0b46bde4f Mitigate generic cosmetic filters erroneously targeting html/body
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1692

The ids/classes from html/body elements will leave out
looking up lowly generic cosmetic filters made of a single
identifier.

This does not absolutely guarantee that html/body elements
will never be targeted, but it should greatly mitigate the
probability that this erroneously happens.
2021-08-24 10:03:25 -04:00
Manish Jethani
925c01dc14 Fix ESLint globals error in biditrie.js (#3850) 2021-08-23 11:10:49 -04:00
Manish Jethani
d959c7aabe Remove globals.js (#3849) 2021-08-23 10:54:16 -04:00
Manish Jethani
d13294dd39 Remove globals usage from background.js (#3848) 2021-08-23 10:28:44 -04:00
Manish Jethani
724a946c79 Remove globals usage from start.js (#3847) 2021-08-23 10:16:02 -04:00
Manish Jethani
9761b02c79 Convert publicsuffixlist.js into an ES module (#3846) 2021-08-23 09:42:27 -04:00
Raymond Hill
ba83c21354 Fix trie instance iterator 2021-08-22 13:06:05 -04:00
Manish Jethani
9ddbb293c0 Convert punycode.js into an ES module (#3845) 2021-08-22 12:03:59 -04:00
Raymond Hill
73ae06230b Make Firefox dev build auto-update 2021-08-22 11:00:53 -04:00
Raymond Hill
2a20ea1df7 New revision for dev build 2021-08-22 10:52:43 -04:00
Raymond Hill
cfa00797ed Add spacer at the bottom of popup panel in portrait mode
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1604
- https://github.com/uBlockOrigin/uBlock-issues/issues/1691
2021-08-22 10:20:31 -04:00
Manish Jethani
1bde1e5ecb Convert regex.js into an ES module (#3844) 2021-08-22 08:25:06 -04:00
Manish Jethani
d6339ada62 Use WebAssembly object directly in index.js (#3843) 2021-08-21 16:02:32 -04:00
Raymond Hill
cd2a03fb89 Make Firefox dev build auto-update 2021-08-21 11:56:02 -04:00
Raymond Hill
d08cb5ed10 New revision for dev build 2021-08-21 11:52:10 -04:00
Raymond Hill
9d4006f2c3 Include query string when evaluating matches-path()
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1690#issuecomment-903133439
2021-08-21 11:50:46 -04:00
Raymond Hill
ef5385b3f4 Make Firefox dev build auto-update 2021-08-21 10:25:55 -04:00
Raymond Hill
e612d1c1f0 New revision for dev build 2021-08-21 10:22:22 -04:00
Raymond Hill
c0c70e2987 Fix normalization of matches-path operator
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1690
2021-08-21 10:20:43 -04:00
Raymond Hill
b2a792bae1 Make Firefox dev build auto-update 2021-08-21 10:16:21 -04:00
Raymond Hill
fa482c0466 New revision for dev build 2021-08-21 10:00:13 -04:00
Raymond Hill
9dece3bd30 Add new procedural cosmetic operator: :matches-path(...)
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1690

New procedural operator: `:matches-path(...)`

Description: this is a all-or-nothing passthrough operator, which
on/off behavior is dictated by whether the argument match the
path of the current location. The argument can be either plain
text to be found at any position in the path, or a literal regex
against which the path is tested.

Whereas cosmetic filters can be made specific to whole domain,
the new `:matches-path()` operator allows to further narrow
the specificity according to the path of the current document
lcoation.

Typically this procedural operator is used as first operator in
a procedural cosmetic filter, so as to ensure that no further
matching work is performed should there be no match against the
current path of the current document location.

Example of usage:

    example.com##:matches-path(/shop) p

Will hide all `p` elements when visiting `https://example.com/shop/stuff`,
but not when visiting `https://example.com/` or any other page
on `example.com` which has no instance of `/shop` in the path part
of the URL.
2021-08-21 09:41:48 -04:00
Manish Jethani
5d2c295600 Remove globals usage from hntrie.js (#3842) 2021-08-21 07:33:53 -04:00
Raymond Hill
7186bd24e5 Ignore jshint warning about URLSearchParams 2021-08-20 08:12:27 -04:00
Manish Jethani
ab13903019 Remove globals usage from static-net-filtering.js (#3841) 2021-08-20 07:54:05 -04:00
Raymond Hill
02a17af810 Let the caller do the awaiting
Local useLists() no longer returns a reference to
internal snfe instance.
2021-08-19 07:34:02 -04:00
Raymond Hill
19160f9018 Drop requestIdleCallback from globals
Related discussion:
- https://github.com/gorhill/uBlock/pull/3839

`requestIdleCallback` can be assumed always present on
browser-related platforms.
2021-08-19 07:31:27 -04:00
Raymond Hill
68675ed1cd Remove pointless dependency on location
Related discussion:
- https://github.com/gorhill/uBlock/pull/3839#discussion_r691502793
2021-08-19 07:23:53 -04:00
Manish Jethani
b19393d8dc Add tasks.js module (#3839) 2021-08-19 07:19:20 -04:00
Manish Jethani
4c1c6309b3 Add tests for SNFE filter loading multiple calls (#3836) 2021-08-18 07:52:54 -04:00
Manish Jethani
2a130704e3 Add check-leaks make target (#3837) 2021-08-18 07:28:23 -04:00
Raymond Hill
7a5c4e9547 Throw when useLists() called concurrently
Related feedback:
- https://github.com/gorhill/uBlock/pull/3836/files#r690687656
2021-08-17 16:57:39 -04:00
Raymond Hill
60e254608a Expose hasQuery() and fix coarse test for query parameters 2021-08-17 16:49:43 -04:00
Raymond Hill
8959cea3cc Expose matchAndFetchModifiers() in npm package
Also, add instrumentation for the method in dig-snfe.
2021-08-17 12:48:39 -04:00
Manish Jethani
a9aca818f9 Add tests for enableWASM() (#3835) 2021-08-17 09:53:28 -04:00
Manish Jethani
9a5a13a506 Add --full-battery option for tests (#3834) 2021-08-17 08:55:31 -04:00
Raymond Hill
14c8930ebb Make Firefox dev build auto-update 2021-08-17 08:41:21 -04:00
Raymond Hill
b44d9219c3 New revision for dev build 2021-08-17 08:25:31 -04:00
Manish Jethani
0bf19cc683 Run SNFE tests with Wasm off and on (#3833) 2021-08-17 08:24:07 -04:00
Raymond Hill
9ceef65f9a Fix regression with reporting "important" in logger
Related feedback:
- a2a8ef7e85 (commitcomment-54972030)
2021-08-17 07:32:54 -04:00
Raymond Hill
053c8eb29e Merge branch 'master' of https://github.com/gorhill/uBlock 2021-08-17 07:20:20 -04:00
Manish Jethani
f020e5334c Use createWorld() in request data tests (#3832) 2021-08-17 07:20:13 -04:00
Raymond Hill
2cdac0d691 Raise minimum version to Firefox 60
Related commit:
- 19f59df22d (commitcomment-54998740)
2021-08-17 07:16:16 -04:00
Raymond Hill
75c386b4d9 Make Firefox dev build auto-update 2021-08-16 13:16:15 -04:00
Raymond Hill
f0cb4091f0 Bump up npm package version 2021-08-16 12:56:39 -04:00
Raymond Hill
7bfea2e25a New revision for dev build 2021-08-16 12:55:16 -04:00
Raymond Hill
be7418264b Exclude more resources from the published npm package 2021-08-16 12:40:46 -04:00
Manish Jethani
f9655b9179 Run npm install in make-npm.sh (#3831) 2021-08-16 12:34:54 -04:00
Raymond Hill
a33f70cf20 Provide compiler/selfie versions for snfe
So as to allow nodejs usage to better deal with
out of date serialization/compilation.

Additionally, use FilterImportant() only when a
"block-important" filter is stored in the "block" realm.
2021-08-16 12:15:30 -04:00
Manish Jethani
30e46ba64a Use symlink for node_modules (#3830) 2021-08-16 11:54:03 -04:00
Raymond Hill
a2a8ef7e85 Avoid matching the block-important realm unconditionally
When matching a network request in the static network filtering
engine ("snfe"), these are the possible outcomes, from most
to least likely:

- No block
- Block
- Unblock ("exception" filter overriding the block)
- Block-important ("important" filter override the unblock)

Hence why the matching in the snfe always check for a match in
the "block" realm, and the "unblock" realm would be checked
if and only if there was a match in the "block" realm.

However the "block-important" realm was always matched against
first, and when a match in that realm was found, there would
be no need to check in other realms since nothing can override
the "important" option. The problem with this approach though
is that matches in the "block-important" realm are most
unlikely, which means pointless work being done for vast
majority of network requests.

This commit makes it so that the "block-important" realm is
matched against ONLY when there is a matched "unblock" filter.
The result is a measurable improvement in the snfe-related
benchmarks (though given the numbers involved, end users won't
perceive a difference).

Somewhat related discussion which was the motivation to look
more into this:

https://github.com/cliqz-oss/adblocker/discussions/2170#discussioncomment-1168125
2021-08-16 10:58:04 -04:00
Raymond Hill
10ca7438d7 Increase the logging of first best/worst requests to 1000 2021-08-16 10:54:27 -04:00
Manish Jethani
ffb4fe9b8f Run request data tests with Wasm enabled too (#3829) 2021-08-16 09:22:35 -04:00
Manish Jethani
36377320ae Run tests on request data (#3828) 2021-08-16 07:39:09 -04:00
Manish Jethani
514143cd80 Add c8 (#3826) 2021-08-15 17:33:56 -04:00
Manish Jethani
e009d69f86 Add tests for SNFE deserialization (#3827) 2021-08-15 17:28:16 -04:00
Raymond Hill
8bb44242bd Add platform "dig", to experiment/validate code changes
This is a replacement for the dubious approach when the
extension itself was used to run benchmarks to detect
performance and filtering behavior regressions.
2021-08-15 15:47:40 -04:00
Manish Jethani
29cea49197 Add tests for SNFE serialization (#3825) 2021-08-15 11:49:23 -04:00
Raymond Hill
0ec1204d37 Merge branch 'master' of https://github.com/gorhill/uBlock 2021-08-15 11:19:35 -04:00
Raymond Hill
e9ae8e1a0f Add static release() to StaticNetFilteringEngine class
The method ensures the actual SNFE is properly reset.
2021-08-15 11:18:01 -04:00
Manish Jethani
48d4f890d7 Add tests for SNFE initialization (#3823) 2021-08-15 11:16:57 -04:00
Manish Jethani
f8f45cab70 Lint Mocha tests too (#3824) 2021-08-15 11:13:13 -04:00
Raymond Hill
087da6407d Add support for nodejs flavors
The main nodejs flavor is "npm", which is to be used to
lint/test and the publication of an official npm
package -- and by design it has dependencies on mocha,
eslint, etc.

A new flavor "dig" has been created with minimal
dependencies and which purpose is to easily allow to
write specialized code to investigate local code changes
in uBO -- and it's not meant for publication.

Consequently, "make nodejs" has been replaced with
"make npm", and a new "dig" target has been added to the
makefile, to be used for instrumenting local code changes
for investigation purpose.
2021-08-15 10:43:36 -04:00
Manish Jethani
0a11999459 Test in new world (#3822) 2021-08-15 08:41:30 -04:00
Manish Jethani
bd8cb8d50f Use local tmp directory (#3821) 2021-08-14 12:55:20 -04:00
Manish Jethani
bafe824f09 Fix $TMPDIR check in make-nodejs.sh (#3820) 2021-08-14 12:31:17 -04:00
Manish Jethani
6c2856cb7e Add package-lock.json (#3819) 2021-08-14 11:59:14 -04:00
Raymond Hill
6c4472ce7f Save/restore node_modules dependencies if present
To avoid hacing to fetch them all over again each time we
launch the test suite.
2021-08-14 11:27:07 -04:00
Manish Jethani
fd9888f85e Spawn mocha from test.js (#3818) 2021-08-14 10:33:49 -04:00
Manish Jethani
bb5bfed779 Add tests for promise-based filter loading (#3817) 2021-08-14 07:56:03 -04:00
Manish Jethani
ef0075acc1 Add tests for filter loading (#3816) 2021-08-13 16:21:36 -04:00
Manish Jethani
806fe5dbe1 Add Mocha tests (#3815) 2021-08-13 13:08:13 -04:00
Manish Jethani
a56f43f007 Add .npmrc to stop generating package lock file (#3814) 2021-08-13 11:49:52 -04:00
Manish Jethani
daff6b3a34 Add eslint dependency within Node.js package (#3813) 2021-08-13 06:43:20 -04:00
Raymond Hill
f98666f7a3 Publish tgz package instead of zip
Related feedback:
    - https://github.com/gorhill/uBlock/pull/3812#issuecomment-897057648
2021-08-12 08:35:33 -04:00
Raymond Hill
e112f6e3bd Publish tgz package instead of zip
Related feedback:
- https://github.com/gorhill/uBlock/pull/3812#issuecomment-897057648
2021-08-12 08:33:43 -04:00
Manish Jethani
089c28861c Use npm pack (#3812) 2021-08-12 07:57:56 -04:00
Manish Jethani
993835b333 Use test assertions (#3811) 2021-08-10 14:08:05 -04:00
Manish Jethani
0d976d049c Add test target to makefile (#3810) 2021-08-10 13:50:06 -04:00
Raymond Hill
06a0dbc348 Make Firefox dev build auto-update 2021-08-10 09:56:10 -04:00
Raymond Hill
0eeb174a57 Import translation work from https://crowdin.com/project/ublock 2021-08-10 09:46:43 -04:00
Raymond Hill
ca9ee3281e New revision for dev build 2021-08-10 09:43:44 -04:00
Raymond Hill
c6fb70b1f0 Refactor hntrie to avoid the need for boundary cells
Whereas before the string segment was encoded as:

LL OOOOOOOOOOOO

where L are the upper 8 bits and used to encode the length
of the segment, and O are the lower 24 bits and used to
encode the offset of the string data in the character
buffer, the new code encode as follow:

OOOOOOOOOOOO LL

And furthermore the most significant bit of the length
LL is now used to mark whether the current string segment
is a label boundary.

This means a cell can't reference a segment longer then
127 characters. To work around this limitation for when a
segment is longer than 127 characters (a rare occurrence),
the algorithm will simply split the segment into multiple
adjacent cells.

As a result, there is no longer a need to encode
"boundariness" into special cells, which simplifies
both the storing and matching algorithms.

Additionally, added minimal documentation for the NPM
package on how to import and use HNTrieContainer as a
standalone API.
2021-08-10 09:27:59 -04:00
Manish Jethani
a3f430ef03 Remove install-nodejs and related make targets (#3809) 2021-08-09 21:59:44 -04:00
Manish Jethani
ab9f5ae100 Run build script via tools/make-nodejs.sh (#3808) 2021-08-09 20:02:58 -04:00
Raymond Hill
76abd04898 New revision for npm package 2021-08-09 19:34:35 -04:00
Manish Jethani
6b993f2f06 Fix pslInit() for install script (#3807) 2021-08-09 19:12:04 -04:00
Manish Jethani
d9adf5a6fb Add serialization API to StaticNetFilteringEngine (#3806) 2021-08-09 16:52:41 -04:00
Raymond Hill
b54bf554a8 Fix bad test in WASM version of HNTrieContainer
The erroneous test does not seem to interfere
with the proper functioning of the trie, due
to the fact that nodes are never split without
a OR node or boundary node being present.

The issue was found when undertaking a rewrite
of the algorithm to avoid having to create
boundary nodes.
2021-08-09 07:02:00 -04:00
Raymond Hill
385acd7b0a Fix eslint error 2021-08-08 11:49:31 -04:00
Raymond Hill
22768ddcd0 Remove undue dependencies on vAPI
Whether WebAssembly can be enabled or not should be
decided at a higher level.
2021-08-08 11:41:05 -04:00
Raymond Hill
19f59df22d Increase minimum version to Firefox 60.0
JavaScript modules becames officially available in
Firefox 60.0, which was published more than 3 years
ago.
2021-08-08 10:47:04 -04:00
Raymond Hill
5879610597 Bump up nodejs package version 2021-08-08 09:21:03 -04:00
Raymond Hill
7cd583a301 Revisit the nodejs API 2021-08-08 09:17:14 -04:00
Manish Jethani
65f0909ba0 Implement class StaticNetFilteringEngine (#3805) 2021-08-08 07:22:02 -04:00
Raymond Hill
500c895f6b update npm README 2021-08-07 11:38:22 -04:00
Raymond Hill
1a7f74aec9 Update README.md 2021-08-06 15:47:52 -04:00
Raymond Hill
57d54a44f7 Update README.md 2021-08-06 09:15:26 -04:00
Raymond Hill
c4b5f56e1b More appropriate badge for Chrome Web Store 2021-08-06 09:08:59 -04:00
Raymond Hill
9e6ec501ef Add badge for NPM, Chrome, Firefox, remove obsolete Travis badge 2021-08-06 08:51:33 -04:00
Raymond Hill
af54415959 README has unsaved pending edits... 2021-08-06 08:29:13 -04:00
Raymond Hill
4495c37ca3 Provide basic documentation for the NPM package 2021-08-06 08:25:36 -04:00
Raymond Hill
5eb99a4dd6 ... 2021-08-05 14:36:13 -04:00
Raymond Hill
05f0e04c07 Just trying to get this done.. 2021-08-05 14:34:21 -04:00
Raymond Hill
fe7ce8f576 Need to bump version to publish README 2021-08-05 14:32:07 -04:00
Raymond Hill
70d5d28a7c Add minimal README to nodejs package 2021-08-05 14:28:17 -04:00
Raymond Hill
8c48375caf Fix test.js following changes in API 2021-08-05 14:19:04 -04:00
Raymond Hill
9fc361c84f Make Firefox dev build auto-update 2021-08-05 13:56:35 -04:00
Raymond Hill
fae594e3ef New revision for dev build 2021-08-05 13:50:53 -04:00
Raymond Hill
63e55a1696 Expose ability to compile raw list into their intermeditate form
For clients who may wish to persist the intermediate compiled form
in order to be able to skip costly parsing operation when the
list is fed to the static network filtering engine.
2021-08-05 13:37:41 -04:00
Raymond Hill
4818405cf6 Remove need to pass parser at every compile() call
The compiler instance is already initialized with a
reference to the parser, no need to keep passing the
reference at each call to compile().
2021-08-05 13:30:20 -04:00
Manish Jethani
543e1a3aea Add ESLint rules for possible errors (#3804) 2021-08-04 15:27:32 -04:00
Raymond Hill
85c68116bd Group all compiling-related code into FilterCompiler() class
In the static network filtering engine (snfe), the
compiling-related code was spread across two classes.
This commit makes it so that all the compiling-related
code is in FilterCompiler class, which clear purpose is
to compile raw filters into a form which can be persisted
and later fed to the snfe with no parsing overhead.

To compile raw static network filter, the new approach is:

    snfe.createCompiler(parser);

Then for each single raw filter to compile:

    compiler.compile(parser, writer);

The caller is responsible to keep a reference to the
compiler instance for as long as it is needed. This removes
the need for the clunky code used to keep an instance of
compiler alive in the snfe.

Additionally, snfe.tokenHistograms() has been moved to
benchmarks.js, as it has no dependency on the snfe, it's
just a utility function.
2021-08-04 15:14:48 -04:00
Manish Jethani
4ea0d134ad Move linting out of tools/make-nodejs.sh (#3803) 2021-08-04 14:40:20 -04:00
Raymond Hill
e86a4cee87 Make Firefox dev build auto-update 2021-08-03 14:11:44 -04:00
Raymond Hill
c0197f50d6 New revision for dev build 2021-08-03 14:06:21 -04:00
Raymond Hill
5e8f847aeb Fix regression in cloud storage upload/download
Reported in team discussion

Regression from:
- 22022f636f
2021-08-03 14:03:00 -04:00
Raymond Hill
a3186fd6e7 Make Firefox dev build auto-update 2021-08-03 12:50:54 -04:00
Raymond Hill
314d6082f2 Fix broken GitHub actions
Related discussion:
- ad69c760fb (commitcomment-54363709)
2021-08-03 12:47:26 -04:00
Raymond Hill
372356740a new revision for dev build 2021-08-03 12:26:09 -04:00
Raymond Hill
89c5653bc6 Export the rule-based filtering engines to the nodejs package
The code exported to nodejs package was revised to use modern
JavaScript syntax. A few issues were fixed at the same time.

The exported classes are:
- DynamicHostRuleFiltering
- DynamicURLRuleFiltering
- DynamicSwitchRuleFiltering

These related to the content the of "My rules" pane in the
uBlock Origin extension.
2021-08-03 12:19:25 -04:00
Raymond Hill
cbec7397fc Fix jshint warnings
Those warnings surfaced as a result of removing the braces
used to create a local namespace.
2021-08-03 12:08:59 -04:00
Manish Jethani
4094f48547 Fix style in index.js (#3802) 2021-08-03 12:03:11 -04:00
Raymond Hill
5237558f9b Add build script as a dependency
Related discussion:
- https://github.com/gorhill/uBlock/pull/3789#issuecomment-891902206
2021-08-03 11:27:55 -04:00
Manish Jethani
6ef74fc21b Rewrite logical expressions for ESLint (#3801) 2021-08-03 10:59:01 -04:00
Manish Jethani
3ca5e6817d Fix ESLint indentation warnings (#3800)
* Fix ESLint indentation warnings

* Undo code reformatting within parentheses

* Add exception for logical expressions

* Update array expression rule

* Disable rule for reProceduralOperator assignment

* Fix indentation in static-filtering-parser.js
2021-08-03 10:14:40 -04:00
Manish Jethani
6b85b7f2b1 Create build folder in npm install script (#3799) 2021-08-03 07:02:48 -04:00
Manish Jethani
ad69c760fb Run ESLint during Node.js package generation (#3798) 2021-08-02 16:55:03 -04:00
Manish Jethani
502e5b0ec8 Use fs API to load serialized PSL (#3797) 2021-08-02 12:32:47 -04:00
Raymond Hill
035987749b Make Firefox dev build auto-update 2021-08-02 10:31:43 -04:00
Raymond Hill
baff4a2feb Fix script aborting when rm fails 2021-08-02 10:24:24 -04:00
Raymond Hill
d9b9fed266 Import translation work from https://crowdin.com/project/ublock 2021-08-02 10:23:37 -04:00
Raymond Hill
15919789cc New revision for dev build 2021-08-02 10:13:39 -04:00
Raymond Hill
f8daea085b Remove assets dependency from redirect engine
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1664

This change allows to add the redirect engine into the
nodejs package. The purpose of the redirect engine is to
resolve a redirect token into a path to a local resource,
to be used by the caller as wished.
2021-08-02 09:23:48 -04:00
Manish Jethani
3879835324 Remove bundle generation from Node.js package (#3796) 2021-08-02 09:17:56 -04:00
Raymond Hill
f1106acf4b Rename nodejs package
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1664#issuecomment-890834827
2021-08-02 08:08:43 -04:00
Manish Jethani
297bcea49b Generate bundle.min.js in Node.js install script (#3794) 2021-08-01 18:33:13 -04:00
Manish Jethani
0b764934e0 Serialize PSL in Node.js install script (#3793) 2021-08-01 16:42:05 -04:00
Raymond Hill
c6d275674d Revert "Make the nodejs package load a serialized version of the PSL"
This reverts commit 46c6ff8708.
2021-08-01 15:42:46 -04:00
Raymond Hill
46c6ff8708 Make the nodejs package load a serialized version of the PSL
Related discussion:
- https://github.com/cliqz-oss/adblocker/pull/2091#issuecomment-890545926
2021-08-01 12:58:21 -04:00
Manish Jethani
8a33bda653 Use lower case for Node.js package name (#3792) 2021-08-01 05:22:57 -04:00
Raymond Hill
e8122263dc Merge branch 'master' of https://github.com/gorhill/uBlock 2021-07-31 18:37:15 -04:00
Raymond Hill
4236d4a0c1 Fix dist/build/uBlock0.nodejs.tgz target as suggested
Related discussion:
- https://github.com/gorhill/uBlock/pull/3789#issuecomment-890410567
2021-07-31 18:36:31 -04:00
Manish Jethani
be68a6b5b4 Use set -e in Bash scripts (#3791) 2021-07-31 17:34:25 -04:00
Raymond Hill
43b7cc37e0 Make Firefox dev build auto-update 2021-07-31 14:55:58 -04:00
Raymond Hill
03f4ac77da Update to current state of uAssets 2021-07-31 14:51:10 -04:00
Raymond Hill
c89a320e7f Add update-submodules as a target 2021-07-31 14:50:31 -04:00
Raymond Hill
6fa8ae619d Revert "Pass -e flag to bash (#3790)"
This reverts commit bb20159495.
2021-07-31 14:49:32 -04:00
Raymond Hill
77bff031a5 new revision for dev build 2021-07-31 14:40:55 -04:00
vt
2b9aba2748 Handle invalid meta refresh URLs in noscript scriptlet
Invalid URLs like "http://" and "http://foo@" trigger TypeErrors
when they are passed to the URL constructor. These TypeErrors
caused the scriptlet to stop processing subsequent noscript nodes
due to uncaught exceptions.

These exceptions are now caught to allow all noscript nodes to
be processed.
2021-07-31 13:16:33 -04:00
Manish Jethani
bb20159495 Pass -e flag to bash (#3790) 2021-07-31 12:15:32 -04:00
Raymond Hill
de1feb0948 Fix make-nodejs
Broken due to renaming text-iterators to text-utils.
2021-07-31 08:59:55 -04:00
Manish Jethani
43e77854c4 Add Makefile (#3789) 2021-07-31 08:41:28 -04:00
Raymond Hill
cb72211795 Move orphanizeString() into text-utils module
Another small step toward the goal of reducing dependency
on `µb`.

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1664

text-iterators module has been renamed text-utils to better
reflect its content.
2021-07-31 08:38:33 -04:00
Raymond Hill
2eb02c5adc Fix spurious error message in dev console
Ports can be disconnected under certain conditions,
and in such case runtime.lastError must be accessed
to avoid the extensions framework from emitting
error messages in the console.
2021-07-31 07:20:38 -04:00
Raymond Hill
dc08478130 Fix https://github.com/uBlockOrigin/uBlock-issues/issues/1675 2021-07-31 07:15:19 -04:00
Raymond Hill
23cabfd440 Fix erroneous removal of code from pslInit() 2021-07-31 07:09:01 -04:00
Raymond Hill
d5da88ea87 Simplify loading of WASM modules in nodejs 2021-07-31 07:06:11 -04:00
Raymond Hill
5be4d5d877 Make pslInit() returns the publicSuffixList instance used internally
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1664#issuecomment-889647595
2021-07-30 07:00:45 -04:00
Raymond Hill
a58a093d90 Make Firefox dev build auto-update 2021-07-29 17:11:42 -04:00
Raymond Hill
98dd03b09b New revision for dev build 2021-07-29 17:05:19 -04:00
Raymond Hill
076a088371 Remove stray async 2021-07-29 17:04:32 -04:00
Raymond Hill
98fc66bb1b Add support for enabling WASM code paths in NodeJS package
See `test.js` for reference on how to enable WASM code
paths (which are disabled by default).
2021-07-29 16:54:51 -04:00
Raymond Hill
b02970f5ee Add command to update submodules 2021-07-29 11:46:35 -04:00
Raymond Hill
5ce30d7163 Update submodules 2021-07-29 11:39:11 -04:00
Raymond Hill
0757c44552 Update submodules 2021-07-29 11:31:48 -04:00
Manish Jethani
63591ef2aa Make uAssets a submodule 2021-07-29 19:36:49 +05:30
Raymond Hill
5560071468 Make Firefox dev build auto-update 2021-07-29 09:21:16 -04:00
Raymond Hill
0c326b3b89 New revision for dev build 2021-07-29 09:06:08 -04:00
Raymond Hill
1257dda47f Import translation work from https://crowdin.com/project/ublock 2021-07-29 09:03:03 -04:00
Raymond Hill
3488e6d5ba Merge branch 'master' of https://github.com/gorhill/uBlock into 1664 2021-07-29 08:54:48 -04:00
Raymond Hill
8ef8c5ab2e Group all benchmarking functions in a separate file
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1664

The various filtering engine benchmarking functions are best
isolated in their own file since they have specific
dependencies that should not be suffered by the filtering
engines.

Additionally, moved decomposeHostname() into uri-utils.js
as it's a hostname-related function required by many
filtering engine cores -- this allows to further reduce
or outright remove dependency on `µb`.
2021-07-29 08:44:15 -04:00
Raymond Hill
62b6826dd5 Further modularize uBO's codebase
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1664

Modularization is a necessary step toward possibly publishing
a more complete nodejs package to allow using uBO's filtering
capabilities outside of the uBO extension.

Additionally, as per feedback, remove undue usage of console
output as per feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1664#issuecomment-888451032
2021-07-28 19:48:38 -04:00
Raymond Hill
d7cd6d72f6 Build/release a nodejs package in tagged releases
Related issue:
- https://github.com/cliqz-oss/adblocker/pull/2075
2021-07-28 19:43:11 -04:00
Raymond Hill
09db8803c5 Remove requirement of uAssets presence to build a package
Related discussion:
- https://github.com/cliqz-oss/adblocker/pull/2075#discussion_r678654293
2021-07-28 19:40:11 -04:00
Raymond Hill
4612bfdbac Make Firefox dev build auto-update 2021-07-28 13:11:09 -04:00
Raymond Hill
2f53a1a11e New revision for dev build 2021-07-28 13:07:01 -04:00
Raymond Hill
ee0b2c2fa4 Do not truncate datalayer
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1671

Regression from:
- 0dbe581c5b
2021-07-28 12:45:03 -04:00
Raymond Hill
e1222d1643 Use require instead of fs
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1664#issuecomment-888332409
2021-07-28 10:38:24 -04:00
Raymond Hill
22022f636f Modularize codebase with export/import
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1664

The changes are enough to fulfill the related issue.

A new platform has been added in order to allow for building
a NodeJS package. From the root of the project:

    ./tools/make-nodejs

This will create new uBlock0.nodejs directory in the
./dist/build directory, which is a valid NodeJS package.

From the root of the package, you can try:

    node test

This will instantiate a static network filtering engine,
populated by easylist and easyprivacy, which can be used
to match network requests by filling the appropriate
filtering context object.

The test.js file contains code which is typical example
of usage of the package.

Limitations: the NodeJS package can't execute the WASM
versions of the code since the WASM module requires the
use of fetch(), which is not available in NodeJS.

This is a first pass at modularizing the codebase, and
while at it a number of opportunistic small rewrites
have also been made.

This commit requires the minimum supported version for
Chromium and Firefox be raised to 61 and 60 respectively.
2021-07-27 17:26:04 -04:00
Raymond Hill
193cbac43e Make Firefox dev build auto-update 2021-07-26 08:40:46 -04:00
Raymond Hill
3ba1fe05eb New revision for dev build 2021-07-26 08:36:00 -04:00
Raymond Hill
f392d09a13 Fix broken the compiling of generic cosmetic exception filters
Related issue:
- https://github.com/uBlockOrigin/uAssets/pull/9637

Regression from
- https://github.com/gorhill/uBlock/commit/c25938f
2021-07-26 08:34:32 -04:00
Raymond Hill
89064478dd Modernize code: URLSearchParams() API support is now widespread 2021-07-25 07:08:03 -04:00
Raymond Hill
bf7b0702e4 Make Firefox dev build auto-update 2021-07-24 07:56:34 -04:00
Raymond Hill
8d270cf6e6 New revision for dev build 2021-07-24 07:48:20 -04:00
Raymond Hill
c25938f5bc Ensure compiled sections are ordered in ascending id
Related issue:
- https://www.reddit.com/r/uBlockOrigin/comments/oq6kt5/ubo_loads_generic_filter_instead_of_specific/h6a4nca/
2021-07-24 07:44:26 -04:00
Raymond Hill
2035475371 Make Firefox dev build auto-update 2021-07-23 10:35:48 -04:00
Raymond Hill
0fcb3cee37 New revision for dev build 2021-07-23 10:13:11 -04:00
Raymond Hill
51d14de44a Fix handling of some procedural cosmetic filters with explicit :scope
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1011#issuecomment-884806241
2021-07-23 10:11:07 -04:00
Raymond Hill
63c5bd34dc Simplify maintenance 2021-07-23 09:04:59 -04:00
Raymond Hill
c893f76c12 Fix broken test 2021-07-23 08:51:06 -04:00
Raymond Hill
22284e5ff6 Use #?# form to make the test page compatible with other blockers 2021-07-23 08:43:49 -04:00
Raymond Hill
31e0ea1e83 Add more procedural cosmetic filter cases
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1011#issuecomment-884806241
2021-07-23 08:39:23 -04:00
1030 changed files with 131785 additions and 35252 deletions

View File

@@ -1,17 +1,14 @@
blank_issues_enabled: false
contact_links:
- name: Bug report
url: https://github.com/uBlockOrigin/uBlock-issues
about: Bugs and feature requests are now in a separate repository
- name: Questions and support
url: https://old.reddit.com/r/uBlockOrigin/
about: Answers to questions and other kinds of help support is provided on the subreddit r/uBlockOrigin
- name: Filter issues/website is broken
- name: Support Forum
url: https://www.reddit.com/r/uBlockOrigin/
about: For support, questions, or help, visit /r/uBlockOrigin.
- name: uBlock Origin (uBO) Issues
url: https://github.com/uBlockOrigin/uBlock-issues/issues
about: Report issues with uBO in the uBO issue tracker.
- name: Filter List Issues
url: https://github.com/uBlockOrigin/uAssets/issues
about: Please report any issues with specific websites to uAssets issue tracker
- name: New filter list
url: https://github.com/uBlockOrigin/uBlock-issues/blob/master/README.md#ublock-issues
about: Opening issues for adding new filter lists is now disallowed and such issues will be declined and closed
- name: Issues with Firefox 56 or older
url: https://github.com/gorhill/uBlock-for-firefox-legacy/issues
about: If you are using uBlock Origin for Firefox legacy, please write the issues to its issue tracker
about: Report issues with filter lists or broken website functionality in the uAssets issue tracker.
- name: uBO Lite (uBOL) Issues
url: https://github.com/uBlockOrigin/uBOL-home/issues
about: Report issues specific to the Manifest Version 3 (MV3) variant in the uBOL issue tracker.

7
.github/workflows/RELEASE.HEAD.md vendored Normal file
View File

@@ -0,0 +1,7 @@
[Commits to Master Since This Release](https://github.com/gorhill/uBlock/compare/%version%...master)
#### How to Install the Developer Build:
- **Firefox**: Signing pending <!-- Download the build from [uBlock0_%version%.firefox.signed.xpi](https://github.com/gorhill/uBlock/releases/download/%version%/uBlock0_%version%.firefox.signed.xpi). -->
uBO works best on Gecko-based browsers, check out [why](https://github.com/gorhill/uBlock/wiki/uBlock-Origin-works-best-on-Firefox).
- **Chromium**: Install directly from the [Chrome Web Store](https://chromewebstore.google.com/detail/ublock-origin-development/cgbcahbpdhpcegmbfconppldiemgcoii).

View File

@@ -1,70 +1,50 @@
name: GitHub CI
name: uBO release
on:
create:
branches: master
# I used the following project as template to get started:
# https://github.com/dessant/search-by-image/blob/master/.github/workflows/ci.yml
permissions:
contents: read
jobs:
build:
permissions:
contents: write # for creating release
name: Build packages
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Clone repository
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Clone uAssets
run: |
pushd ..
git clone --depth 1 https://github.com/uBlockOrigin/uAssets.git
popd
# https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html
tools/pull-assets.sh
- name: Get release information
id: release_info
run: |
echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
echo "VERSION=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
- name: Build MV2 packages
run: |
tools/make-chromium.sh ${{ env.VERSION }}
tools/make-firefox.sh ${{ env.VERSION }}
- name: Assemble release notes
run: |
> release.body.txt
grep -m1 -B10000 -- "----------" CHANGELOG.md >> release.body.txt
sed -e 's/%version%/${{ env.VERSION }}/g' .github/workflows/RELEASE.HEAD.md >> release.body.txt
- name: Create GitHub release
id: create_release
uses: actions/create-release@v1
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ github.token }}
with:
tag_name: ${{ steps.release_info.outputs.VERSION }}
release_name: ${{ steps.release_info.outputs.VERSION }}
tag_name: ${{ env.VERSION }}
name: ${{ env.VERSION }}
draft: true
prerelease: true
- name: Build all packages
run: |
tools/make-chromium.sh ${{ steps.release_info.outputs.VERSION }}
tools/make-firefox.sh ${{ steps.release_info.outputs.VERSION }}
tools/make-thunderbird.sh ${{ steps.release_info.outputs.VERSION }}
- name: Upload Chromium package
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/build/uBlock0_${{ steps.release_info.outputs.VERSION }}.chromium.zip
asset_name: uBlock0_${{ steps.release_info.outputs.VERSION }}.chromium.zip
asset_content_type: application/octet-stream
- name: Upload Firefox package
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/build/uBlock0_${{ steps.release_info.outputs.VERSION }}.firefox.xpi
asset_name: uBlock0_${{ steps.release_info.outputs.VERSION }}.firefox.xpi
asset_content_type: application/octet-stream
- name: Upload Thunderbird package
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/build/uBlock0_${{ steps.release_info.outputs.VERSION }}.thunderbird.xpi
asset_name: uBlock0_${{ steps.release_info.outputs.VERSION }}.thunderbird.xpi
asset_content_type: application/octet-stream
body_path: release.body.txt
files: |
dist/build/uBlock0_${{ env.VERSION }}.chromium.zip
dist/build/uBlock0_${{ env.VERSION }}.firefox.xpi

3
.gitignore vendored
View File

@@ -1,4 +1,7 @@
*.bak
*.pem
__pycache__/
node_modules/
/dist/build/
/tmp/
.DS_Store

6
.gitmodules vendored Normal file
View File

@@ -0,0 +1,6 @@
[submodule "platform/mv3/extension/lib/codemirror/codemirror-ubol"]
path = platform/mv3/extension/lib/codemirror/codemirror-ubol
url = https://github.com/gorhill/codemirror-ubol.git
[submodule "publish-extension"]
path = publish-extension
url = https://github.com/gorhill/publish-extension.git

View File

@@ -1,24 +0,0 @@
{
"browser": true,
"devel": true,
"eqeqeq": true,
"esversion": 8,
"globals": {
"browser": false, // global variable in Firefox, Edge
"chrome": false, // global variable in Chromium, Chrome, Opera
"log": false,
"safari": false,
"self": false,
"vAPI": false,
"webext": false,
"µBlock": false
},
"laxbreak": true,
"newcap": false,
"nonew": false,
"strict": "global",
"sub": true,
"undef": true,
"unused": true,
"validthis": true
}

448
CHANGELOG.md Normal file
View File

@@ -0,0 +1,448 @@
- [Improve `href-sanitizer` scriptlet](https://github.com/gorhill/uBlock/commit/a43d1d8c42)
- [Fix `editInboundObjectFn` utility scriptlet](https://github.com/gorhill/uBlock/commit/d376adaae8)
- [Improve `trusted-replace-argument` scriptlet](https://github.com/gorhill/uBlock/commit/52bc354bce)
- [Add ability to test against regex in JSONPath expressions](https://github.com/gorhill/uBlock/commit/f36d2b8496)
- [Improve `proxy-apply` utility scriptlet](https://github.com/gorhill/uBlock/commit/dd4f764920)
- [Fix `removeparam` for multiple query parameters with same name](https://github.com/gorhill/uBlock/commit/3e5ea3b03f)
- [Improve `trusted-click-element` scriptlet](https://github.com/gorhill/uBlock/commit/9aa91ba111)
- [Improve `google-ima` shim](https://github.com/gorhill/uBlock/commit/8de47f250d)
- [Add back a uBO-specific version of "CERT.PL's Warning List"](https://github.com/gorhill/uBlock/commit/87dddb7d78)
----------
# 1.66.4
- [Fix potential infinite loop when scanning for `$` anchor](https://github.com/gorhill/uBlock/commit/889c0eb208)
- [Allow generic exception for `replace=` option](https://github.com/gorhill/uBlock/commit/52dba4116e)
----------
# 1.66.2
- [Fix version snafu](https://github.com/gorhill/uBlock/commit/50cb780107)
----------
# 1.66.0
- [Improve `prevent-fetch` scriptlet](https://github.com/gorhill/uBlock/commit/d2bce26e7d)
- [Add support to strict-block from `ipaddress=` option](https://github.com/gorhill/uBlock/commit/6327aae56c)
- [Improve rendering with high-contrast theme](https://github.com/gorhill/uBlock/commit/5d7e5ee3a0) (fix suggested by @emv33)
- [Fix undue fetch from remote server at first install](https://github.com/gorhill/uBlock/commit/9327e19233)
- [Improve compatibility of `uritransform=` with DNR syntax](https://github.com/gorhill/uBlock/commit/aaf35d9d71)
- [Allow usage of `csp=`/`permissions=` with resource type object](https://github.com/gorhill/uBlock/commit/07e9f805bb)
- [JSONPath: Add ability to select root node for appending/modifying](https://github.com/gorhill/uBlock/commit/faff035203)
- [JSONPath: Add ability to substitute a pattern within a string value](https://github.com/gorhill/uBlock/commit/38ca6d41ff)
- [Remove "CERT.PL's Warning List" from stock lists](https://github.com/gorhill/uBlock/commit/e713e133eb)
- [Fix incorrect CNAME-related test in advanced settings](https://github.com/gorhill/uBlock/commit/171ddd3e06)
- [Remove "AdGuard Tracking Protection"from stock list](https://github.com/gorhill/uBlock/commit/14a9572c86)
- [Add filter list for experimental filters](https://github.com/gorhill/uBlock/commit/d88814bc12)
- [Improve `fingerprint2.js` shim](https://github.com/gorhill/uBlock/commit/7d9317bb17)
- [Make `google-ima` a valid injectable scriptlet](https://github.com/gorhill/uBlock/commit/47cbb43a0e)
- [Improve `abort-current-script` scriptlet](https://github.com/gorhill/uBlock/commit/fef50e59f2)
- [Fix potential exception in procedural operator `:matches-attr`](https://github.com/gorhill/uBlock/commit/e07e7bbd09)
- [Improve reporting of `reason` option in strict-blocked pages](https://github.com/gorhill/uBlock/commit/b7510eee61)
- [Improve `prevent-innerHTML` scriptlet](https://github.com/gorhill/uBlock/commit/b0396029bd)
----------
# 1.65.0
## Fixes / changes
- [Reset `important` option flag at `header` evaluation time](https://github.com/gorhill/uBlock/commit/66b68b4442)
- [Fix broken reverse lookup of filter lists](https://github.com/gorhill/uBlock/commit/527b4a201f)
- [Add `[trusted-]edit-inbound-object` scriptlets](https://github.com/gorhill/uBlock/commit/6e466cf945)
- [Improve `remove-cookie` scriptlet](https://github.com/gorhill/uBlock/commit/0a8ea58bb7)
- [Add `json-edit`-related scriptlets](https://github.com/gorhill/uBlock/commit/87e0434c90)
- [Improve `trusted-set-cookie` scriptlet](https://github.com/gorhill/uBlock/commit/3a2bb62519)
- [Force cache bypass reload when no-scripting switch is toggled](https://github.com/gorhill/uBlock/commit/4affe343dd)
- [Improve `jsonl[...]` suite of scriptlets](https://github.com/gorhill/uBlock/commit/ed9999efd6)
- [Add support for network filter option `message`](https://github.com/gorhill/uBlock/commit/d8298bb067)
- [Complete support for reporing strict-block messages](https://github.com/gorhill/uBlock/commit/253ef7ade3)
- [Make `header=` syntax compatible with DNR rules](https://github.com/gorhill/uBlock/commit/408b538e75)
- [Counter CodeMirror's `pointer-events: none` on scrollbars](https://github.com/gorhill/uBlock/commit/c44f043ed3)
- [Fix element picker issue with explicit dark theme](https://github.com/gorhill/uBlock/commit/0130fdf4a1)
----------
# 1.64.0
## Fixes / changes
- [Use custom blank page for embedded iframe in dashboard](https://github.com/gorhill/uBlock/commit/8cd6212867)
- [Use `color-scheme` `meta` tag, as suggested](https://github.com/gorhill/uBlock/commit/5c029b3532)
- [Bring zapper look in line with uBO Lite's zapper](https://github.com/gorhill/uBlock/commit/3f59f94b60)
- [Ignore `start_page` transition for popup-blocking purpose](https://github.com/gorhill/uBlock/commit/0243a141a7)
- [Exclude `chrome:` as valid openers for popup candidates](https://github.com/gorhill/uBlock/commit/59f4aca010)
- [Fetch diff patches from "reliable" servers only](https://github.com/gorhill/uBlock/commit/8b964a8c54)
- [Add `trusted-create-html` scriptlet](https://github.com/gorhill/uBlock/commit/20dd606504)
- [Mind potential race condition when dynamically registering scriptlets](https://github.com/gorhill/uBlock/commit/15e832da8a)
- [Fix undue unchecking of setting in "My filters"](https://github.com/gorhill/uBlock/commit/2bb6999e3f)
- [Add path support as target option in static extended filtering](https://github.com/gorhill/uBlock/commit/8b696a691a)
- [Add `trusted-prevent-fetch` scriptlet](https://github.com/gorhill/uBlock/commit/4ce26b63ff)
- [Code viewer shouldn't be maximizable](https://github.com/gorhill/uBlock/commit/97e740bd2c)
- [Add `json-edit` suite of scriptlets; extend `replace=` option](https://github.com/gorhill/uBlock/commit/b18daa53aa)
- [Improve `trusted-prevent-dom-bypass` scriptlet](https://github.com/gorhill/uBlock/commit/68a256bdde)
- [Add `jsonl-prune-xhr-response`/`jsonl-prune-fetch-response` scriptlets](https://github.com/gorhill/uBlock/commit/95a3be9d56)
- [Improve `[json-prune|trusted-replace]-fetch-response` scriptlets](https://github.com/gorhill/uBlock/commit/88fa550a96)
----------
# 1.63.2
## Fixes / changes
- [Fix TypedArray overflow](https://github.com/gorhill/uBlock/commit/76b80baaea)
- [Add prevent-innerHTML scriptlet](https://github.com/gorhill/uBlock/commit/fe744816f1)
----------
# 1.63.0
## Fixes / changes
- [Improve `prevent-set[Timeout|Interval]` scriptlets](https://github.com/gorhill/uBlock/commit/d36ea89a02)
- [Add quit button to element zapper mode](https://github.com/gorhill/uBlock/commit/4aebdbb0a9)
- [Improve `trusted-override-element-method` scriptlet](https://github.com/gorhill/uBlock/commit/9e946ce0c3)
- [Disable obsolete cache-control workaround for Firefox](https://github.com/gorhill/uBlock/commit/34cea70924)
- [Improve `overlay-buster` scriptlet](https://github.com/gorhill/uBlock/commit/fc231998b9)
- [Add ability to inject scriptlets according to origin of ancestor contexts](https://github.com/gorhill/uBlock/commit/a483f7955f)
- [Fix range parser in prevent-setTimeout scriptlet](https://github.com/gorhill/uBlock/commit/e636c32f2a)
- [Add filter option synonyms for `strict1p`/`strict3p`](https://github.com/gorhill/uBlock/commit/34df044808)
- [Increase URL buffer size to 8192 (from 2048)](https://github.com/gorhill/uBlock/commit/36404543e4)
- [Use onmessage/postMessage instead of BroadcastChannel in diff updater](https://github.com/gorhill/uBlock/commit/ea8853cda3)
- [Improve `disable-newtab-links` scriptlet](https://github.com/gorhill/uBlock/commit/d41989e62a)
- [Improve `prevent-addEventListener` scriptlet](https://github.com/gorhill/uBlock/commit/9c26a07b53)
- [Fix reverse lookup of `##^responseheader(...)` filters](https://github.com/gorhill/uBlock/commit/5921e50e03)
- [Improve `evaldata-prune` scriptlet](https://github.com/gorhill/uBlock/commit/9bb1a2baaf)
- [Comply with Mozilla's "User Consent and Control"](https://github.com/gorhill/uBlock/commit/344539d793)
- [Improve `noeval-if` scriptlet](https://github.com/gorhill/uBlock/commit/0df7faffac)
- [Add "closed","next", "mandatory", "agree/disagree" values to `set-cookie` scriptlet](https://github.com/gorhill/uBlock/commit/35a47d674b) (by @ryanbr)
- [Add `decline` value to `set-cookie` scriptlet](https://github.com/gorhill/uBlock/commit/4b12247da1)
- [Improve `abort-on-stack-trace` scriptlet](https://github.com/gorhill/uBlock/commit/b617926c1c)
- [Improve `href-sanitizer` scriptlet](https://github.com/gorhill/uBlock/commit/551c6bc6eb)
----------
# 1.62.0
## Fixes / changes
- [Fix deserialization of ArrayBuffer shared by multiple TypedArrays](https://github.com/gorhill/uBlock/commit/c92a518218)
- [Improve `trusted-suppress-native-method` scriptlet](https://github.com/gorhill/uBlock/commit/cb6c11ab6f)
- [Improve `urlskip=` filter option](https://github.com/gorhill/uBlock/commit/a7aa755f18)
- [Improve `parse-properties-to-match` scriptlet helper](https://github.com/gorhill/uBlock/commit/7494eaf621)
- [Improve `href-sanitizer` scriptlet](https://github.com/gorhill/uBlock/commit/9bf8d53ebe)
- [Improve quote usage in filter options and scriptlets](https://github.com/gorhill/uBlock/commit/8ba71f09d7)
- [Improve `trusted-suppress-native-method` scriptlet](https://github.com/gorhill/uBlock/commit/7ed3470844)
- [Improve `trusted-replace-argument` scriptlet](https://github.com/gorhill/uBlock/commit/3417fe3d5d)
- [Block media elements unconditionally when max size is set to 0](https://github.com/gorhill/uBlock/commit/36db7f8327)
- Regression from <https://github.com/gorhill/uBlock/commit/73ce4e6bcf>
- [Visually separate scriptlet parameters in active line](https://github.com/gorhill/uBlock/commit/076e9fa73e)
- [Mitigate potentially delayed execution of scriptlets in Firefox](https://github.com/gorhill/uBlock/commit/b1a00145bd)
- [Improve `prevent-setTimeout`/`prevent-setInterval` scriptlets](https://github.com/gorhill/uBlock/commit/3b7fa79a68)
- [Improve `trusted-replace-argument` scriptlet](https://github.com/gorhill/uBlock/commit/adced29b5b)
- [Add `-safebase64` directive to `urlskip=` option](https://github.com/gorhill/uBlock/commit/bcc058eba7)
- [Improve `urlskip=` filter option](https://github.com/gorhill/uBlock/commit/77ed83ff2f)
- [Improve `spoof-css` scriptlet](https://github.com/gorhill/uBlock/commit/5f5e3d730f)
- [Improve `trusted-set-attr` scriptlet](https://github.com/gorhill/uBlock/commit/c8174d6032)
- [Add support for EasyList `{ remove: true }` cosmetic filter syntax](https://github.com/gorhill/uBlock/commit/ff5fc61753)
- [Keep moving related scriptlets into separate files](https://github.com/gorhill/uBlock/commit/e5a088738d)
- [Improve `prevent-xhr` scriptlet](https://github.com/gorhill/uBlock/commit/ce4908b341)
- [Improve `trusted-suppress-native-method` scriptlet](https://github.com/gorhill/uBlock/commit/41616df866)
- [Improve `set-cookie` scriptlet](https://github.com/gorhill/uBlock/commit/e613282698)
----------
# 1.61.2
## Fixes / changes
- [Better handle unexpected conditions when deserializing](https://github.com/gorhill/uBlock/commit/4c299bfca9)
- [Fix potential infinite async loop](https://github.com/gorhill/uBlock/commit/335d947c10) (issue found by @Rob--W)
----------
# 1.61.0
## Fixes / changes
- [Improve `prevent-refresh` scriptlet](https://github.com/gorhill/uBlock/commit/8884f259c1)
- [Improve `googlesyndication_adsbygoogle.js` scriptlet](https://github.com/gorhill/uBlock/commit/f645e8f0d2)
- [Offer ability to skip redirects in strict-blocked page](https://github.com/gorhill/uBlock/commit/20b54185fa)
- [Add `-blocked` directive to `urlskip=` option](https://github.com/gorhill/uBlock/commit/d04dc4c767)
- [Add `trusted-set-attr` scriptlet](https://github.com/gorhill/uBlock/commit/11ca4a3923)
- [Remove `64:ff9b:` as private network block](https://github.com/gorhill/uBlock/commit/2621c908c3)
- [Ensure `urlskip=` redirects only to `https:`](https://github.com/gorhill/uBlock/commit/32f27c5131)
- [Add support to `urlskip=` media resources](https://github.com/gorhill/uBlock/commit/ce9fc5dc14)
- [Add `-uricomponent` to `urlskip=` option](https://github.com/gorhill/uBlock/commit/01eebffc1f)
- [Add `forbidden`/`forever` as safe cookie values](https://github.com/gorhill/uBlock/commit/4d982d9972) (by @ryanbr)
- [Add regex extraction transformation step to `urlskip=` option](https://github.com/gorhill/uBlock/commit/c86ed5287b)
- [Improve `prevent-window-open` scriptlet](https://github.com/gorhill/uBlock/commit/85877b12ed)
- [Add support to parse Adguard's `[$domain=/.../]` regex-based modifier](https://github.com/gorhill/uBlock/commit/58bfe4c846)
- [Validate result type of XPath expressions](https://github.com/gorhill/uBlock/commit/c746633693)
- [Fix npm test suite](https://github.com/gorhill/uBlock/commit/818cb2d801)
- [Add ability to lookup parameter name in `urlskip=`](https://github.com/gorhill/uBlock/commit/64b2086ba4)
- [Mind that BroadcastChannel contructor can throw in Firefox](https://github.com/gorhill/uBlock/commit/6d2b3375f8)
- [Add `trusted-override-element-method` scriptlet](https://github.com/gorhill/uBlock/commit/95b0ce5e3a)
- [Add `trusted-prevent-dom-bypass` scriptlet](https://github.com/gorhill/uBlock/commit/1abc864742)
- [Improve `prevent-xhr` scriptlet; add `trusted-prevent-xhr` scriptlet](https://github.com/gorhill/uBlock/commit/fe49ced2ac)
- [Skip dns resolution when requests are proxied through http](https://github.com/gorhill/uBlock/commit/4305bfbdb1)
- [Blocking large media elements also prevents autoplay, regardless of size](https://github.com/gorhill/uBlock/commit/73ce4e6bcf)
- [Do not discard `!#else` block for unknown preprocessor tokens](https://github.com/gorhill/uBlock/commit/6cac645830)
- [Add ability to decode base64 in `urlskip=`](https://github.com/gorhill/uBlock/commit/e81e70937f)
- [Fix images not properly downloading on click](https://github.com/gorhill/uBlock/commit/aec0bd39e3)
----------
# 1.60.0
## Fixes / changes
- [Add advanced setting `dnsResolveEnabled`](https://github.com/gorhill/uBlock/commit/760b2ffce6)
- [Fix contextual menu quirks](https://github.com/gorhill/uBlock/commit/0a6dc47a72)
- [Fix exception thrown in `spoof-css` in Firefox](https://github.com/gorhill/uBlock/commit/11c3a16036)
- [Throttle down repeated scriptlet logging information](https://github.com/gorhill/uBlock/commit/e8f6f3ddff)
- [Improve scriptlet helper `proxy-apply`](https://github.com/gorhill/uBlock/commit/547fae4842)
- [Add an entry in _Report_ page for badware/phishing category](https://github.com/gorhill/uBlock/commit/e18a3707c7)
- [New static network filter option `urlskip=`](https://github.com/gorhill/uBlock/commit/266ec4894b)
- [Rewrite cname uncloaking code to account for new `ipaddress=` option](https://github.com/gorhill/uBlock/commit/6acf97bf51)
- [Avoid using dns.resolve() for proxied DNS resolution](https://github.com/gorhill/uBlock/commit/d5f14ffa32)
- [Add support for `lan`/`loopback` values to `ipaddress=` option](https://github.com/gorhill/uBlock/commit/030d7334e4)
- [New static network filter option `ipaddress=`](https://github.com/gorhill/uBlock/commit/c6dedd253f)
- [Add ability to quote static network option values](https://github.com/gorhill/uBlock/commit/20115697e5)
- [Improve `prevent-fetch` scriptlet](https://github.com/gorhill/uBlock/commit/e8202af11d)
- [Apply CSP/PP injections to `object` resources](https://github.com/gorhill/uBlock/commit/89f02098fd)
- [Improve `xml-prune` scriptlet](https://github.com/gorhill/uBlock/commit/c8307f58a3)
- [Add support for `application/dash+xml` in `replace=` option](https://github.com/gorhill/uBlock/commit/91125d29cf)
- [Add ability to directly evaluate static network filtering engine](https://github.com/gorhill/uBlock/commit/b7ed3b45ed)
- [Fix `prevent-window-open` for when logger is open](https://github.com/gorhill/uBlock/commit/f552f655cb)
- [Improve `prevent-window-open` scriptlet](https://github.com/gorhill/uBlock/commit/7f11d6216e)
- [Improve `validate-constant` scriptlet helper](https://github.com/gorhill/uBlock/commit/ae5dc6299e)
- [Improve `trusted-replace-outbound-text` scriptlet](https://github.com/gorhill/uBlock/commit/0dcb985601)
- [Improve `prevent-xhr` scriptlet](https://github.com/gorhill/uBlock/commit/3a249f395c)
- [Add noop resources for redirect purpose](https://github.com/gorhill/uBlock/commit/59a9a43a83)
- [Use helper function to lookup safe cookie values](https://github.com/gorhill/uBlock/commit/79e10323ad)
- [Add `checked`/`unchecked` to `set-cookie`](https://github.com/gorhill/uBlock/commit/3e2171f550) (by @ryanbr)
- [Add `allowed`/`denied` to `set-local-storage-item`](https://github.com/gorhill/uBlock/commit/41c2258f91) (by @ryanbr)
- [Fix plain exceptions not overriding block filters using `header=` option](https://github.com/gorhill/uBlock/commit/1cb660b94e)
- [Improve various scriptlets](https://github.com/gorhill/uBlock/commit/56dfdd2568)
- [Improve `href-sanitizer` scriptlet](https://github.com/gorhill/uBlock/commit/db3dc69bcc)
- [Improve `remove-attr.js` scriptlet](https://github.com/gorhill/uBlock/commit/fb037e97d0)
- [Improve `trusted-replace-node-text` scriptlet](https://github.com/gorhill/uBlock/commit/4f0d1301ab)
----------
# 1.59.0
## Fixes / changes
- [Improve `href-sanitizer` scriptlet](https://github.com/gorhill/uBlock/commit/84be9cde6d)
- [Improve `trusted-replace-node-text` scriptlet](https://github.com/gorhill/uBlock/commit/8afd9e233d)
- [Improve `set-constant` scriptlet](https://github.com/gorhill/uBlock/commit/77feb25c4d)
- [Improve `prevent-fetch` scriptlet](https://github.com/gorhill/uBlock/commit/e785b99338)
- [Improve `href-sanitizer` scriptlet](https://github.com/gorhill/uBlock/commit/66e3a1ad47)
- [Fix CSP/PP header injection in non-document resources](https://github.com/gorhill/uBlock/commit/c90f4933df)
- [Add `trusted-suppress-native-method` scriptlet](https://github.com/gorhill/uBlock/commit/97d11c03c2)
- [Add support for `$currentISODate$` in `trusted-set-cookie` scriptlet](https://github.com/gorhill/uBlock/commit/a3576ea651)
- [Add `essential` and `nonessential` to set-cookie](https://github.com/gorhill/uBlock/commit/37d31a82d8) (by @ryanbr)
- [Fix distance calculation in picker](https://github.com/gorhill/uBlock/commit/9569969b55)
- [Fix bad serialization of Date objects](https://github.com/gorhill/uBlock/commit/c154aaa69c)
- [Fix race condition when loading redirect/scriptlet resources](https://github.com/gorhill/uBlock/commit/896737d098)
- [Improve logging in `prevent-addEventListener` scriptlet](https://github.com/gorhill/uBlock/commit/8eb3b19c69)
- [Add `:matches-prop()` pseudo CSS operator](https://github.com/gorhill/uBlock/commit/aca7674bac)
- [Improve `set-cookie` scriptlet](https://github.com/gorhill/uBlock/commit/b4d8750f44)
- [Improve `trusted-replace-node-text` scriptlet](https://github.com/gorhill/uBlock/commit/cb0f65e035)
- [Improve `trusted-replace-(fetch|xhr)-response` scriptlets](https://github.com/gorhill/uBlock/commit/9072772f61)
- [Improve `prevent-addEventListener` scriptlet](https://github.com/gorhill/uBlock/commit/91ee5bdeae)
- [Add `isodate` as available placeholder for auto-comment](https://github.com/gorhill/uBlock/commit/d5208ee5dd)
- [Improve `trusted-replace-outbound-text` scriptlet](https://github.com/gorhill/uBlock/commit/fa6740a059)
- [Classify generic cosmetic filters with comma as highly generic](https://github.com/gorhill/uBlock/commit/8f81833efc)
- [Raise max buffer size for response body filtering](https://github.com/gorhill/uBlock/commit/82a3992896)
- [Trim end of class tokens in generic cosmetic filtering's surveyor](https://github.com/gorhill/uBlock/commit/8ea1bac80b)
- [Improve `trusted-set-cookie` scriptlet](https://github.com/gorhill/uBlock/commit/0e1e4b82c5)
----------
# 1.58.0
## Fixes / changes
- [Fallback to `requestAnimationFrame` when `requestIdleCallback` is not available](https://github.com/gorhill/uBlock/commit/59ffc96e89)
- [Improve `trusted-click-element` scriptlet](https://github.com/gorhill/uBlock/commit/ee67cd6284)
- [Replace EasyDutch with AdGuard Dutch](https://github.com/gorhill/uBlock/commit/ca7d2ad61d)
- [Add checksum validation when loading trie buffers in selfie](https://github.com/gorhill/uBlock/commit/0e6d607484)
- [Catch exceptions in API calls for the sake of old Chromium versions](https://github.com/gorhill/uBlock/commit/bb479b0a66)
- [Add `accept`/`reject` to `set-local-storage-item`](https://github.com/gorhill/uBlock/commit/363ad6795c) (by @ryanbr)
- [Use raw string for regex patterns in python scripts](https://github.com/gorhill/uBlock/commit/923452b788)
- [Improve `noeval-if` scriptlet](https://github.com/gorhill/uBlock/commit/4d8ee35ef7)
- [Improve `trusted-set-local-storage-item` scriptlet](https://github.com/gorhill/uBlock/commit/2ccc3135c1)
- [Fix potential corruption when reading serialized data](https://github.com/gorhill/uBlock/commit/c098eb8625)
- [Improve `remove-[attr|class]` scriptlets](https://github.com/gorhill/uBlock/commit/91dfcbef2a)
- [Improve dashboard layout at high zoom factor](https://github.com/gorhill/uBlock/commit/6152f5269e)
- [Add a console pane to the logger](https://github.com/gorhill/uBlock/commit/3b4f02db21)
- [Improve `spoof-css` scriptlet](https://github.com/gorhill/uBlock/commit/277e90a4a7)
- [Fix bad date computation in auto-comment feature](https://github.com/gorhill/uBlock/commit/a5f6c35bb0)
- [Fix regression breaking import of `file://` lists](https://github.com/gorhill/uBlock/commit/c223a8cd39)
- [Add `trusted-replace-outbound-text` scriptlet](https://github.com/gorhill/uBlock/commit/21e1ee30ee)
- [Improve `[trusted-]set-cookie` scriptlets](https://github.com/gorhill/uBlock/commit/49ff7cffb1)
----------
# 1.57.2
## Fixes / changes
- [Fix stray lists in redesigned cache storage](https://github.com/gorhill/uBlock/commit/defd68ef7d)
----------
# 1.57.0
## Fixes / changes
- [Do not block large media resources when loaded as top-level document](https://github.com/gorhill/uBlock/commit/3919a16bb8)
- [Properly manage cache storage regarding managed user filters](https://github.com/gorhill/uBlock/commit/90ab1a76ab)
- [Improve `[trusted-]set-cookie` scriptlets](https://github.com/gorhill/uBlock/commit/11a48561e0)
- [Fixed Belgian and Nepali flags for Windows Chromium users](https://github.com/gorhill/uBlock/commit/499c80bd8a) (by @DandelionSprout)
- [Mind that `tabs.sendMessage` can throw](https://github.com/gorhill/uBlock/commit/3f7374c1f1)
- [Improve `set-cookie` scriptlet](https://github.com/gorhill/uBlock/commit/9146134874)
- [Append wildcard character only when filter starts & ends with `/`](https://github.com/gorhill/uBlock/commit/1cb190e102)
- [Fix failure to create popup logger window sometimes](https://github.com/gorhill/uBlock/commit/c8762945d9)
- [Improve json-prune-related scriptlets](https://github.com/gorhill/uBlock/commit/e7a0f8c781)
- [Support maximizing editor to viewport size](https://github.com/gorhill/uBlock/commit/664dd95700)
- [Add advanced setting to force popup panel orientation](https://github.com/gorhill/uBlock/commit/0d77ccded7)
- [Add checkboxes to "My filters" pane](https://github.com/gorhill/uBlock/commit/46ea5519c1)
- [Assume UTF-8 when no encoding can be looked up](https://github.com/gorhill/uBlock/commit/63acdcbdeb)
- [Fix issue with "My filters" pane on mobile](https://github.com/gorhill/uBlock/commit/24d94e559d)
- [Support aborting "Pick" mode in element picker](https://github.com/gorhill/uBlock/commit/a557f62112)
- [Remove sections with no lists in "Filter lists" pane](https://github.com/gorhill/uBlock/commit/0f4e50db07)
- [Add "Social widgets", "Cookie notices" sections in "Filter lists" pane](https://github.com/gorhill/uBlock/commit/21a76e32a1)
- [No longer disable generic cosmetic filters by default on mobile](https://github.com/gorhill/uBlock/commit/7a768e7b1a)
- [Improve `spoof-css` scriptlet](https://github.com/gorhill/uBlock/commit/603239970d)
- [Make asset updater compatible with non-persistent background page](https://github.com/gorhill/uBlock/commit/96704f2fda)
- [Move dragbar to the top of element picker dialog](https://github.com/gorhill/uBlock/commit/953c978d59)
- [Move "Quit" button to top bar in element picker](https://github.com/gorhill/uBlock/commit/6266c4718d)
- [Add advanced setting `requestStatsDisabled`](https://github.com/gorhill/uBlock/commit/e02ea69c86)
- [First lookup matching stock lists when importing URLs](https://github.com/gorhill/uBlock/commit/2b16a10b82)
- [Reset filter lists in worker when creating filters via "Block element"](https://github.com/gorhill/uBlock/commit/b0067b79d5)
- [Remove trusted-source requirement when using `badfilter`](https://github.com/gorhill/uBlock/commit/3c299b8632)
- [Redesign cache storage](https://github.com/gorhill/uBlock/commit/086766a924)
- [Don't match network filter-derived regexes against non-network URIs](https://github.com/gorhill/uBlock/commit/2262a129ec)
- [Remove obsolete trusted directives](https://github.com/gorhill/uBlock/commit/439a059cca)
- [Support logging details of calls to `json-prune-fetch-response`](https://github.com/gorhill/uBlock/commit/e527a8f9af)
- [Escape special whitespace characters in attribute values](https://github.com/gorhill/uBlock/commit/be3e366019)
----------
# 1.56.0
## Fixes / changes
- [Mind that multiple `uritransform` may apply to a single request](https://github.com/gorhill/uBlock/commit/2a5a444482)
- [Fix incorrect built-in filtering expression in logger](https://github.com/gorhill/uBlock/commit/9bff0c2f94)
- [Fix improper invalidation of valid `uritransform` exception filters](https://github.com/gorhill/uBlock/commit/21ec5a277c)
- [Improve `prevent-addEventListener` scriptlet](https://github.com/gorhill/uBlock/commit/b22b3d729b)
- [Fix Chartbeat flicker control `div`'s](https://github.com/gorhill/uBlock/commit/397d6d47b9) (by @ryanbr)
- [Fix potential exfiltration of browsing history by a rogue list author through `permissions=`](https://github.com/gorhill/uBlock/commit/7b138b58c6)
- [Ignore event handler-related attributes in `set-attr` scriptlet](https://github.com/gorhill/uBlock/commit/3037ae5f04) (suggested by @distinctmondaylilac)
- [Fix potential exfiltration of browsing history by a rogue list author through `csp=`](https://github.com/gorhill/uBlock/commit/db5656f607) (reported by @distinctmondaylilac)
- [Output scriptlet logging information to the logger](https://github.com/gorhill/uBlock/commit/869a653fdf)
- [Fix decompiling of scriptlet parameters](https://github.com/gorhill/uBlock/commit/49dd68ef3d)
- [Add support for `extraMatch` in `trusted-click-element` scriptlet](https://github.com/gorhill/uBlock/commit/45e62c939f)
- [Remove minimum height constraint from "My filters" pane](https://github.com/gorhill/uBlock/commit/f624c835c2)
- [Unregister all scriptlets when disabling uBO on a specific site](https://github.com/gorhill/uBlock/commit/13dcd844a7)
- [Allow `uritransform` to process the hash part of a URL](https://github.com/gorhill/uBlock/commit/b19094339f)
- [Remember presentation state of "My rules" pane](https://github.com/gorhill/uBlock/commit/3d1b100646)
- [Fix improperly assembled `!#include` sublists](https://github.com/gorhill/uBlock/commit/0e00010b91)
- [Mark procedural filters with pseudo-elements selector as invalid](https://github.com/gorhill/uBlock/commit/757b8be9cd)
- [Prevent access to picker when "My filters" is not enabled](https://github.com/gorhill/uBlock/commit/bc641fc024)
- [Provide visual feedback when applying changes in "Filter lists" pane](https://github.com/gorhill/uBlock/commit/c4bb8a0f64)
- [Empty query parameters must still use `=`](https://github.com/gorhill/uBlock/commit/1cac61a9a4)
- [Add support to toggle no-scripting switch with keyboard shortcut](https://github.com/gorhill/uBlock/commit/936444883f)
- [Do not exceed rate-limited calls to `handlerBehaviorChanged()`](https://github.com/gorhill/uBlock/commit/63fe18a761)
- [Shield some code paths against potentially tampered global properties](https://github.com/gorhill/uBlock/commit/534d877e95) (in scriptlets)
- [Do not prevent applying changes when lists are updating](https://github.com/gorhill/uBlock/commit/f6b726136c)
- [Add `elements` vararg to `prevent-addEventListener` scriptlet](https://github.com/gorhill/uBlock/commit/060f9d68fc)
- [Do not use tab character as field separator](https://github.com/gorhill/uBlock/commit/a9eb9630cf) (in logger)
- [Prevent `:others()` from hiding `html` tag](https://github.com/gorhill/uBlock/commit/9a104bcbd2)
----------
# 1.55.0
## Fixes / changes
- [Discard repeating adjacent entries in the logger](https://github.com/gorhill/uBlock/commit/55e4cee6e8)
- [Mind drop events in filter expression field of logger](https://github.com/gorhill/uBlock/commit/c8b7d1a526)
- [Improve `xml-prune` scriptlet](https://github.com/gorhill/uBlock/commit/d7063a052f)
- [Fix message entries overflowing in logger](https://github.com/gorhill/uBlock/commit/49c8310e22)
- [Add support for `application/x-javascript` in `replace=` option](https://github.com/gorhill/uBlock/commit/abeadf18eb)
- [Extend support for differential updates to imported lists](https://github.com/gorhill/uBlock/commit/443c1f81e1)
- [Add detection of mismatched `!#if`-`!#endif` in linter](https://github.com/gorhill/uBlock/commit/9f4b31a96f)
- [Support links to update lists which are differential update-friendly](https://github.com/gorhill/uBlock/commit/5e3f9695b4)
- [Remove "Purge all caches" button from "Filter lists" pane](https://github.com/gorhill/uBlock/commit/bd7ce41224)
- [Add support for `all` list token in updater-link feature](https://github.com/gorhill/uBlock/commit/14926913f7)
- [Fix logging of broad exception filter `#@#+js()`](https://github.com/gorhill/uBlock/commit/4305ea9c0c)
- [Improve `no-xhr-if` scriptlet](https://github.com/gorhill/uBlock/commit/d01ad24291)
- [Ensure cache storage backend is selected before access](https://github.com/gorhill/uBlock/commit/bfa28b960e)
- [Fix popup panel rendering when embedded in logger](https://github.com/gorhill/uBlock/commit/4183ce477a)
- [Add visual hint in support information re. differential update](https://github.com/gorhill/uBlock/commit/7e44db763e)
- [Remove obsolete web accessible resources](https://github.com/gorhill/uBlock/commit/310bfec6a1)
- [Rename `urltransform` to `uritransform`](https://github.com/gorhill/uBlock/commit/cdc5e89f52)
- [Vertically expand/collapse in steps in dom inspector](https://github.com/gorhill/uBlock/commit/885bc3875b)
- [Reset the DOM inspector when URL in top context changes](https://github.com/gorhill/uBlock/commit/c744c87607)
- [Support shadow-piercing combinator `>>>` in `trusted-click-element`](https://github.com/gorhill/uBlock/commit/941077a25c)
- [Isolate DOM inspector layers from page context](https://github.com/gorhill/uBlock/commit/ee83a4304a)
- [Refactoring: Replace DOM events with broadcast channels](https://github.com/gorhill/uBlock/commit/67fb969572)
- [Support non-default sticky lists](https://github.com/gorhill/uBlock/commit/ea7d411bc2)
- [Add enableLazyLoad function](https://github.com/gorhill/uBlock/commit/a8cf08325d) (by @spazmodius )
- [Change frequency of save-to-storage blocking stats](https://github.com/gorhill/uBlock/commit/5a338b7210)
- [Improve `prevent-fetch` scriptlet](https://github.com/gorhill/uBlock/commit/6aeab2adbc)
- [Catch cases of `! Expires:` field with no value](https://github.com/gorhill/uBlock/commit/9ce958432d)
----------
# 1.54.0
## New
Differential update of filter lists, as a result of discussions at <https://github.com/AdguardTeam/FiltersCompiler/issues/192>. Resulting spec is [here](https://github.com/ameshkov/diffupdates).
![inkscape](https://github.com/gorhill/uBlock/assets/585534/3ee3567b-e24f-4d39-90e2-915b39a114fb)
The goal is to **NOT** be ranked among the "most popular projects" by bandwidth usage (as per [jsDelivr's public stats](https://www.jsdelivr.com/statistics)):
![jsDelivr stats](https://github.com/gorhill/uBlock/assets/585534/96c7e0fa-ffcc-4879-a01e-e340b4f0fa9e)
It is expected that differential updates will lower both requests and bandwidth usage.
To benefit the much shorter update period enabled by differential updates, you must let uBO auto-update the filter lists. Forcing a manual update will prevent differential updates until the next time a list auto-update.
## Fixes / changes
- [Enable path for native `has()` selector in Firefox](https://github.com/gorhill/uBlock/commit/c5724c1cce)
- [Allow scriptlets to be injected in `about:blank`](https://github.com/gorhill/uBlock/commit/3fd2588650)
- [Fix faulty `as` vararg in `set-constant` scriptlet](https://github.com/gorhill/uBlock/commit/c292a90b90)
- [Add support to redirect to `noop.json`](https://github.com/gorhill/uBlock/commit/bd8a91ed3a)
- [More improvements to the `google-ima` shim script](https://github.com/gorhill/uBlock/commit/c1d8f5908d) (by @kzar)
- [All exceptions filters are exempt from requiring a trusted source](https://github.com/gorhill/uBlock/commit/d2b8d990e6)
- [Add `trusted-set-session-storage-item` scriptlet](https://github.com/gorhill/uBlock/commit/f3d6a21e7a)
- [Allow the use of quotes in `set-cookie` scriptlet ](https://github.com/gorhill/uBlock/commit/7c562d0c5c)
- [Allow the use of quotes in `set-(local|session)-storage-item`](https://github.com/gorhill/uBlock/commit/decafc5cbf)
- [Add ability to trigger cookie removal on specific events](https://github.com/gorhill/uBlock/commit/ef311ddbec)
- [Ensure CSSTree does not hold a reference onto last parsed string](https://github.com/gorhill/uBlock/commit/1dba557c9a)
- [Lower minimum Expires value to 4h](https://github.com/gorhill/uBlock/commit/2360bc02f3)
- [Properly reset needle length in unserialized buffer](https://github.com/gorhill/uBlock/commit/8ed1ad9c9d)
- [Add additional flags to regional lists](https://github.com/gorhill/uBlock/commit/0962366524) (by @DandelionSprout)
- [Harden scriptlets which need to serialize function code into string](https://github.com/gorhill/uBlock/commit/7823d98070)
- [Reset `g` regexes before use in `rmnt`/`rpnt` scriptlets](https://github.com/gorhill/uBlock/commit/cdc3f66a6b)
- [Apply response filtering according to mime type](https://github.com/gorhill/uBlock/commit/6417f54299)
- [Add t/f to set-cookie](https://github.com/gorhill/uBlock/commit/4ab1c36ac9) (by @ryanbr)
- [Have `urltransform=` use the same syntax as `replace=`](https://github.com/gorhill/uBlock/commit/d7c99b46e6)
- [Implement network filter option `replace=`](https://github.com/gorhill/uBlock/commit/7c3e060c01) (Firefox only because [filterResponseData](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/filterResponseData#browser_compatibility))
- [Prevent evaluating the SNFE until fully loaded](https://github.com/gorhill/uBlock/commit/89b272775a)
- [Add support for differential update of filter lists](https://github.com/gorhill/uBlock/commit/d05ff8ffeb)
----------

View File

@@ -1,5 +1,31 @@
# Submitting issues
# Contributions
Submit on <https://github.com/uBlockOrigin/uBlock-issues/issues>.
Please refer to the sections below to find the appropriate destination for your contributions. Thank you for your support!
Issue tracker here is read-only for non-[prior contributors](https://github.com/gorhill/uBlock/graphs/contributors).
---
### Translations
You can help translate uBO via [Crowdin](https://crowdin.com/project/ublock).
---
### Reporting Issues
The issue tracker in this repository is deprecated. Use the links below to report your issues.
#### Support Forum
For support, questions, or assistance, please visit [/r/uBlockOrigin](https://www.reddit.com/r/uBlockOrigin/).
#### Filter List Issues
Report issues related to filter lists or broken website functionality in the [uAssets issue tracker](https://github.com/uBlockOrigin/uAssets/issues).
#### uBlock Origin (uBO) Issues
For issues specifically about uBO, please use the [uBO issue tracker](https://github.com/uBlockOrigin/uBlock-issues/issues).
#### uBO Lite (uBOL) Issues
For issues related to the Manifest Version 3 (MV3) variant, report them in the [uBOL issue tracker](https://github.com/uBlockOrigin/uBOL-home/issues).

View File

@@ -1,10 +1,7 @@
### This is uBlock's manifesto
uBlock Origin (uBO)'s manifesto:
1. The **user decides** what web content is acceptable or not in their browser.
The **user decides** what web content is acceptable in their browser.
The uBlock project does not support Adblock Plus' _"Acceptable Ads Manifesto"_,
because the _"Acceptable Ads"_ marketing campaign is really the business
plan of a for-profit entity.
The uBO project does not support Adblock Plus' _"Acceptable Ads Manifesto"_ because the _"Acceptable Ads"_ marketing campaign is the business plan of a for-profit entity.
Users are best placed to know what is or is not acceptable to them. uBlock's
sole purpose is to give users the means to enforce their own choices.
Users are the best placed to know what is or is not acceptable to them. uBO's sole purpose is to give users the means to enforce their choices.

187
Makefile Normal file
View File

@@ -0,0 +1,187 @@
# https://stackoverflow.com/a/6273809
run_options := $(filter-out $@,$(MAKECMDGOALS))
.PHONY: all clean cleanassets test lint chromium opera firefox npm dig \
mv3-chromium mv3-firefox mv3-edge mv3-safari ubol-codemirror \
compare maxcost medcost mincost modifiers record wasm \
publish-chromium publish-edge publish-firefox \
publish-dev-chromium publish-dev-firefox \
upload-firefox upload-dev-firefox
sources := ./dist/version $(shell find ./assets -type f) $(shell find ./src -type f)
platform := $(wildcard platform/*/*)
assets := dist/build/uAssets
mv3-sources := \
$(shell find ./src -type f) \
$(wildcard platform/mv3/*) \
$(shell find ./platform/mv3/extension -name codemirror-ubol -prune -o -type f) \
platform/mv3/extension/lib/codemirror/codemirror-ubol/dist/cm6.bundle.ubol.min.js
mv3-data := $(shell find ./dist/build/mv3-data -type f)
mv3-edge-deps := $(wildcard platform/mv3/edge/*)
mv3-safari-deps := $(wildcard platform/mv3/safari/*)
all: chromium firefox npm
dist/build/uBlock0.chromium: tools/make-chromium.sh $(sources) $(platform) $(assets)
tools/make-chromium.sh
# Build the extension for Chromium.
chromium: dist/build/uBlock0.chromium
dist/build/uBlock0.opera: tools/make-opera.sh $(sources) $(platform) $(assets)
tools/make-opera.sh
# Build the extension for Opera.
opera: dist/build/uBlock0.opera
dist/build/uBlock0.firefox: tools/make-firefox.sh $(sources) $(platform) $(assets)
tools/make-firefox.sh all
# Build the extension for Firefox.
firefox: dist/build/uBlock0.firefox
dist/build/uBlock0.npm: tools/make-nodejs.sh $(sources) $(platform) $(assets)
tools/make-npm.sh
npm: dist/build/uBlock0.npm
# Dev tools
node_modules:
npm install
init: node_modules
lint: init
npm run lint
dist/build/uBlock0.dig: tools/make-nodejs.sh $(sources) $(platform) $(assets)
tools/make-dig.sh
dig: dist/build/uBlock0.dig
cd dist/build/uBlock0.dig && npm install
dig-snfe: dig
cd dist/build/uBlock0.dig && npm run snfe $(run_options)
dist/build/mv3-data:
mkdir -p dist/build/mv3-data
ubol-codemirror:
$(MAKE) -sC platform/mv3/extension/lib/codemirror/codemirror-ubol/ ubol.bundle
dist/build/uBOLite.chromium: tools/make-mv3.sh $(mv3-sources) $(platform) $(mv3-data) dist/build/mv3-data
tools/make-mv3.sh chromium
mv3-chromium: ubol-codemirror dist/build/uBOLite.chromium
dist/build/uBOLite.firefox: tools/make-mv3.sh $(mv3-sources) $(platform) $(mv3-data) dist/build/mv3-data
tools/make-mv3.sh firefox
mv3-firefox: ubol-codemirror dist/build/uBOLite.firefox
dist/build/uBOLite.edge: tools/make-mv3.sh $(mv3-sources) $(mv3-edge-deps) $(mv3-data) dist/build/mv3-data
tools/make-mv3.sh edge
mv3-edge: ubol-codemirror dist/build/uBOLite.edge
dist/build/uBOLite.safari: tools/make-mv3.sh $(mv3-sources) $(mv3-safari-deps) $(mv3-data) dist/build/mv3-data
tools/make-mv3.sh safari
mv3-safari: ubol-codemirror dist/build/uBOLite.safari
dist/build/uAssets:
tools/pull-assets.sh
clean:
rm -rf dist/build tmp/node_modules node_modules
cleanassets:
rm -rf dist/build/mv3-data dist/build/uAssets
# Usage: make publish-publish version=?
publish-chromium:
node publish-extension/publish-chromium.js \
ghowner=gorhill \
ghrepo=uBlock \
ghtag=$(version) \
ghasset=chromium \
storeid=cjpalhdlnbpafiamejdnhcphjbkeiagm
# Usage: make publish-edge version=?
publish-edge:
node publish-extension/publish-edge.js \
ghowner=gorhill \
ghrepo=uBlock \
ghtag=$(version) \
ghasset=chromium \
datebasedmajor=1 \
storeid=odfafepnkmbhccpbejgmiehpchacaeak \
productid=$(shell secret-tool lookup token ubo_edge_id)
# Usage: make publish-firefox version=?
publish-firefox:
node publish-extension/publish-firefox.js \
ghowner=gorhill \
ghrepo=uBlock \
ghtag=$(version) \
ghasset=firefox \
storeid=uBlock0@raymondhill.net \
channel=listed
# Usage: make publish-dev-chromium version=?
publish-dev-chromium:
node publish-extension/publish-chromium.js \
ghowner=gorhill \
ghrepo=uBlock \
ghtag=$(version) \
ghasset=chromium \
storeid=cgbcahbpdhpcegmbfconppldiemgcoii
# Usage: make publish-dev-firefox version=?
publish-dev-firefox:
node publish-extension/publish-firefox.js \
ghowner=gorhill \
ghrepo=uBlock \
ghtag=$(version) \
ghasset=firefox \
storeid=uBlock0@raymondhill.net \
channel=unlisted \
updatepath=./dist/firefox/updates.json
# Usage: make upload-firefox version=?
upload-firefox:
node publish-extension/upload-firefox.js \
ghowner=gorhill \
ghrepo=uBlock \
ghtag=$(version) \
ghasset=firefox \
storeid=uBlock0@raymondhill.net \
channel=listed
# Usage: make upload-dev-firefox version=?
upload-dev-firefox:
node publish-extension/upload-firefox.js \
ghowner=gorhill \
ghrepo=uBlock \
ghtag=$(version) \
ghasset=firefox \
storeid=uBlock0@raymondhill.net \
channel=unlisted \
updatepath=./dist/firefox/updates.json
# Not real targets, just convenient for auto-completion at shell prompt
compare:
@echo
maxcost:
@echo
medcost:
@echo
mincost:
@echo
modifiers:
@echo
record:
@echo
wasm:
@echo

233
README.md
View File

@@ -1,148 +1,185 @@
[![Build](https://travis-ci.org/gorhill/uBlock.svg?branch=master)](https://travis-ci.org/gorhill/uBlock)
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/ublock/localized.svg)](https://crowdin.com/project/ublock)
[![License](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://github.com/gorhill/uBlock/blob/master/LICENSE.txt)
[![Badge Commits]][Commit Rate]
[![Badge Issues]][Issues]
[![Badge Localization]][Crowdin]
[![Badge License]][License]
[![Badge NPM]][NPM]
[![Badge Mozilla]][Mozilla]
[![Badge Chrome]][Chrome]
[![Badge Edge]][Edge]
***
***
<h1 align="center">
<sub>
<img src="https://raw.githubusercontent.com/gorhill/uBlock/master/doc/img/icon38@2x.png" height="38" width="38">
<img src="https://github.com/gorhill/uBlock/blob/master/src/img/ublock.svg" height="38" width="38">
</sub>
uBlock Origin
uBlock Origin (uBO)
</h1>
<p align="center">
<sup> <!-- Pronounciation -->
pronounced <i>you-block origin</i> (<code>/ˈjuːˌblɒk/</code>) — <i>you</i> decide what enters your browser.
</sup>
<br>
<sub><a href="https://github.com/gorhill/uBlock/wiki/uBlock-Origin-is-completely-unrelated-to-the-web-site-ublock.org"><b>BEWARE!</b> uBlock Origin is (and has always been) COMPLETELY UNRELATED to the web site <code>ublock.org</code></a>.</sub>
</p>
| Browser | Install from ... | Status |
| :-------: | ---------------- | ------ |
| <img src="https://github.com/user-attachments/assets/b0136512-56a5-4856-8c50-4971c957a24f" alt="Get uBlock Origin for Firefox"> | <a href="https://addons.mozilla.org/addon/ublock-origin/">Firefox Add-ons</a> | [uBO works best on Firefox](https://github.com/gorhill/uBlock/wiki/uBlock-Origin-works-best-on-Firefox) |
| <img src="https://github.com/user-attachments/assets/3a7569f8-688b-4eb1-a643-8d0fe173aefe" alt="Get uBlock Origin for Microsoft Edge"> | <a href="https://microsoftedge.microsoft.com/addons/detail/ublock-origin/odfafepnkmbhccpbejgmiehpchacaeak">Edge Add-ons</a> |
| <img src="https://github.com/user-attachments/assets/938f080c-fe64-4e48-8b89-4bfceabb56e6" alt="Get uBlock Origin for Opera"> | <a href="https://addons.opera.com/extensions/details/ublock/">Opera Add-ons</a> |
| <img src="https://github.com/user-attachments/assets/5463ef88-873b-4516-8514-5277664cfde7" alt="Get uBlock Origin for Chromium"> | <a href="https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm">Chrome Web Store</a> | <a href="https://github.com/uBlockOrigin/uBlock-issues/wiki/About-Google-Chrome's-%22This-extension-may-soon-no-longer-be-supported%22">About Google Chrome's "This extension may soon no longer be supported"</a><br>End of support on Chrome 139 |
| <img src="https://github.com/user-attachments/assets/2e9037c4-836d-44c1-a716-ba96e89daaff" alt="Get uBlock Origin for Thunderbird"> | <a href="https://addons.thunderbird.net/thunderbird/addon/ublock-origin/">Thunderbird Add-ons</a> | [No longer updated and stuck at 1.49.2.](https://github.com/uBlockOrigin/uBlock-issues/issues/2928) Later versions require "GitHub - Releases". |
| <img src="https://upload.wikimedia.org/wikipedia/commons/c/c2/GitHub_Invertocat_Logo.svg" height="50" alt="Get uBlock Origin through GitHub"> | <a href="https://github.com/gorhill/uBlock/releases">GitHub - Releases</a> | Stable and development versions on Firefox, Chromium MV2, and Thunderbird. Must be placed manually into web browsers; the Chromium and Thunderbird versions usually won't auto-update.
***
<p align="center">
<a href="https://addons.mozilla.org/addon/ublock-origin/"><img src="https://user-images.githubusercontent.com/585534/107280546-7b9b2a00-6a26-11eb-8f9f-f95932f4bfec.png" alt="Get uBlock Origin for Firefox"></a>
<a href="https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm"><img src="https://user-images.githubusercontent.com/585534/107280622-91a8ea80-6a26-11eb-8d07-77c548b28665.png" alt="Get uBlock Origin for Chromium"></a>
<a href="https://microsoftedge.microsoft.com/addons/detail/odfafepnkmbhccpbejgmiehpchacaeak"><img src="https://user-images.githubusercontent.com/585534/107280673-a5ece780-6a26-11eb-9cc7-9fa9f9f81180.png" alt="Get uBlock Origin for Microsoft Edge"></a>
<a href="https://addons.opera.com/extensions/details/ublock/"><img src="https://user-images.githubusercontent.com/585534/107280692-ac7b5f00-6a26-11eb-85c7-088926504452.png" alt="Get uBlock Origin for Opera"></a>
<br><sub><a href="https://twitter.com/gorhill/status/1033706103782170625">Do <b>not</b> use uBlock Origin along with other similarly-purposed blockers</a>.</sub>
<br><sub>See below for <a href="#installation">more installation options.</a></sub>
</p>
uBlock Origin (uBO) is a CPU and memory-efficient [wide-spectrum content blocker][Blocking] for Chromium and Firefox. It blocks ads, trackers, coin miners, popups, annoying anti-blockers, malware sites, etc., by default using [EasyList][EasyList], [EasyPrivacy][EasyPrivacy], [Peter Lowe's Blocklist][Peter Lowe's Blocklist], [Online Malicious URL Blocklist][Malicious Blocklist], and uBO [filter lists][uBO Filters]. There are many other lists available to block even more. Hosts files are also supported. uBO uses the EasyList filter syntax and [extends][Extended Syntax] the syntax to work with custom rules and filters.
***
You may easily unselect any preselected filter lists if you think uBO blocks too much. For reference, Adblock Plus installs with only EasyList, ABP filters, and Acceptable Ads enabled by default.
**An efficient blocker add-on for various browsers. Fast, potent, and lean.**
It is important to note that using a blocker is **NOT** [theft]. Do not fall for this creepy idea. The _ultimate_ logical consequence of `blocking = theft` is the criminalization of the inalienable right to privacy.
uBlock Origin is **NOT** an "ad blocker": [it is a wide-spectrum blocker](https://github.com/gorhill/uBlock/wiki/Blocking-mode) -- which happens to be able to function as a mere "ad blocker". The default behavior of uBlock Origin when newly installed is to block ads, trackers and malware sites -- through [_EasyList_](https://easylist.github.io/#easylist), [_EasyPrivacy_](https://easylist.github.io/#easyprivacy), [_Peter Lowes ad/tracking/malware servers_](https://pgl.yoyo.org/adservers/policy.php), [_Online Malicious URL Blocklist_](https://gitlab.com/curben/urlhaus-filter#urlhaus-malicious-url-blocklist), and uBlock Origin's [own filter lists](https://github.com/uBlockOrigin/uAssets/tree/master/filters).
Ads, "unintrusive" or not, are just the visible portion of the privacy-invading means entering your browser when you visit most sites. **uBO's primary goal is to help users neutralize these privacy-invading methods** in a way that welcomes those users who do not wish to use more technical means.
***
* [Documentation](#documentation)
* [Purpose & General Info](#philosophy)
* [Installation](#installation)
* [Firefox](#firefox)
* [Thunderbird](#thunderbird)
* [Chromium](#chromium)
* [Firefox](#firefox--firefox-for-android)
* [Microsoft Edge](#microsoft-edge)
- [Safari (macOS)](#safari-macos)
* [All Programs](#all-programs)
* [Enterprise Deployment](#enterprise-deployment)
* [Release History](#release-history)
* [Privacy policy](https://github.com/gorhill/uBlock/wiki/Privacy-policy)
* [Wiki](https://github.com/gorhill/uBlock/wiki)
* [Translations](#translations)
* [About](#about)
## Documentation
Basic mode | Advanced-user mode
:----------:|:------------------:
[Popup user interface](https://github.com/gorhill/uBlock/wiki/Quick-guide:-popup-user-interface) | [A point-and-click firewall which can be configured on a per-site basis](https://github.com/gorhill/uBlock/wiki/Dynamic-filtering:-quick-guide)
<a href="https://github.com/gorhill/uBlock/wiki/Quick-guide:-popup-user-interface"><img src="https://user-images.githubusercontent.com/585534/84045360-b10ee580-a976-11ea-9e91-29c2107b47c2.png" /></a><br><sup>.<br>.</sup> | <a href="https://github.com/gorhill/uBlock/wiki/Dynamic-filtering:-quick-guide"><img src="https://user-images.githubusercontent.com/585534/84045366-b1a77c00-a976-11ea-9121-e8c8f35c66c8.png" /></a><br><sup>Configure as you wish:<br>picture shows 3rd-party scripts and frames blocked by default everywhere</sup>
<table>
<thead>
<tr>
<th>Basic Mode</th>
<th>Advanced Mode</th>
</tr>
</thead>
<tbody>
<tr>
<td>The <a href="https://github.com/gorhill/uBlock/wiki/Quick-guide:-popup-user-interface">simple popup user interface</a> for an install-it-and-forget-it type of installation that is configured optimally by default.</td>
<td>The <a href="https://github.com/gorhill/uBlock/wiki/Dynamic-filtering:-quick-guide">advanced popup user interface</a> includes a point-and-click firewall that is configurable on a per-site basis.</td>
</tr>
<tr>
<td align="center" valign="top"><a href="https://github.com/gorhill/uBlock/wiki/Quick-guide:-popup-user-interface"><img src="https://user-images.githubusercontent.com/585534/232531044-c4ac4dd5-0b60-4c1e-aabb-914be04b846c.png"/></a></td>
<td align="center" valign="top"><a href="https://github.com/gorhill/uBlock/wiki/Dynamic-filtering:-quick-guide"><img src="https://user-images.githubusercontent.com/585534/232531439-a8f81cc3-6622-45c4-8b32-7348cecf6e98.png"/></a></td>
</tr>
</tbody>
</table>
Visit the [uBlock Origin's wiki](https://github.com/gorhill/uBlock/wiki) for documentation.
Visit the [Wiki][Wiki] for documentation.
For support/questions/help, there is [/r/uBlockOrigin](https://www.reddit.com/r/uBlockOrigin/) on Reddit.
## Philosophy
uBlock Origin (or uBlock₀) is not an *ad blocker*; it's a general-purpose blocker. uBlock Origin blocks ads through its support of the [Adblock Plus filter syntax](https://adblockplus.org/en/filters). uBlock Origin [extends](https://github.com/gorhill/uBlock/wiki/Filter-syntax-extensions) the syntax and is designed to work with custom rules and filters. Furthermore, advanced mode allows uBlock Origin to work in [default-deny mode](https://github.com/gorhill/uBlock/wiki/Dynamic-filtering:-default-deny), which mode will cause [all 3rd-party network requests](https://requestpolicycontinued.github.io/#what-are-cross-site-requests) to be blocked by default, unless allowed by the user.
That said, it's important to note that using a blocker is **NOT** [theft](https://twitter.com/LeaVerou/status/518154828166725632). Don't fall for this creepy idea. The _ultimate_ logical consequence of `blocking = theft` is the criminalisation of the inalienable right to privacy.
Ads, "unintrusive" or not, are just the visible portions of privacy-invading apparatus entering your browser when you visit most sites nowadays. **uBlock Origin's main goal is to help users neutralize such privacy-invading apparatus** — in a way that welcomes those users who don't wish to use more technical, involved means (such as [uMatrix](https://github.com/gorhill/uMatrix)).
_EasyList_, _EasyPrivacy_, _Peter Lowe's_, _Online Malicious URL Blocklist_ and uBO's own lists are enabled by default when you install uBlock Origin. Many more lists are readily available to block trackers, analytics, and more. Hosts files are also supported.
Once you install uBlock Origin, you may easily un-select any of the pre-selected filter lists if you think uBlock Origin blocks too much. For reference, Adblock Plus installs with only _EasyList_, _ABP filters_ and _Acceptable Ads_ enabled by default.
For support, questions, or help, visit [/r/uBlockOrigin][Reddit].
## Installation
Feel free to read [about the extension's required permissions](https://github.com/gorhill/uBlock/wiki/Permissions).
[Required Permissions][Permissions]
#### Firefox
[Firefox Add-ons][Mozilla]
[Development Builds][Beta]
uBO [works best][Works Best] on Firefox and is available for desktop and Android versions.
#### Thunderbird
[Thunderbird Add-ons][Thunderbird]
In Thunderbird, uBlock Origin does not affect emails, just feeds.
#### Chromium
You can install the latest version [manually](https://github.com/gorhill/uBlock/tree/master/dist#install), from the [Chrome Web Store](https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm), or from the [Opera add-ons](https://addons.opera.com/extensions/details/ublock/).
[Chrome Web Store][Chrome]
There is also a development version in the Chrome Web Store if you want to test uBlock Origin with the latest changes: see [_uBlock Origin dev build_](https://chrome.google.com/webstore/detail/ublock-origin-dev-build/cgbcahbpdhpcegmbfconppldiemgcoii).
[Microsoft Edge Add-ons][Edge] (Published by [Nicole Rolls][Nicole Rolls] until version 1.62. Ownership transfer at version 1.64.)
It is expected that uBlock Origin is compatible with any Chromium-based browsers.
[Opera Add-ons][Opera]
#### Firefox / Firefox for Android
[Development Builds][Chrome Dev]
[Firefox Add-ons web site](https://addons.mozilla.org/addon/ublock-origin/).
uBO should be compatible with any Chromium-based browser.
There is also a development version if you want to test uBlock Origin with the latest changes: for installation, see [Install / Firefox webext / For beta version](https://github.com/gorhill/uBlock/blob/master/dist/README.md#for-beta-version)
#### All Programs
uBlock Origin is compatible with [SeaMonkey](http://www.seamonkey-project.org/), [Pale Moon](https://www.palemoon.org/), and possibly other browsers based on Firefox: for installation, see [Install / Firefox legacy](https://github.com/gorhill/uBlock/blob/master/dist/README.md#firefox-legacy).
Do **NOT** use uBO with any other content blocker. uBO [performs][Performance] as well as or better than most popular blockers. Other blockers can prevent uBO's privacy or anti-blocker-defusing features from working correctly.
uBO may also be installed as a [Debian package](https://packages.debian.org/stable/source/ublock-origin):
[Manual Installation][Manual Installation]
- Firefox 56-: `apt-get install xul-ext-ublock-origin`
- Firefox 55+: `apt-get install webext-ublock-origin`
#### Enterprise Deployment
There is no guarantee the package will be available on your specific platform -- in which case, you will have to install from [Firefox Add-ons web site](https://addons.mozilla.org/addon/ublock-origin/).
#### Microsoft Edge
Publisher: [Nik Rolls](https://github.com/nikrolls/uBlock-Edge).
Chromium-based Edge: Stable version available in [Microsoft Edge Add-ons](https://microsoftedge.microsoft.com/addons/detail/odfafepnkmbhccpbejgmiehpchacaeak).
#### Safari (macOS)
Developer: [@el1t](https://github.com/el1t).
Development version available at <https://github.com/el1t/uBlock-Safari#ublock-originfor-safari>.
Warning: It is not possible for extensions like uBlock Origin to work with Safari 13+. See <https://github.com/el1t/uBlock-Safari/issues/158>.
Note that issues specific to the Safari fork are the responsibility of the current maintainer, I have no control over the code base of the fork.
#### Note for all browsers
To benefit from uBlock Origin's higher efficiency, it's advised that you don't use other content blockers at the same time (such as Adblock Plus, AdBlock). uBlock Origin will do [as well or better](#blocking) than most popular ad blockers. Other blockers can also prevent uBlock Origin's privacy or anti-blocker-defusing features from working properly.
#### Deploying
Below is documentation to assist administrators in deploying uBlock Origin:
- [Deploying uBlock Origin](https://github.com/gorhill/uBlock/wiki/Deploying-uBlock-Origin)
- Firefox: [Deploying uBlock Origin for Firefox with CCK2 and Group Policy](http://decentsecurity.com/ublock-for-firefox-deployment/) (external)
- Google Chrome: [Managing Google Chrome with adblocking and security](https://decentsecurity.com/ublock-for-google-chrome-deployment/) (external)
[Deploying uBO][Deployment]
## Release History
See the [releases pages](https://github.com/gorhill/uBlock/releases) for a history of releases and highlights for each release.
[Releases Page][Releases]
## Translations
Help translate uBO via [Crowdin][Crowdin].
## About
[uBlock Origin's manifesto](MANIFESTO.md).
[Manifesto][Manifesto]
Free. Open source. For users by users. No donations sought.
[Privacy Policy][Privacy Policy]
Without the preset lists of filters, this extension is nothing. So if ever you
really do want to contribute something, think about the people working hard
to maintain the filter lists you are using, which were made available to use by
all for free.
[GPLv3 License][License]
You can contribute by helping translate uBlock Origin [on Crowdin](https://crowdin.net/project/ublock).
Free. Open-source. For users by users. No donations sought.
## License
If you ever want to contribute something, think about the people working hard to maintain the filter lists you are using, which are available to use by all for free.
[GPLv3](https://github.com/gorhill/uBlock/blob/master/LICENSE.txt).
<!----------------------------------------------------------------------------->
[Peter Lowe's Blocklist]: https://pgl.yoyo.org/adservers/
[Malicious Blocklist]: https://gitlab.com/malware-filter/urlhaus-filter#malicious-url-blocklist
[Performance]: https://www.debugbear.com/blog/chrome-extensions-website-performance#the-impact-of-ad-blocking-on-website-performance
[EasyPrivacy]: https://easylist.to/#easyprivacy
[Thunderbird]: https://addons.thunderbird.net/thunderbird/addon/ublock-origin/
[Chrome Dev]: https://chromewebstore.google.com/detail/ublock-origin-development/cgbcahbpdhpcegmbfconppldiemgcoii
[EasyList]: https://easylist.to/#easylist
[Mozilla]: https://addons.mozilla.org/addon/ublock-origin/
[Crowdin]: https://crowdin.com/project/ublock
[Chrome]: https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm
[Reddit]: https://www.reddit.com/r/uBlockOrigin/
[Theft]: https://x.com/LeaVerou/status/518154828166725632
[Opera]: https://addons.opera.com/extensions/details/ublock/
[Edge]: https://microsoftedge.microsoft.com/addons/detail/ublock-origin/odfafepnkmbhccpbejgmiehpchacaeak
[NPM]: https://www.npmjs.com/package/@gorhill/ubo-core
[Manifesto]: MANIFESTO.md
[License]: LICENSE.txt
[Nicole Rolls]: https://github.com/nicole-ashley
<!---------------------------------[ Internal ]-------------------------------->
[Manual Installation]: https://github.com/gorhill/uBlock/tree/master/dist#install
[Extended Syntax]: https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#extended-syntax
[Privacy Policy]: https://github.com/gorhill/uBlock/wiki/Privacy-policy
[uBO Filters]: https://github.com/uBlockOrigin/uAssets/tree/master/filters
[Permissions]: https://github.com/gorhill/uBlock/wiki/Permissions
[Commit Rate]: https://github.com/gorhill/uBlock/commits/master
[Works Best]: https://github.com/gorhill/uBlock/wiki/uBlock-Origin-works-best-on-Firefox
[Deployment]: https://github.com/gorhill/uBlock/wiki/Deploying-uBlock-Origin
[Blocking]: https://github.com/gorhill/uBlock/wiki/Blocking-mode
[Releases]: https://github.com/gorhill/uBlock/releases
[Issues]: https://github.com/uBlockOrigin/uBlock-issues/issues
[Beta]: https://github.com/gorhill/uBlock/blob/master/dist/README.md#for-beta-version
[Wiki]: https://github.com/gorhill/uBlock/wiki
<!----------------------------------[ Badges ]--------------------------------->
[Badge Localization]: https://d322cqt584bo4o.cloudfront.net/ublock/localized.svg
[Badge Commits]: https://img.shields.io/github/commit-activity/m/gorhill/ublock?label=Commits
[Badge Mozilla]: https://img.shields.io/amo/rating/ublock-origin?label=Firefox
[Badge License]: https://img.shields.io/badge/License-GPLv3-blue.svg
[Badge Chrome]: https://img.shields.io/chrome-web-store/rating/cjpalhdlnbpafiamejdnhcphjbkeiagm?label=Chrome
[Badge Edge]: https://img.shields.io/badge/dynamic/json?label=Edge&color=brightgreen&query=%24.averageRating&suffix=%2F%35&url=https%3A%2F%2Fmicrosoftedge.microsoft.com%2Faddons%2Fgetproductdetailsbycrxid%2Fodfafepnkmbhccpbejgmiehpchacaeak
[Badge Issues]: https://img.shields.io/github/issues/uBlockOrigin/uBlock-issues
[Badge NPM]: https://img.shields.io/npm/v/@gorhill/ubo-core

87
REMOVED.md Normal file
View File

@@ -0,0 +1,87 @@
## Renamed/removed assets
For convenience, list of commits of renamed/removed assets, so that they can be
more easily found.
Use the _Before_ link to browse the repo before the rename/removal of assets.
#### 2022-10-28
Removed:
- ./doc/
Git:
- After: https://github.com/gorhill/uBlock/tree/ba637bb22e48f98383b9f1191a0c30e965475068
- Commit: https://github.com/gorhill/uBlock/commit/ba637bb22e48f98383b9f1191a0c30e965475068
- Before: https://github.com/gorhill/uBlock/tree/6c046ed95cd02d023453c66f766159f6410ae7f7
#### 2022-05-08
Removed:
- ./src/css/popup.css
- ./src/js/popup.js
- ./src/popup.html
Git:
- After: https://github.com/gorhill/uBlock/tree/cef36518edd4d6ca4b3278493cb93329b0833408
- Commit: https://github.com/gorhill/uBlock/commit/cef36518edd4d6ca4b3278493cb93329b0833408
- Before: https://github.com/gorhill/uBlock/tree/cef36518edd4d6ca4b3278493cb93329b0833408
#### 2021-07-16
Moved:
- ./platform/chromium/ => ./platform/common/
Git:
- After: https://github.com/gorhill/uBlock/tree/a4aced69dc814befcbb57ff1cc04bee307f2c131
- Commit: https://github.com/gorhill/uBlock/commit/a4aced69dc814befcbb57ff1cc04bee307f2c131
- Before: https://github.com/gorhill/uBlock/tree/ec7db30b2f4ff492ebc2a87ded28afa74aa50948
#### 2019-09-19
Removed:
- ./platform/safari/*
Git:
- After: https://github.com/gorhill/uBlock/tree/149b5cf59cc760fa98c9753f4b4ec12d4b884d9a
- Commit: https://github.com/gorhill/uBlock/commit/149b5cf59cc760fa98c9753f4b4ec12d4b884d9a
- Before: https://github.com/gorhill/uBlock/tree/917f3620e0c08b722bbd4d400bca2735d9f6975f
#### 2014-11-24
Moved:
- ./meta/crx/ => ./platform/chromium/
Git:
- After: https://github.com/gorhill/uBlock/tree/a430e526b6b72182a07cca94822861da7fbdf77b
- Commit: https://github.com/gorhill/uBlock/commit/a430e526b6b72182a07cca94822861da7fbdf77b
- Before: https://github.com/gorhill/uBlock/tree/266f62914fab3a9ae5d01fa808b9e7a68e948777
#### 2014-11-09
Moved:
- ./*.html => ./src/
- ./*.sh => ./tools/
- ./_locales/ => ./src/_locales/
- ./assets => ./src/assets/
- ./css/ => ./src/css/
- ./img/ => ./src/img/
- ./js/ => ./src/js/
- ./lib/ => ./src/lib/
Git:
- After: https://github.com/gorhill/uBlock/tree/5b79bf353647a4dad9d4968d0f246582744f07bc
- Commit: https://github.com/gorhill/uBlock/commit/5b79bf353647a4dad9d4968d0f246582744f07bc
- Before: https://github.com/gorhill/uBlock/tree/96c4e2e2565ffbd7d413ed7721d9610772b03859

973
assets/assets.dev.json Normal file
View File

@@ -0,0 +1,973 @@
{
"assets.json": {
"content": "internal",
"updateAfter": 13,
"contentURL": [
"https://raw.githubusercontent.com/gorhill/uBlock/master/assets/assets.dev.json",
"assets/assets.dev.json"
],
"cdnURLs": [
"https://ublockorigin.github.io/uAssetsCDN/ublock/assets.dev.json",
"https://ublockorigin.pages.dev/ublock/assets.dev.json",
"https://cdn.jsdelivr.net/gh/gorhill/uBlock@master/assets/assets.dev.json",
"https://cdn.statically.io/gh/gorhill/uBlock/master/assets/assets.dev.json"
]
},
"public_suffix_list.dat": {
"content": "internal",
"updateAfter": 19,
"contentURL": [
"https://publicsuffix.org/list/public_suffix_list.dat",
"assets/thirdparties/publicsuffix.org/list/effective_tld_names.dat"
]
},
"ublock-badlists": {
"content": "internal",
"updateAfter": 29,
"contentURL": [
"https://ublockorigin.github.io/uAssets/filters/badlists.txt",
"assets/ublock/badlists.txt"
],
"cdnURLs": [
"https://ublockorigin.github.io/uAssetsCDN/filters/badlists.txt",
"https://ublockorigin.pages.dev/filters/badlists.txt",
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/badlists.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/badlists.txt"
]
},
"ublock-filters": {
"content": "filters",
"group": "default",
"parent": "uBlock filters",
"title": "uBlock filters Ads",
"tags": "ads",
"contentURL": [
"https://ublockorigin.github.io/uAssets/filters/filters.txt",
"assets/ublock/filters.min.txt",
"assets/ublock/filters.txt"
],
"cdnURLs": [
"https://ublockorigin.github.io/uAssetsCDN/filters/filters.min.txt",
"https://ublockorigin.pages.dev/filters/filters.min.txt",
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/filters.min.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/filters.min.txt"
],
"patchURLs": [
"https://ublockorigin.github.io/uAssetsCDN/filters/",
"https://ublockorigin.pages.dev/filters/"
],
"supportURL": "https://github.com/uBlockOrigin/uAssets"
},
"ublock-badware": {
"content": "filters",
"group": "default",
"parent": "uBlock filters",
"title": "uBlock filters Badware risks",
"tags": "malware security",
"contentURL": [
"https://ublockorigin.github.io/uAssets/filters/badware.txt",
"assets/ublock/badware.min.txt",
"assets/ublock/badware.txt"
],
"cdnURLs": [
"https://ublockorigin.github.io/uAssetsCDN/filters/badware.min.txt",
"https://ublockorigin.pages.dev/filters/badware.min.txt",
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/badware.min.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/badware.min.txt"
],
"patchURLs": [
"https://ublockorigin.github.io/uAssetsCDN/filters/",
"https://ublockorigin.pages.dev/filters/"
],
"supportURL": "https://github.com/uBlockOrigin/uAssets",
"instructionURL": "https://github.com/gorhill/uBlock/wiki/Badware-risks"
},
"ublock-privacy": {
"content": "filters",
"group": "default",
"parent": "uBlock filters",
"title": "uBlock filters Privacy",
"tags": "privacy",
"contentURL": [
"https://ublockorigin.github.io/uAssets/filters/privacy.txt",
"assets/ublock/privacy.min.txt",
"assets/ublock/privacy.txt"
],
"cdnURLs": [
"https://ublockorigin.github.io/uAssetsCDN/filters/privacy.min.txt",
"https://ublockorigin.pages.dev/filters/privacy.min.txt",
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/privacy.min.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/privacy.min.txt"
],
"patchURLs": [
"https://ublockorigin.github.io/uAssetsCDN/filters/",
"https://ublockorigin.pages.dev/filters/"
],
"supportURL": "https://github.com/uBlockOrigin/uAssets"
},
"ublock-unbreak": {
"content": "filters",
"group": "default",
"parent": "uBlock filters",
"title": "uBlock filters Unbreak",
"contentURL": [
"https://ublockorigin.github.io/uAssets/filters/unbreak.txt",
"assets/ublock/unbreak.min.txt",
"assets/ublock/unbreak.txt"
],
"cdnURLs": [
"https://ublockorigin.github.io/uAssetsCDN/filters/unbreak.min.txt",
"https://ublockorigin.pages.dev/filters/unbreak.min.txt",
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/unbreak.min.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/unbreak.min.txt"
],
"patchURLs": [
"https://ublockorigin.github.io/uAssetsCDN/filters/",
"https://ublockorigin.pages.dev/filters/"
],
"supportURL": "https://github.com/uBlockOrigin/uAssets"
},
"ublock-quick-fixes": {
"content": "filters",
"group": "default",
"parent": "uBlock filters",
"title": "uBlock filters Quick fixes",
"contentURL": [
"https://ublockorigin.github.io/uAssets/filters/quick-fixes.txt",
"assets/ublock/quick-fixes.min.txt",
"assets/ublock/quick-fixes.txt"
],
"cdnURLs": [
"https://ublockorigin.github.io/uAssetsCDN/filters/quick-fixes.min.txt",
"https://ublockorigin.pages.dev/filters/quick-fixes.min.txt",
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/quick-fixes.min.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/quick-fixes.min.txt"
],
"patchURLs": [
"https://ublockorigin.github.io/uAssetsCDN/filters/",
"https://ublockorigin.pages.dev/filters/"
],
"supportURL": "https://github.com/uBlockOrigin/uAssets"
},
"ublock-experimental": {
"content": "filters",
"group": "default",
"off": true,
"title": "uBlock filters Experimental",
"contentURL": "https://ublockorigin.github.io/uAssets/filters/experimental.txt",
"cdnURLs": [
"https://ublockorigin.github.io/uAssetsCDN/filters/experimental.min.txt",
"https://ublockorigin.pages.dev/filters/experimental.min.txt",
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/experimental.min.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/experimental.min.txt"
],
"patchURLs": [
"https://ublockorigin.github.io/uAssetsCDN/filters/",
"https://ublockorigin.pages.dev/filters/"
],
"supportURL": "https://github.com/uBlockOrigin/uAssets"
},
"adguard-generic": {
"content": "filters",
"group": "ads",
"off": true,
"title": "AdGuard Ads",
"tags": "ads",
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/2_without_easylist.txt",
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"adguard-mobile": {
"content": "filters",
"group": "ads",
"off": true,
"title": "AdGuard Mobile Ads",
"tags": "ads mobile",
"ua": "mobile",
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/11.txt",
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"easylist": {
"content": "filters",
"group": "ads",
"title": "EasyList",
"tags": "ads",
"preferred": true,
"contentURL": [
"https://ublockorigin.github.io/uAssets/thirdparties/easylist.txt",
"assets/thirdparties/easylist/easylist.txt"
],
"cdnURLs": [
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/thirdparties/easylist.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/thirdparties/easylist.txt",
"https://ublockorigin.pages.dev/thirdparties/easylist.txt"
],
"patchURLs": [
"https://ublockorigin.github.io/uAssetsCDN/filters/",
"https://ublockorigin.pages.dev/filters/"
],
"supportURL": "https://easylist.to/"
},
"adguard-spyware-url": {
"content": "filters",
"group": "privacy",
"off": true,
"title": "AdGuard URL Tracking Protection",
"tags": "privacy",
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/17.txt",
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"block-lan": {
"content": "filters",
"group": "privacy",
"off": true,
"title": "Block Outsider Intrusion into LAN",
"tags": "privacy security",
"contentURL": "https://ublockorigin.github.io/uAssets/filters/lan-block.txt",
"cdnURLs": [
"https://ublockorigin.github.io/uAssetsCDN/filters/lan-block.txt",
"https://ublockorigin.pages.dev/filters/lan-block.txt",
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/lan-block.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/lan-block.txt"
],
"supportURL": "https://github.com/uBlockOrigin/uAssets"
},
"easyprivacy": {
"content": "filters",
"group": "privacy",
"title": "EasyPrivacy",
"tags": "privacy",
"preferred": true,
"contentURL": [
"https://ublockorigin.github.io/uAssets/thirdparties/easyprivacy.txt",
"assets/thirdparties/easylist/easyprivacy.txt"
],
"cdnURLs": [
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/thirdparties/easyprivacy.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/thirdparties/easyprivacy.txt",
"https://ublockorigin.pages.dev/thirdparties/easyprivacy.txt"
],
"patchURLs": [
"https://ublockorigin.github.io/uAssetsCDN/filters/",
"https://ublockorigin.pages.dev/filters/"
],
"supportURL": "https://easylist.to/"
},
"urlhaus-1": {
"content": "filters",
"group": "malware",
"title": "Online Malicious URL Blocklist",
"contentURL": [
"https://malware-filter.gitlab.io/urlhaus-filter/urlhaus-filter-ag-online.txt",
"assets/thirdparties/urlhaus-filter/urlhaus-filter-online.txt"
],
"cdnURLs": [
"https://curbengh.github.io/malware-filter/urlhaus-filter-ag-online.txt",
"https://malware-filter.gitlab.io/urlhaus-filter/urlhaus-filter-ag-online.txt",
"https://malware-filter.pages.dev/urlhaus-filter-ag-online.txt"
],
"supportURL": "https://gitlab.com/malware-filter/urlhaus-filter#malicious-url-blocklist"
},
"curben-phishing": {
"content": "filters",
"group": "malware",
"off": true,
"title": "Phishing URL Blocklist",
"contentURL": "https://malware-filter.gitlab.io/phishing-filter/phishing-filter.txt",
"cdnURLs": [
"https://curbengh.github.io/phishing-filter/phishing-filter.txt",
"https://malware-filter.gitlab.io/phishing-filter/phishing-filter.txt",
"https://phishing-filter.pages.dev/phishing-filter.txt"
],
"supportURL": "https://gitlab.com/malware-filter/phishing-filter#phishing-url-blocklist"
},
"adguard-cookies": {
"content": "filters",
"group": "annoyances",
"group2": "cookies",
"parent": "AdGuard/uBO Cookie Notices",
"off": true,
"title": "AdGuard Cookie Notices",
"tags": "annoyances cookies",
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/18.txt",
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"ublock-cookies-adguard": {
"content": "filters",
"group": "annoyances",
"group2": "cookies",
"parent": "AdGuard/uBO Cookie Notices",
"off": true,
"title": "uBlock filters Cookie Notices",
"tags": "annoyances cookies",
"contentURL": "https://ublockorigin.github.io/uAssets/filters/annoyances-cookies.txt",
"cdnURLs": [
"https://ublockorigin.github.io/uAssetsCDN/filters/annoyances-cookies.txt",
"https://ublockorigin.pages.dev/filters/annoyances-cookies.txt",
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/annoyances-cookies.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/annoyances-cookies.txt"
],
"supportURL": "https://github.com/uBlockOrigin/uAssets"
},
"fanboy-cookiemonster": {
"content": "filters",
"group": "annoyances",
"group2": "cookies",
"parent": "EasyList/uBO Cookie Notices",
"off": true,
"title": "EasyList Cookie Notices",
"tags": "annoyances cookies",
"preferred": true,
"contentURL": [
"https://ublockorigin.github.io/uAssets/thirdparties/easylist-cookies.txt",
"https://secure.fanboy.co.nz/fanboy-cookiemonster_ubo.txt"
],
"cdnURLs": [
"https://ublockorigin.github.io/uAssetsCDN/thirdparties/easylist-cookies.txt",
"https://ublockorigin.pages.dev/thirdparties/easylist-cookies.txt",
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/thirdparties/easylist-cookies.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/thirdparties/easylist-cookies.txt",
"https://secure.fanboy.co.nz/fanboy-cookiemonster_ubo.txt"
],
"supportURL": "https://github.com/easylist/easylist#fanboy-lists"
},
"ublock-cookies-easylist": {
"content": "filters",
"group": "annoyances",
"group2": "cookies",
"parent": "EasyList/uBO Cookie Notices",
"off": true,
"title": "uBlock filters Cookie Notices",
"tags": "annoyances cookies",
"preferred": true,
"contentURL": "https://ublockorigin.github.io/uAssets/filters/annoyances-cookies.txt",
"cdnURLs": [
"https://ublockorigin.github.io/uAssetsCDN/filters/annoyances-cookies.txt",
"https://ublockorigin.pages.dev/filters/annoyances-cookies.txt",
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/annoyances-cookies.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/annoyances-cookies.txt"
],
"supportURL": "https://github.com/uBlockOrigin/uAssets"
},
"adguard-social": {
"content": "filters",
"group": "annoyances",
"group2": "social",
"parent": null,
"off": true,
"title": "AdGuard Social Widgets",
"tags": "annoyances social",
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/4.txt",
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"fanboy-social": {
"content": "filters",
"group": "annoyances",
"group2": "social",
"parent": null,
"off": true,
"title": "EasyList Social Widgets",
"tags": "annoyances social",
"preferred": true,
"contentURL": [
"https://ublockorigin.github.io/uAssets/thirdparties/easylist-social.txt",
"https://secure.fanboy.co.nz/fanboy-social_ubo.txt"
],
"cdnURLs": [
"https://ublockorigin.github.io/uAssetsCDN/thirdparties/easylist-social.txt",
"https://ublockorigin.pages.dev/thirdparties/easylist-social.txt",
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/thirdparties/easylist-social.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/thirdparties/easylist-social.txt",
"https://secure.fanboy.co.nz/fanboy-social_ubo.txt"
],
"supportURL": "https://easylist.to/"
},
"fanboy-thirdparty_social": {
"content": "filters",
"group": "annoyances",
"group2": "social",
"off": true,
"title": "Fanboy Anti-Facebook",
"tags": "privacy",
"contentURL": "https://secure.fanboy.co.nz/fanboy-antifacebook.txt",
"supportURL": "https://github.com/ryanbr/fanboy-adblock/issues"
},
"adguard-popup-overlays": {
"content": "filters",
"group": "annoyances",
"parent": "AdGuard Annoyances",
"off": true,
"title": "AdGuard Popup Overlays",
"tags": "annoyances",
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/19.txt",
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"adguard-mobile-app-banners": {
"content": "filters",
"group": "annoyances",
"parent": "AdGuard Annoyances",
"off": true,
"title": "AdGuard Mobile App Banners",
"tags": "annoyances mobile",
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/20.txt",
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"adguard-other-annoyances": {
"content": "filters",
"group": "annoyances",
"parent": "AdGuard Annoyances",
"off": true,
"title": "AdGuard Other Annoyances",
"tags": "annoyances",
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/21.txt",
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"adguard-widgets": {
"content": "filters",
"group": "annoyances",
"parent": "AdGuard Annoyances",
"off": true,
"title": "AdGuard Widgets",
"tags": "annoyances",
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/22.txt",
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"easylist-annoyances": {
"content": "filters",
"group": "annoyances",
"parent": "EasyList Annoyances",
"off": true,
"title": "EasyList Other Annoyances",
"tags": "annoyances",
"preferred": true,
"contentURL": "https://ublockorigin.github.io/uAssets/thirdparties/easylist-annoyances.txt",
"cdnURLs": [
"https://ublockorigin.github.io/uAssetsCDN/thirdparties/easylist-annoyances.txt",
"https://ublockorigin.pages.dev/thirdparties/easylist-annoyances.txt",
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/thirdparties/easylist-annoyances.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/thirdparties/easylist-annoyances.txt"
],
"supportURL": "https://github.com/easylist/easylist#fanboy-lists"
},
"easylist-chat": {
"content": "filters",
"group": "annoyances",
"parent": "EasyList Annoyances",
"off": true,
"title": "EasyList Chat Widgets",
"tags": "annoyances",
"preferred": true,
"contentURL": "https://ublockorigin.github.io/uAssets/thirdparties/easylist-chat.txt",
"cdnURLs": [
"https://ublockorigin.github.io/uAssetsCDN/thirdparties/easylist-chat.txt",
"https://ublockorigin.pages.dev/thirdparties/easylist-chat.txt",
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/thirdparties/easylist-chat.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/thirdparties/easylist-chat.txt"
],
"supportURL": "https://github.com/easylist/easylist#fanboy-lists"
},
"easylist-newsletters": {
"content": "filters",
"group": "annoyances",
"parent": "EasyList Annoyances",
"off": true,
"title": "EasyList Newsletter Notices",
"tags": "annoyances",
"preferred": true,
"contentURL": [
"https://ublockorigin.github.io/uAssets/thirdparties/easylist-newsletters.txt"
],
"cdnURLs": [
"https://ublockorigin.github.io/uAssetsCDN/thirdparties/easylist-newsletters.txt",
"https://ublockorigin.pages.dev/thirdparties/easylist-newsletters.txt",
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/thirdparties/easylist-newsletters.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/thirdparties/easylist-newsletters.txt"
],
"supportURL": "https://easylist.to/"
},
"easylist-notifications": {
"content": "filters",
"group": "annoyances",
"parent": "EasyList Annoyances",
"off": true,
"title": "EasyList Notifications",
"tags": "annoyances",
"preferred": true,
"contentURL": [
"https://ublockorigin.github.io/uAssets/thirdparties/easylist-notifications.txt"
],
"cdnURLs": [
"https://ublockorigin.github.io/uAssetsCDN/thirdparties/easylist-notifications.txt",
"https://ublockorigin.pages.dev/thirdparties/easylist-notifications.txt",
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/thirdparties/easylist-notifications.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/thirdparties/easylist-notifications.txt"
],
"supportURL": "https://easylist.to/"
},
"ublock-annoyances": {
"content": "filters",
"group": "annoyances",
"off": true,
"title": "uBlock filters Annoyances",
"tags": "annoyances",
"contentURL": "https://ublockorigin.github.io/uAssets/filters/annoyances.txt",
"cdnURLs": [
"https://ublockorigin.github.io/uAssetsCDN/filters/annoyances.min.txt",
"https://ublockorigin.pages.dev/filters/annoyances.min.txt",
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/annoyances.min.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/annoyances.min.txt"
],
"patchURLs": [
"https://ublockorigin.github.io/uAssetsCDN/filters/",
"https://ublockorigin.pages.dev/filters/"
],
"supportURL": "https://github.com/uBlockOrigin/uAssets"
},
"dpollock-0": {
"content": "filters",
"group": "multipurpose",
"updateAfter": 13,
"off": true,
"title": "Dan Pollocks hosts file",
"tags": "ads privacy security",
"contentURL": "https://someonewhocares.org/hosts/hosts",
"supportURL": "https://someonewhocares.org/hosts/"
},
"plowe-0": {
"content": "filters",
"group": "multipurpose",
"updateAfter": 13,
"title": "Peter Lowes Ad and tracking server list",
"tags": "ads privacy security",
"preferred": true,
"contentURL": [
"https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=1&mimetype=plaintext",
"assets/thirdparties/pgl.yoyo.org/as/serverlist.txt",
"assets/thirdparties/pgl.yoyo.org/as/serverlist"
],
"supportURL": "https://pgl.yoyo.org/adservers/"
},
"ALB-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇦🇱al 🇽🇰xk: Adblock List for Albania",
"tags": "ads albania shqipja",
"lang": "sq",
"contentURL": "https://raw.githubusercontent.com/AnXh3L0/blocklist/master/albanian-easylist-addition/Albania.txt",
"supportURL": "https://github.com/AnXh3L0/blocklist"
},
"ara-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇪🇬eg 🇸🇦sa 🇲🇦ma 🇩🇿dz: Liste AR",
"tags": "ads arabic اَلْعَرَبِيَّةُ‎",
"lang": "ar kab",
"contentURL": "https://easylist-downloads.adblockplus.org/Liste_AR.txt",
"supportURL": "https://forums.lanik.us/viewforum.php?f=98"
},
"BGR-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇧🇬bg: Bulgarian Adblock list",
"tags": "ads bulgarian България macedonian Македонија",
"lang": "bg mk",
"contentURL": "https://stanev.org/abp/adblock_bg.txt",
"supportURL": "https://stanev.org/abp/"
},
"CHN-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇨🇳cn 🇹🇼tw: AdGuard Chinese (中文)",
"tags": "ads chinese 中文",
"lang": "ug zh",
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/224.txt",
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"CZE-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇨🇿cz 🇸🇰sk: EasyList Czech and Slovak",
"tags": "ads czech česká slovak slovenská",
"lang": "cs sk",
"contentURL": "https://raw.githubusercontent.com/tomasko126/easylistczechandslovak/master/filters.txt",
"supportURL": "https://github.com/tomasko126/easylistczechandslovak"
},
"DEU-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇩🇪de 🇨🇭ch 🇦🇹at: EasyList Germany",
"tags": "ads german deutschland luxembourgish lëtzebuerg romansh",
"lang": "de dsb hsb lb rm",
"contentURL": [
"https://easylist.to/easylistgermany/easylistgermany.txt",
"https://easylist-downloads.adblockplus.org/easylistgermany.txt"
],
"supportURL": "https://forums.lanik.us/viewforum.php?f=90"
},
"EST-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇪🇪ee: Eesti saitidele kohandatud filter",
"tags": "ads estonian",
"lang": "et",
"contentURL": "https://adblock.ee/list.txt",
"supportURL": "https://adblock.ee"
},
"FIN-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇫🇮fi: Adblock List for Finland",
"tags": "ads finnish",
"lang": "fi",
"contentURL": "https://raw.githubusercontent.com/finnish-easylist-addition/finnish-easylist-addition/gh-pages/Finland_adb.txt",
"supportURL": "https://github.com/finnish-easylist-addition/finnish-easylist-addition"
},
"FRA-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇫🇷fr 🇨🇦ca: AdGuard Français",
"tags": "ads french",
"lang": "ar br ff fr kab lb oc son",
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/16.txt",
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"GRC-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇬🇷gr 🇨🇾cy: Greek AdBlock Filter",
"tags": "ads greek",
"lang": "el",
"contentURL": "https://www.void.gr/kargig/void-gr-filters.txt",
"supportURL": "https://github.com/kargig/greek-adblockplus-filter"
},
"HRV-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇭🇷hr 🇷🇸rs: Dandelion Sprout's Serbo-Croatian filters",
"tags": "ads croatian serbian bosnian",
"lang": "bs hr sr",
"contentURL": [
"https://raw.githubusercontent.com/DandelionSprout/adfilt/master/SerboCroatianList.txt",
"https://cdn.jsdelivr.net/gh/DandelionSprout/adfilt@master/SerboCroatianList.txt",
"https://cdn.statically.io/gl/DandelionSprout/adfilt/master/SerboCroatianList.txt"
],
"supportURL": "https://github.com/DandelionSprout/adfilt#readme"
},
"HUN-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇭🇺hu: hufilter",
"tags": "ads hungarian",
"lang": "hu",
"contentURL": "https://cdn.jsdelivr.net/gh/hufilter/hufilter@gh-pages/hufilter-ublock.txt",
"supportURL": "https://github.com/hufilter/hufilter"
},
"IDN-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇮🇩id 🇲🇾my: ABPindo",
"tags": "ads indonesian malay",
"lang": "id ms",
"contentURL": "https://raw.githubusercontent.com/ABPindo/indonesianadblockrules/master/subscriptions/abpindo.txt",
"supportURL": "https://github.com/ABPindo/indonesianadblockrules"
},
"IND-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇮🇳in 🇱🇰lk 🇳🇵np: IndianList",
"tags": "ads assamese bengali gujarati hindi kannada malayalam marathi nepali punjabi sinhala tamil telugu",
"lang": "as bn gu hi kn ml mr ne pa sat si ta te",
"contentURL": "https://easylist-downloads.adblockplus.org/indianlist.txt",
"supportURL": "https://github.com/mediumkreation/IndianList"
},
"IRN-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇮🇷ir: PersianBlocker",
"tags": "ads af ir persian pashto tajik tj",
"lang": "fa ps tg",
"contentURL": [
"https://raw.githubusercontent.com/MasterKia/PersianBlocker/main/PersianBlocker.txt",
"https://cdn.statically.io/gh/MasterKia/PersianBlocker/main/PersianBlocker.txt"
],
"cdnURLs": [
"https://cdn.jsdelivr.net/gh/MasterKia/PersianBlocker@main/PersianBlocker.txt",
"https://cdn.statically.io/gh/MasterKia/PersianBlocker/main/PersianBlocker.txt"
],
"supportURL": "https://github.com/MasterKia/PersianBlocker"
},
"ISL-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇮🇸is: Icelandic ABP List",
"tags": "ads icelandic",
"lang": "is",
"contentURL": "https://raw.githubusercontent.com/brave/adblock-lists/master/custom/is.txt",
"supportURL": "https://github.com/brave/adblock-lists/issues"
},
"ISR-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇮🇱il: EasyList Hebrew",
"tags": "ads hebrew",
"lang": "he",
"contentURL": "https://raw.githubusercontent.com/easylist/EasyListHebrew/master/EasyListHebrew.txt",
"supportURL": "https://github.com/easylist/EasyListHebrew"
},
"ITA-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇮🇹it: EasyList Italy",
"tags": "ads italian",
"lang": "fur it lij sc",
"contentURL": "https://easylist-downloads.adblockplus.org/easylistitaly.txt",
"supportURL": "https://forums.lanik.us/viewforum.php?f=96"
},
"JPN-1": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇯🇵jp: AdGuard Japanese",
"tags": "ads japanese 日本語",
"lang": "ja",
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/7.txt",
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"KOR-1": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇰🇷kr: List-KR",
"tags": "ads korean 한국어",
"lang": "ko",
"contentURL": "https://cdn.jsdelivr.net/gh/List-KR/List-KR@latest/filter-uBlockOrigin.txt",
"supportURL": "https://github.com/List-KR/List-KR#readme"
},
"LTU-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇱🇹lt: EasyList Lithuania",
"tags": "ads lithuanian",
"lang": "lt",
"contentURL": "https://raw.githubusercontent.com/EasyList-Lithuania/easylist_lithuania/master/easylistlithuania.txt",
"cdnURLs": [
"https://cdn.jsdelivr.net/gh/EasyList-Lithuania/easylist_lithuania@master/easylistlithuania.txt",
"https://cdn.statically.io/gh/EasyList-Lithuania/easylist_lithuania/master/easylistlithuania.txt"
],
"supportURL": "https://github.com/EasyList-Lithuania/easylist_lithuania"
},
"LVA-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇱🇻lv: Latvian List",
"tags": "ads latvian",
"lang": "lv",
"contentURL": "https://raw.githubusercontent.com/Latvian-List/adblock-latvian/master/lists/latvian-list.txt",
"supportURL": "https://github.com/Latvian-List/adblock-latvian"
},
"MKD-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇲🇰mk: Macedonian adBlock Filters",
"tags": "ads macedonian",
"lang": "mk",
"contentURL": "https://raw.githubusercontent.com/DeepSpaceHarbor/Macedonian-adBlock-Filters/master/Filters",
"supportURL": "https://github.com/DeepSpaceHarbor/Macedonian-adBlock-Filters"
},
"NLD-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇳🇱nl 🇧🇪be: AdGuard Dutch",
"tags": "ads afrikaans be belgië frisian dutch flemish nederlands netherlands nl sr suriname za",
"lang": "af fy nl",
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/8.txt",
"cdnURLs": null,
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"NOR-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇳🇴no 🇩🇰dk 🇮🇸is: Dandelion Sprouts nordiske filtre",
"tags": "ads norwegian danish icelandic",
"lang": "nb nn no da is",
"contentURL": [
"https://raw.githubusercontent.com/DandelionSprout/adfilt/master/NorwegianList.txt",
"https://cdn.jsdelivr.net/gh/DandelionSprout/adfilt@master/NorwegianList.txt",
"https://cdn.statically.io/gl/DandelionSprout/adfilt/master/NorwegianList.txt"
],
"supportURL": "https://github.com/DandelionSprout/adfilt"
},
"POL-0": {
"content": "filters",
"group": "regions",
"parent": "🇵🇱pl: Oficjalne Polskie Filtry",
"off": true,
"title": "🇵🇱pl: Oficjalne Polskie Filtry do uBlocka Origin",
"tags": "ads polish polski",
"lang": "szl pl _",
"contentURL": "https://raw.githubusercontent.com/MajkiIT/polish-ads-filter/master/polish-adblock-filters/adblock.txt",
"supportURL": "https://github.com/MajkiIT/polish-ads-filter"
},
"POL-3": {
"content": "filters",
"group": "regions",
"parent": "🇵🇱pl: Oficjalne Polskie Filtry",
"off": true,
"title": "🇵🇱pl: CERT.PL's Warning List",
"tags": "malware polish polski",
"lang": "szl pl",
"contentURL": "https://hole.cert.pl/domains/v2/domains_ublock.txt",
"supportURL": "https://cert.pl/lista-ostrzezen/"
},
"ROU-1": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇷🇴ro 🇲🇩md: Romanian Ad (ROad) Block List Light",
"tags": "ads romanian română moldavian moldovenească молдовеняскэ",
"lang": "ro",
"contentURL": [
"https://raw.githubusercontent.com/tcptomato/ROad-Block/master/road-block-filters-light.txt"
],
"supportURL": "https://github.com/tcptomato/ROad-Block"
},
"RUS-0": {
"content": "filters",
"group": "regions",
"parent": "🇷🇺ru 🇺🇦ua 🇺🇿uz 🇰🇿kz: RU AdList",
"off": true,
"title": "🇷🇺ru 🇺🇦ua 🇺🇿uz 🇰🇿kz: RU AdList",
"tags": "ads belarusian беларуская kazakh tatar russian русский ukrainian українська uzbek uk",
"lang": "be kk tt ru uz",
"contentURL": "https://raw.githubusercontent.com/easylist/ruadlist/master/RuAdList-uBO.txt",
"cdnURLs": [
"https://cdn.jsdelivr.net/gh/dimisa-RUAdList/RUAdListCDN@main/lists/ruadlist.ubo.min.txt",
"https://cdn.statically.io/gh/dimisa-RUAdList/RUAdListCDN/main/lists/ruadlist.ubo.min.txt",
"https://raw.githubusercontent.com/dimisa-RUAdList/RUAdListCDN/main/lists/ruadlist.ubo.min.txt"
],
"supportURL": "https://forums.lanik.us/viewforum.php?f=102",
"instructionURL": "https://forums.lanik.us/viewtopic.php?f=102&t=22512"
},
"RUS-1": {
"content": "filters",
"group": "regions",
"parent": "🇷🇺ru 🇺🇦ua 🇺🇿uz 🇰🇿kz: RU AdList",
"off": true,
"title": "🇷🇺ru 🇺🇦ua 🇺🇿uz 🇰🇿kz: RU AdList: Counters",
"tags": "ads belarusian беларуская kazakh tatar russian русский ukrainian українська uzbek be kk tt ru uk uz",
"contentURL": "https://raw.githubusercontent.com/easylist/ruadlist/master/cntblock.txt",
"cdnURLs": [
"https://cdn.jsdelivr.net/gh/easylist/ruadlist@master/cntblock.txt",
"https://cdn.statically.io/gh/easylist/ruadlist/master/cntblock.txt",
"https://raw.githubusercontent.com/easylist/ruadlist/master/cntblock.txt"
],
"supportURL": "https://forums.lanik.us/viewforum.php?f=102",
"instructionURL": "https://forums.lanik.us/viewtopic.php?f=102&t=22512"
},
"spa-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇪🇸es 🇦🇷ar 🇲🇽mx 🇨🇴co: EasyList Spanish",
"tags": "ads aragonese basque catalan spanish español galician guarani",
"lang": "an ast ca cak es eu gl gn trs quz",
"contentURL": "https://easylist-downloads.adblockplus.org/easylistspanish.txt",
"supportURL": "https://forums.lanik.us/viewforum.php?f=103"
},
"spa-1": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇪🇸es 🇦🇷ar 🇧🇷br 🇵🇹pt: AdGuard Spanish/Portuguese",
"tags": "ads aragonese basque catalan spanish español galician guarani portuguese português",
"lang": "an ast ca cak es eu gl gn trs pt quz",
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/9.txt",
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"SVN-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇸🇮si: Slovenian List",
"tags": "ads slovenian slovenski",
"lang": "sl",
"contentURL": "https://raw.githubusercontent.com/betterwebleon/slovenian-list/master/filters.txt",
"supportURL": "https://github.com/betterwebleon/slovenian-list"
},
"SWE-1": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇸🇪se: Frellwit's Swedish Filter",
"tags": "ads swedish svenska",
"lang": "sv",
"contentURL": "https://raw.githubusercontent.com/lassekongo83/Frellwits-filter-lists/master/Frellwits-Swedish-Filter.txt",
"cdnURLs": [
"https://raw.githubusercontent.com/lassekongo83/Frellwits-filter-lists/swefilter/swefilter.min.txt",
"https://cdn.jsdelivr.net/gh/lassekongo83/Frellwits-filter-lists@swefilter/swefilter.min.txt"
],
"supportURL": "https://github.com/lassekongo83/Frellwits-filter-lists"
},
"THA-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇹🇭th: EasyList Thailand",
"tags": "ads thai ไทย",
"lang": "th",
"contentURL": "https://raw.githubusercontent.com/easylist-thailand/easylist-thailand/master/subscription/easylist-thailand.txt",
"supportURL": "https://github.com/easylist-thailand/easylist-thailand"
},
"TUR-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇹🇷tr: AdGuard Turkish",
"tags": "ads turkish türkçe",
"lang": "tr",
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/13.txt",
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"UKR-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇺🇦ua: AdGuard Ukrainian",
"tags": "ads ukraine україна",
"lang": "uk",
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/23.txt",
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"VIE-1": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇻🇳vn: ABPVN List",
"tags": "ads vietnamese việt",
"lang": "vi",
"contentURL": "https://raw.githubusercontent.com/abpvn/abpvn/master/filter/abpvn_ublock.txt",
"supportURL": "https://abpvn.com/"
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

137
dist/README.md vendored
View File

@@ -1,78 +1,103 @@
## INSTALL
# INSTALL
### Chromium
## Chromium
- Download and unzip `ublock0.chromium.zip` ([latest release desirable](https://github.com/gorhill/uBlock/releases)).
- Rename the unzipped directory to `ublock`
- When you later update manually, replace the **content** of the `ublock` folder with the **content** of the latest zipped version.
- This will ensure that all the extension settings will be preserved
- As long as the extension loads **from same folder path from which it was originally installed**, all your settings will be preserved.
- Go to chromium/chrome *Extensions*.
- Click to check *Developer mode*.
- Click *Load unpacked extension...*.
- In the file selector dialog:
- Select the directory `ublock` which was created above.
- Click *Open*.
1. Download and unzip `ublock0.chromium.zip` ([latest release desirable](https://github.com/gorhill/uBlock/releases)).
2. Rename the unzipped directory to `ublock`.
- When you update manually, replace the **content** of the `ublock` folder with the **content** of the latest zipped version. This ensures all extension settings are preserved.
- As long as the extension loads from the same folder path as it was originally installed, your settings will be kept.
3. Open Chromium/Chrome and go to *Extensions*.
4. Click to enable *Developer mode*.
5. Click *Load unpacked extension...*.
6. In the file selector dialog:
- Select the `ublock` directory you created.
- Click *Open*.
The extension will now be available in your chromium/chromium-based browser.
The extension will now be available in your Chromium/Chromium-based browser.
Remember that you have to update manually also. For some users, updating manually is actually an advantage because:
- You can update when **you** want
- If ever a new version sucks, you can easily just re-install the previous one
**Note:** You must update manually. For some users, manual updates are beneficial because:
- You can update when **you** want.
- If a new version is unsatisfactory, you can easily reinstall the previous one.
### Firefox
## Firefox
Compatible with Firefox 52 and beyond.
Compatible with Firefox 52 and beyond.
#### For stable release version
### For Stable Release Version
This works only if you set `xpinstall.signatures.required` to `false` in `about:config`.<sup>[see "Add-on signing in Firefox"](https://support.mozilla.org/en-US/kb/add-on-signing-in-firefox)</sup>
This method only works if you set `xpinstall.signatures.required` to `false` in `about:config`.<sup>[see "Add-on signing in Firefox"](https://support.mozilla.org/en-US/kb/add-on-signing-in-firefox)</sup>
- Download `ublock0.firefox.xpi` ([latest release desirable](https://github.com/gorhill/uBlock/releases)).
- Right-click and choose _"Save As..."_.
- Drag and drop the previously downloaded `ublock0.firefox.xpi` into Firefox
1. Download `ublock0.firefox.xpi` ([latest release desirable](https://github.com/gorhill/uBlock/releases)).
- Right-click and choose _"Save As..."_.
2. Drag and drop the downloaded `ublock0.firefox.xpi` into Firefox.
#### For beta version
### For Beta Version
- Click on `ublock0.firefox.signed.xpi` ([latest release desirable](https://github.com/gorhill/uBlock/releases)).
#### Location of uBO settings
### Location of uBO Settings
On Linux, the settings are saved in a JSON file located at `~/.mozilla/firefox/[profile name]/browser-extension-data/uBlock0@raymondhill.net/storage.js`.
On Linux, the settings are saved in a JSON file located at:
```
~/.mozilla/firefox/[profile name]/browser-extension-data/uBlock0@raymondhill.net/storage.js
```
When you uninstall the extension, Firefox deletes this file, and all your settings will be lost.
When you uninstall the extension, Firefox deletes that file, so all your settings are lost when you uninstall.
### Firefox Legacy
### Firefox legacy
Compatible with Firefox 24-56, [Pale Moon](https://www.palemoon.org/), and [SeaMonkey](https://www.seamonkey-project.org/).
Compatible with Firefox 24-56, [Pale Moon](https://www.palemoon.org/) and [SeaMonkey](http://www.seamonkey-project.org/).
1. Download `ublock0.firefox-legacy.xpi` ([latest release desirable](https://github.com/gorhill/uBlock-for-firefox-legacy/releases)).
- Right-click and select "Save Link As..."
2. Drag and drop the downloaded `ublock0.firefox-legacy.xpi` into Firefox.
- Download `ublock0.firefox-legacy.xpi` ([latest release desirable](https://github.com/gorhill/uBlock-for-firefox-legacy/releases)).
- Right-click and select "Save Link As..."
- Drag and drop the previously downloaded `ublock0.firefox-legacy.xpi` into Firefox
For Firefox 43 and beyond, you may need to toggle the setting `xpinstall.signatures.required` to `false` in `about:config`.<sup>[see "Add-on signing in Firefox"](https://support.mozilla.org/en-US/kb/add-on-signing-in-firefox)</sup>
With Firefox 43 and beyond, you may need to toggle the setting `xpinstall.signatures.required` to `false` in `about:config`.<sup>[see "Add-on signing in Firefox"](https://support.mozilla.org/en-US/kb/add-on-signing-in-firefox)</sup>
Your uBlock Origin settings are preserved even after uninstalling the addon.
Your uBlock Origin settings are kept intact even after you uninstall the addon.
- On Linux, settings are saved in a SQLite file located at:
```
~/.mozilla/firefox/[profile name]/extension-data/ublock0.sqlite
```
- On Windows, settings are saved in a SQLite file located at:
```
%APPDATA%\Mozilla\Firefox\Profiles\[profile name]\extension-data\ublock0.sqlite
```
On Linux, the settings are saved in a SQlite file located at `~/.mozilla/firefox/[profile name]/extension-data/ublock0.sqlite`.
## Build Instructions (for Developers)
On Windows, the settings are saved in a SQlite file located at `%APPDATA%\Mozilla\Firefox\Profiles\[profile name]\extension-data\ublock0.sqlite`.
### Build instructions (for developers)
- Clone [uBlock](https://github.com/gorhill/uBlock) and [uAssets](https://github.com/uBlockOrigin/uAssets) repositories in the same parent directory
- `git clone https://github.com/gorhill/uBlock.git`
- `git clone https://github.com/uBlockOrigin/uAssets.git`
- Set path to uBlock: `cd uBlock`
- The official version of uBO is in the `master` branch
- `git checkout master`
- Build the plugin:
- Chromium: `./tools/make-chromium.sh`
- Firefox webext: `./tools/make-firefox.sh all`
- Firefox legacy:
- `git checkout firefox-legacy`
- `./tools/make-firefox-legacy.sh all`
- Load the result of the build into your browser:
- Chromium: load the unpacked extension folder `/uBlock/dist/build/uBlock0.chromium/` in Chromium to use the extension.
- Firefox: drag-and-drop `/uBlock/dist/build/uBlock0.firefox.xpi` or `/uBlock/dist/build/uBlock0.firefox-legacy.xpi` into Firefox.
1. Clone the [uBlock repository](https://github.com/gorhill/uBlock):
```bash
git clone https://github.com/gorhill/uBlock.git
```
2. Set the path to uBlock:
```bash
cd uBlock
```
3. The official version of uBO is in the `master` branch:
```bash
git checkout master
```
4. Build the plugin:
- Chromium:
```bash
make chromium
```
- Firefox:
```bash
make firefox
```
- NPM package:
```bash
make npm
```
5. Load the result of the build into your browser:
- **Chromium:**
- Navigate to `chrome://extensions/`
- Check _"Developer mode"_
- Click _"Load unpacked"_
- Select `/uBlock/dist/build/uBlock0.chromium/`
- **Firefox:**
- Navigate to `about:debugging#/runtime/this-firefox`
- Click _"Load Temporary Add-on..."_
- Select `/uBlock/dist/build/uBlock0.firefox/`

View File

@@ -1,192 +0,0 @@
#!/usr/bin/env python3
import datetime
import json
import jwt
import os
import re
import requests
import shutil
import subprocess
import sys
import tempfile
import time
import zipfile
from distutils.version import StrictVersion
from string import Template
# - Download target (raw) uBlock0.chromium.zip from GitHub
# - This is referred to as "raw" package
# - This will fail if not a dev build
# - Upload uBlock0.chromium.zip to Chrome store
# - Publish uBlock0.chromium.zip to Chrome store
# Find path to project root
projdir = os.path.split(os.path.abspath(__file__))[0]
while not os.path.isdir(os.path.join(projdir, '.git')):
projdir = os.path.normpath(os.path.join(projdir, '..'))
# We need a version string to work with
if len(sys.argv) >= 2 and sys.argv[1]:
version = sys.argv[1]
else:
version = input('Github release version: ')
version.strip()
if not re.search('^\d+\.\d+\.\d+(b|rc)\d+$', version):
print('Error: Invalid version string.')
exit(1)
cs_extension_id = 'cgbcahbpdhpcegmbfconppldiemgcoii'
tmpdir = tempfile.TemporaryDirectory()
raw_zip_filename = 'uBlock0_' + version + '.chromium.zip'
raw_zip_filepath = os.path.join(tmpdir.name, raw_zip_filename)
github_owner = 'gorhill'
github_repo = 'uBlock'
# Load/save auth secrets
# The build directory is excluded from git
ubo_secrets = dict()
ubo_secrets_filename = os.path.join(projdir, 'dist', 'build', 'ubo_secrets')
if os.path.isfile(ubo_secrets_filename):
with open(ubo_secrets_filename) as f:
ubo_secrets = json.load(f)
def input_secret(prompt, token):
if token in ubo_secrets:
prompt += ''
prompt += ': '
value = input(prompt).strip()
if len(value) == 0:
if token not in ubo_secrets:
print('Token error:', token)
exit(1)
value = ubo_secrets[token]
elif token not in ubo_secrets or value != ubo_secrets[token]:
ubo_secrets[token] = value
exists = os.path.isfile(ubo_secrets_filename)
with open(ubo_secrets_filename, 'w') as f:
json.dump(ubo_secrets, f, indent=2)
if not exists:
os.chmod(ubo_secrets_filename, 0o600)
return value
# GitHub API token
github_token = input_secret('Github token', 'github_token')
github_auth = 'token ' + github_token
#
# Get metadata from GitHub about the release
#
# https://developer.github.com/v3/repos/releases/#get-a-single-release
print('Downloading release info from GitHub...')
release_info_url = 'https://api.github.com/repos/{0}/{1}/releases/tags/{2}'.format(github_owner, github_repo, version)
headers = { 'Authorization': github_auth, }
response = requests.get(release_info_url, headers=headers)
if response.status_code != 200:
print('Error: Release not found: {0}'.format(response.status_code))
exit(1)
release_info = response.json()
#
# Extract URL to raw package from metadata
#
# Find url for uBlock0.chromium.zip
raw_zip_url = ''
for asset in release_info['assets']:
if asset['name'] == raw_zip_filename:
raw_zip_url = asset['url']
if len(raw_zip_url) == 0:
print('Error: Release asset URL not found')
exit(1)
#
# Download raw package from GitHub
#
# https://developer.github.com/v3/repos/releases/#get-a-single-release-asset
print('Downloading raw zip package from GitHub...')
headers = {
'Authorization': github_auth,
'Accept': 'application/octet-stream',
}
response = requests.get(raw_zip_url, headers=headers)
# Redirections are transparently handled:
# http://docs.python-requests.org/en/master/user/quickstart/#redirection-and-history
if response.status_code != 200:
print('Error: Downloading raw package failed -- server error {0}'.format(response.status_code))
exit(1)
with open(raw_zip_filepath, 'wb') as f:
f.write(response.content)
print('Downloaded raw package saved as {0}'.format(raw_zip_filepath))
#
# Upload to Chrome store
#
# Auth tokens
cs_id = input_secret('Chrome store id', 'cs_id')
cs_secret = input_secret('Chrome store secret', 'cs_secret')
cs_refresh = input_secret('Chrome store refresh token', 'cs_refresh')
print('Uploading to Chrome store...')
with open(raw_zip_filepath, 'rb') as f:
print('Generating access token...')
auth_url = 'https://accounts.google.com/o/oauth2/token'
auth_payload = {
'client_id': cs_id,
'client_secret': cs_secret,
'grant_type': 'refresh_token',
'refresh_token': cs_refresh,
}
auth_response = requests.post(auth_url, data=auth_payload)
if auth_response.status_code != 200:
print('Error: Auth failed -- server error {0}'.format(auth_response.status_code))
print(auth_response.text)
exit(1)
response_dict = auth_response.json()
if 'access_token' not in response_dict:
print('Error: Auth failed -- no access token')
exit(1)
# Prepare access token
cs_auth = 'Bearer ' + response_dict['access_token']
headers = {
'Authorization': cs_auth,
'x-goog-api-version': '2',
}
# Upload
print('Uploading package...')
upload_url = 'https://www.googleapis.com/upload/chromewebstore/v1.1/items/{0}'.format(cs_extension_id)
upload_response = requests.put(upload_url, headers=headers, data=f)
f.close()
if upload_response.status_code != 200:
print('Upload failed -- server error {0}'.format(upload_response.status_code))
print(upload_response.text)
exit(1)
response_dict = upload_response.json();
if 'uploadState' not in response_dict or response_dict['uploadState'] != 'SUCCESS':
print('Upload failed -- server error {0}'.format(response_dict['uploadState']))
exit(1)
print('Upload succeeded.')
# Publish
print('Publishing package...')
publish_url = 'https://www.googleapis.com/chromewebstore/v1.1/items/{0}/publish'.format(cs_extension_id)
headers = {
'Authorization': cs_auth,
'x-goog-api-version': '2',
'Content-Length': '0',
}
publish_response = requests.post(publish_url, headers=headers)
if publish_response.status_code != 200:
print('Error: Chrome store publishing failed -- server error {0}'.format(publish_response.status_code))
exit(1)
response_dict = publish_response.json();
if 'status' not in response_dict or response_dict['status'][0] != 'OK':
print('Publishing failed -- server error {0}'.format(response_dict['status']))
exit(1)
print('Publishing succeeded.')
print('All done.')

49
dist/description/description-az.txt vendored Normal file
View File

@@ -0,0 +1,49 @@
Səmərəli bir əngəlləyici: yaddaş və prosessor yükünü artırmadığı halda digər məşhur əngəlləyicilərlə müqayisədə minlərlə daha çox filtri dəstəkləyir.
Proqramın səmərəliliyinə dair ümumi əyani məlumat: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
İstifadə: Açılan pəncərədəki böyük açar düyməsi uBlock₀-u cari veb-saytda işə salmaq/dayandırmaq üçündür. Bu zaman uBlock₀ bütün veb-saytlarda deyil, yalnız cari veb-saytda işə düşür/dayandırılır.
***
Uyuşqan olmaqla yanaşı, uBlock₀ adi reklam əngəlləyicisindən fərqli olaraq domen adlarının olduğu faylları oxuya və yarada bilir.
Standart rejimdə aşağıdakı filtr siyahıları yüklənəcək və tətbiq olunacaq:
- EasyList
- Peter Lowe-dan reklam serverləri siyahısı
- EasyPrivacy
- Zərərli domenlər
Əlavə olaraq aşağıdakı siyahıları da seçə bilərsiniz:
- Fanboy-dan izləmə serverlərinin genişləndirilmiş siyahısı
- Dan Pollock-dan veb-domenlər faylı
- hpHosts reklam və izləmə serverləri siyahısı
- MVPS veb-domenləri
- Spam404
- Və bir çox başqaları
Təbii ki, hər yeni seçilən filtrlər siyahısı yaddaş yükünü də artırır. Buna baxmayaraq, Fanboy-dan iki əlavə siyahı və hpHosts reklam və izləmə serverləri siyahısını seçsəniz belə, uBlock₀ digər məşhur reklam əngəlləyicilərindən fərqli olaraq yaddaşda daha az yer tutur.
Həmçinin nəzərə alın ki, əlavə siyahıların bəzisini -- xüsusən tərkibində domen adları olan siyahıları seçdikdə, veb-saytın düzgün yüklənməməsi ehtimalı da artır.
***
Əvvəldən quraşdırılmış filtr siyahıları olmadan, uBlock₀ heç bir işə yaramır. Ona görə də, əgər siz həqiqətən bir töfhə vermək istəyirsinizsə, hər kəsin istifadəsinə pulsuz təqdim olunan filtr siyahılarını yorulmadan dəstəkləyən insanlar haqqında düşünün.
***
Pulsuz.
Ümumi lisenziyalı (GPLv3) açıq mənbə kodu.
İstifadəçilər tərəfindən istifadəçilər üçün.
Github-a qoşulan iştirakçılarımız: https://github.com/gorhill/uBlock/graphs/contributors
Crowdin-ə qoşulan iştirakçılarımız: https://crowdin.net/project/ublock
***
It's quite an early version, keep this in mind when you review.
Layihəyə edilmiş dəyişikliklərin siyahısı:
https://github.com/gorhill/uBlock/releases

View File

@@ -2,7 +2,7 @@
এটির কার্যকারিতার সচিত্র সংক্ষিপ্ত বিবরণ: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
ব্যবহার: পপআপে বড় বোতামটি বর্তমান ওয়েব সাইটকে স্থায়ীভাবে জন্য ইউব্লক দ্বারা সক্রিয়/নিষ্ক্রিয় করবে। এটা শুধুমাত্র বর্তমান ওয়েব সাইটে প্রযোজ্য, এটি একটি সার্বজনীন পাওয়ার বোতাম নয়।
ব্যবহার: পপআপেড় পাওয়ার বাটনটি হলো বর্তমান ওেবসাইটে uBlock কে স্থাীভাবে সক্রিয় / নিষ্ক্রিয় করার জন্য। এটা শুধুমাত্র বর্তমান ওয়েব সাইটে প্রযোজ্য, এটি একটি সার্বজনীন পাওয়ার বোতাম নয়।
***
@@ -18,7 +18,7 @@
আপনি যদি চান আপনি নির্বাচন করার জন্য আরো তালিকা পাবেন:
- ফ্যানবয়ের বর্ধিত অনুসরণকরণ তালিকা
- ডেন পোলোক-এর হোস্ট ফাইল
- Dan Pollocks hosts file
- এইচপিহোস্টসের বিজ্ঞাপন এবং অনুসরণকরণ সার্ভার
- MVPS হোস্টসমূহ
- স্প্যাম৪০৪

View File

@@ -1,36 +1,36 @@
Efikasan bloker: lagan je na otisak/zahtjev memorije i procesora, a može učitati i primijeniti tisuće/hiljade više filtera nego ostali popularni blokeri.
Efikasan bloker: lagan na memoriju i procesor, a može učitati i primijeniti još hiljadu više drugih filtera nego drugi poznati blokeri.
Ilustrovani/Ilustrirani pregled njegove efikasnosti: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Ilustrovani pregled njegove efikasnosti: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Korištenje/Upotreba: Veliko dugme/gumb u iskočnom prozoru je da se trajno omogući/onemogući uBlock na trenutačnoj stranici. To se odnosi samo na trenutnu web-stranicu, nije da se kompletno isključi.
Upotreba: Veliko dugme u skočnom prozoru je da trajno omogućite/onemogućite uBlock na trenutačnoj web-stranici. To se odnosi samo na trenutnu web-stranicu, pa nije da ga kompletno isključite.
***
Fleksibilan je, više je od "blokatora reklama": može i učitati i napraviti filtere iz izvornih datoteka.
Baš je fleksibilan, nije samo da blokira reklame: može čitati i napraviti filtere iz hosts datoteka.
Odmah po instalaciji/instaliranju, ovi slijedeći popisi/spisci filtera su pokrenuti i proveni:
Odmah po instaliranju, slijedeći spisci filtera su pokrenuti i sprovedeni:
- EasyList
- Peter Lowes Ad server list
- Peter Lowe-ov popis reklamnih servera
- EasyPrivacy
- Malware domains
- Malverske domene
Ostale liste/spisci su dostupni za odabir/izbor ako ih želite:
Sljedeće liste su dostupne po odabiru ako ih želite:
- Fanboys Enhanced Tracking List
- Dan Pollocks hosts file
- hpHostss Ad and tracking servers
- Fanboy-eva Poboljšana Lista za Praćenje
- Dan Pollock-ova hosts datoteka
- hpHosts-ovi serveri za reklame i praćenje
- MVPS HOSTS
- Spam404
- I mnogi drugi
Naravno, što je više omogućeno filtera, veća je i upotreba memorije. Ipak, čak i nakon dodavanja Fanboy-ova dva dodatna popisa/spiska, hpHosts servera za reklame i praćenje, uBlock još uvijek ima manji memorijski otisak/zahtjev od drugih/ostalih poznatih blokera.
Naravno, sa više omogućenih filtera, veća je i upotreba memorije. Ipak, čak i nakon što Fanboy-ova dva dodatna spiska, i hpHosts serveri za reklame i praćenje, su dodata, uBlock još uvijek ima manju upotrebu memorije od drugih poznatih blokera.
Također, čuvajte na umu da odabirom/izbor nekih od ovih dodatnih popisa može povećati prilike da se web-stranica pokvari -- posebno/naručito onih popisa/spiskova koji se obično koriste kao izvorne datoteke.
Također, držite na umu da ako odaberete nekih od ovih pomoćnih spisaka možete i povećati prilike kvara web-stranice -- pogotovo onih spisaka koji se obično koriste kao hosts datoteke.
***
Bez napredne liste/spiska filtera, ovo proširenje neće raditi. Tako da ako ikad želite doprinijeti nešto, razmislite o ljudima koji naporno rade održavajući popise/spiskove filtera koje vi koristite, i koji su dostupni svima za besplatnu korist.
Bez prednaštimanih listih filtera, ovo proširenje neće raditi. Tako da ako ikad želite doprinijeti nešto, razmislite o ljudima koji naporno rade održavajući spiske filtera koje vi koristite i koji su dostupni za besplatno korištenje svima.
***
@@ -38,10 +38,10 @@ Besplatno.
Otvorenog koda sa javnom licencom (GPLv3)
Za korisnike od korisnika.
Suradnici @ Github: https://github.com/gorhill/uBlock/graphs/contributors
Suradnici @ Crowdin: https://crowdin.net/project/ublock
Saradnici @ Github: https://github.com/gorhill/uBlock/graphs/contributors
Saradnici @ Crowdin: https://crowdin.net/project/ublock
***
Popis/izvješće promjena:
Spiska promjena:
https://github.com/gorhill/uBlock/releases

View File

@@ -1,51 +1,33 @@
An efficient blocker: Fast, potent and lean, and yet can load and enforce thousands more filters than other popular blockers out there.
uBlock Origin (uBO) is a CPU and memory-efficient wide-spectrum content blocker that blocks ads, trackers, coin miners, popups, annoying anti-blockers, etc., using the following list of filters, enabled by default:
Illustrated overview of its efficiency: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Usage: The big power button in the popup is to permanently disable/enable uBlock for the current web site. It applies to the current web site only, it is not a global power button.
***
Flexible, it's more than an "ad blocker": it can also read and create filters from hosts files.
Out of the box, these lists of filters are loaded and enforced:
- EasyList
- Peter Lowes Ad server list
- EasyPrivacy
- Malware domains
- EasyList (ads)
- EasyPrivacy (tracking)
- Peter Lowe's Blocklist
- Online Malicious URL Blocklist
- uBO filter lists
More lists are available for you to select if you wish:
- Fanboys Enhanced Tracking List
- EasyList Cookie List
- Fanboy's Annoyance List
- AdGuard Annoyances
- Dan Pollocks hosts file
- hpHostss Ad and tracking servers
- MVPS HOSTS
- Spam404
- And many others
Of course, the more filters enabled, the higher the memory footprint. Yet, even after adding Fanboy's two extra lists, hpHostss Ad and tracking servers, uBlock Origin still has a lower memory footprint than other very popular blockers out there.
Also, be aware that selecting some of these extra lists may lead to higher likelihood of web site breakage -- especially those lists which are normally used as hosts file.
Additionally, you can point-and-click to block JavaScript locally or globally, create your own global or local rules to override entries from filter lists, and many more advanced features.
***
Free.
Open source with public license (GPLv3)
For users by users.
Free. Open source with public license (GPLv3). For users by users. No donations sought.
If ever you really do want to contribute something, think about the people working hard to maintain the filter lists you are using, which were made available to use by all for free.
If you ever want to contribute something, think about the people working hard to maintain the filter lists you are using, which were made available to use by all for free.
You can help contribute by translating uBO on Crowdin.
***
Documentation:
https://github.com/gorhill/uBlock#ublock-origin
Project change log:
https://github.com/gorhill/uBlock/releases
Contributors @ GitHub:
https://github.com/gorhill/uBlock/graphs/contributors
Contributors @ Crowdin:
https://crowdin.net/project/ublock
[Documentation](https://github.com/gorhill/uBlock#ublock-origin-ubo)
[Release Notes](https://github.com/gorhill/uBlock/releases)
[Support Forum on Reddit](https://www.reddit.com/r/uBlockOrigin/)
[Contributors on GitHub](https://github.com/gorhill/uBlock/graphs/contributors)
[Contribute on Crowdin](https://crowdin.com/project/ublock)

49
dist/description/description-gu.txt vendored Normal file
View File

@@ -0,0 +1,49 @@
An efficient blocker: easy on memory and CPU footprint, and yet can load and enforce thousands more filters than other popular blockers out there.
Illustrated overview of its efficiency: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Usage: The big power button in the popup is to permanently disable/enable uBlock for the current web site. It applies to the current web site only, it is not a global power button.
***
Flexible, it's more than an "ad blocker": it can also read and create filters from hosts files.
Out of the box, these lists of filters are loaded and enforced:
- EasyList
- Peter Lowes Ad server list
- EasyPrivacy
- Malware domains
More lists are available for you to select if you wish:
- Fanboys Enhanced Tracking List
- Dan Pollocks hosts file
- hpHostss Ad and tracking servers
- MVPS HOSTS
- Spam404
- And many others
Of course, the more filters enabled, the higher the memory footprint. Yet, even after adding Fanboy's two extra lists, hpHostss Ad and tracking servers, uBlock still has a lower memory footprint than other very popular blockers out there.
Also, be aware that selecting some of these extra lists may lead to higher likelihood of web site breakage -- especially those lists which are normally used as hosts file.
***
Without the preset lists of filters, this extension is nothing. So if ever you really do want to contribute something, think about the people working hard to maintain the filter lists you are using, which were made available to use by all for free.
***
Free.
Open source with public license (GPLv3)
For users by users.
Contributors @ Github: https://github.com/gorhill/uBlock/graphs/contributors
Contributors @ Crowdin: https://crowdin.net/project/ublock
***
It's quite an early version, keep this in mind when you review.
Project change log:
https://github.com/gorhill/uBlock/releases

View File

@@ -1,8 +1,8 @@
効率的なブロッカーメモリーとCPUに優しいため、人気のある他のブロッカーと比べて何千も多くのフィルターを使用することができます。
効率的なブロッカー: メモリーとCPUに優しいため、人気のある他のブロッカーと比べて何千も多くのフィルターを使用することができます。
他ソフトとの比較 https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
他ソフトとの比較: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
使用法: ポップアップに表示される大きな電源ボタン、現在のサイトuBlockの有効/無効を切り替えます。 変更は現在のサイトへのみ適用されます。他のサイトとの共通ボタンではありません。
使用法: ポップアップに表示される大きな電源ボタン、現在のサイトuBlockの有効/無効を切り替えます。 変更は現在のサイトへのみ適用されます。他のサイトとの共通ボタンではありません。
***

49
dist/description/description-mk.txt vendored Normal file
View File

@@ -0,0 +1,49 @@
Ефикасен блокер: лесен на меморија и процесор, но сепак може да вчита и да наметне илјадници филтри повеќе од другите популарни блокери.
Илустриран преглед на ефикасноста: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Користење: Големото копче за "струја" во попапот се користи за трајно да се исклучи/уклучи уБлок за моменталниот веб сајт. Се однесува само на моменталниот веб-страница, не е копче за глобално вклучување/исклучување.
***
Флексибилно, може да биде повеќе од само "блокирач на реклами": може исто да чита и прави филтери од хост фајлови.
Без подесување, овие списоци на филтри се вчитуваат и се присилуваат:
- EasyList (ИзиЛиста)
- Peter Lowes Ad server list (Peter Lowes листа на рекламни сервери)
- EasyPrivacy (ЛеснаПриватност)
- Домени на малвер
Повеќе листи се достапни за вас да ги одберете ако сакате:
- Fanboys Enhanced Tracking List
- Dan Pollocks hosts file
- hpHostss Ad and tracking servers
- MVPS HOSTS
- Spam404
- и много други
Се разбира, што повеќе филтри се enabled, поголема ќе биде зафатената меморија. Yet, even after adding Fanboy's two extra lists, hpHostss Ad and tracking servers, uBlock still has a lower memory footprint than other very popular blockers out there.
Also, be aware that selecting some of these extra lists may lead to higher likelihood of web site breakage -- especially those lists which are normally used as hosts file.
***
Without the preset lists of filters, this extension is nothing. So if ever you really do want to contribute something, think about the people working hard to maintain the filter lists you are using, which were made available to use by all for free.
***
Бесплатно.
Отворен изворен код со јавна лиценза (ГПЛв3)
За корисници од корисници.
Соработници @ Гитхаб: https://github.com/gorhill/uBlock/graphs/contributors
Преведување @ Crowdin: https://crowdin.net/project/ublock
***
It's quite an early version, keep this in mind when you review.
Project change log:
https://github.com/gorhill/uBlock/releases

49
dist/description/description-si.txt vendored Normal file
View File

@@ -0,0 +1,49 @@
An efficient blocker: easy on memory and CPU footprint, and yet can load and enforce thousands more filters than other popular blockers out there.
Illustrated overview of its efficiency: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Usage: The big power button in the popup is to permanently disable/enable uBlock for the current web site. It applies to the current web site only, it is not a global power button.
***
Flexible, it's more than an "ad blocker": it can also read and create filters from hosts files.
Out of the box, these lists of filters are loaded and enforced:
- EasyList
- Peter Lowes Ad server list
- EasyPrivacy
- Malware domains
More lists are available for you to select if you wish:
- Fanboys Enhanced Tracking List
- Dan Pollocks hosts file
- hpHostss Ad and tracking servers
- MVPS HOSTS
- Spam404
- And many others
Of course, the more filters enabled, the higher the memory footprint. Yet, even after adding Fanboy's two extra lists, hpHostss Ad and tracking servers, uBlock still has a lower memory footprint than other very popular blockers out there.
Also, be aware that selecting some of these extra lists may lead to higher likelihood of web site breakage -- especially those lists which are normally used as hosts file.
***
Without the preset lists of filters, this extension is nothing. So if ever you really do want to contribute something, think about the people working hard to maintain the filter lists you are using, which were made available to use by all for free.
***
Free.
Open source with public license (GPLv3)
For users by users.
Contributors @ Github: https://github.com/gorhill/uBlock/graphs/contributors
Contributors @ Crowdin: https://crowdin.net/project/ublock
***
It's quite an early version, keep this in mind when you review.
Project change log:
https://github.com/gorhill/uBlock/releases

49
dist/description/description-so.txt vendored Normal file
View File

@@ -0,0 +1,49 @@
An efficient blocker: easy on memory and CPU footprint, and yet can load and enforce thousands more filters than other popular blockers out there.
Illustrated overview of its efficiency: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Usage: The big power button in the popup is to permanently disable/enable uBlock for the current web site. It applies to the current web site only, it is not a global power button.
***
Flexible, it's more than an "ad blocker": it can also read and create filters from hosts files.
Out of the box, these lists of filters are loaded and enforced:
- EasyList
- Peter Lowes Ad server list
- EasyPrivacy
- Malware domains
More lists are available for you to select if you wish:
- Fanboys Enhanced Tracking List
- Dan Pollocks hosts file
- hpHostss Ad and tracking servers
- MVPS HOSTS
- Spam404
- And many others
Of course, the more filters enabled, the higher the memory footprint. Yet, even after adding Fanboy's two extra lists, hpHostss Ad and tracking servers, uBlock still has a lower memory footprint than other very popular blockers out there.
Also, be aware that selecting some of these extra lists may lead to higher likelihood of web site breakage -- especially those lists which are normally used as hosts file.
***
Without the preset lists of filters, this extension is nothing. So if ever you really do want to contribute something, think about the people working hard to maintain the filter lists you are using, which were made available to use by all for free.
***
Free.
Open source with public license (GPLv3)
For users by users.
Contributors @ Github: https://github.com/gorhill/uBlock/graphs/contributors
Contributors @ Crowdin: https://crowdin.net/project/ublock
***
It's quite an early version, keep this in mind when you review.
Project change log:
https://github.com/gorhill/uBlock/releases

49
dist/description/description-sw.txt vendored Normal file
View File

@@ -0,0 +1,49 @@
Kizuizi kinachofaa: nyepesi kwenye kumbukumbu na nyayo za CPU, na bado inawezapakia na kuamrisha maelfu ya vichujio kuliko vizuizi vingine.
Kielelezo cha ufanisi wake: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Utumiaji: Kitufe kikubwa cha nishati kinalemaza/kuwezesha kabisa uBlock kwenye tovuti ya sasa. Inatekelezeka kwenye tovutio ya sasa pekee, si kitufe cha kila mahali.
***
Inawezabadilishwa, na ni zaidi ya "kizuizi cha matangazo": inawezasoma na kuunda vichujio kutoka faili za wenyeji.
Punde inapoanza kutumiwa, vichujio hivi vinapakiwa na kuamrishwa:
- EasyList
-Orodha ya Peter Lowe ya seva za matangazo
- EasyPrivacy
- Vikoa vya programu-hasidi
Orodha zaidi zinawezateuliwa iwapo unataka:
- Orodha fuatiliaji yake Fanboy iliyoboreshwa
- Faili yake Dan Pollock ya wenyeji
- seva za hpHosts za matangazo na ufuatiliaji
- Wenyeji wa MVPS
- Spam404
- Na mengineo
Inajulikana kuwa unavyowezesha vichujio zaidi, ndipo kumbukumbu inavyotumika zaidi. Hata hivyo, hata baada ya kuongeza orodha mbili anuwai za Fanboy, seva za hpHosts za matangazo, na za ufuatiliaji, uBlock bado inatumia kumbukumbu kidogo kuliko vizuizi vingine vinavyopatikana kule nje.
Pia, unahamasishwa kuwa kuteua baadhi ya orodha hizi huenda kukaongeza hatari ya tovuti kuvunjika -- sana sana zile orodha ambazo hutumika kama faili za wenyeji.
***
Bila orodha setiawali za vichujio, kiendelezi hiki sii kitu. Kwa hivyo, iwapo ungependa kuchangia kitu cha maana, fikiria wale wanaotia bidii kudumisha orodha za vichujio unayotumia, na zilizofanywa huria kwa kila mmoja.
***
Huru
Programu huria yenye leseni ya umma (GPLv3)
Na watumiaji kwa watumiaji
Wachangiaji @ Github: https://github.com/gorhill/uBlock/graphs/contributors
Wachangiaji @ Crowdin: https://crowdin.net/project/ublock
***
It's quite an early version, keep this in mind when you review.
Batli ya mabadiliko ya mradi:
https://github.com/gorhill/uBlock/releases

49
dist/description/description-th.txt vendored Normal file
View File

@@ -0,0 +1,49 @@
An efficient blocker: easy on memory and CPU footprint, and yet can load and enforce thousands more filters than other popular blockers out there.
Illustrated overview of its efficiency: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Usage: The big power button in the popup is to permanently disable/enable uBlock for the current web site. It applies to the current web site only, it is not a global power button.
***
Flexible, it's more than an "ad blocker": it can also read and create filters from hosts files.
Out of the box, these lists of filters are loaded and enforced:
- EasyList
- Seznam oglaševalskih strežnikov Peter Lowe
- EasyPrivacy
- Malware domains
More lists are available for you to select if you wish:
- Fanboys Enhanced Tracking List
- Dan Pollocks hosts file
- hpHostss Ad and tracking servers
- MVPS HOSTS
- Spam404
- And many others
Of course, the more filters enabled, the higher the memory footprint. Yet, even after adding Fanboy's two extra lists, hpHostss Ad and tracking servers, uBlock still has a lower memory footprint than other very popular blockers out there.
Also, be aware that selecting some of these extra lists may lead to higher likelihood of web site breakage -- especially those lists which are normally used as hosts file.
***
Without the preset lists of filters, this extension is nothing. So if ever you really do want to contribute something, think about the people working hard to maintain the filter lists you are using, which were made available to use by all for free.
***
Free.
Open source with public license (GPLv3)
For users by users.
Contributors @ Github: https://github.com/gorhill/uBlock/graphs/contributors
Contributors @ Crowdin: https://crowdin.net/project/ublock
***
It's quite an early version, keep this in mind when you review.
Project change log:
https://github.com/gorhill/uBlock/releases

View File

@@ -1,321 +0,0 @@
#!/usr/bin/env python3
import datetime
import json
import jwt
import os
import re
import requests
import shutil
import subprocess
import sys
import tempfile
import time
import zipfile
from distutils.version import LooseVersion
from string import Template
# - Download target (raw) uBlock0.firefox.xpi from GitHub
# - This is referred to as "raw" package
# - This will fail if not a dev build
# - Modify raw package to make it self-hosted
# - This is referred to as "unsigned" package
# - Ask AMO to sign uBlock0.firefox.xpi
# - Generate JWT to be used for communication with server
# - Upload unsigned package to AMO
# - Wait for a valid download URL for signed package
# - Download signed package as uBlock0.firefox.signed.xpi
# - This is referred to as "signed" package
# - Upload uBlock0.firefox.signed.xpi to GitHub
# - Remove uBlock0.firefox.xpi from GitHub
# - Modify updates.json to point to new version
# - Commit changes to repo
# Find path to project root
projdir = os.path.split(os.path.abspath(__file__))[0]
while not os.path.isdir(os.path.join(projdir, '.git')):
projdir = os.path.normpath(os.path.join(projdir, '..'))
# Check that found project root is valid
version_filepath = os.path.join(projdir, 'dist', 'version')
if not os.path.isfile(version_filepath):
print('Version file not found.')
exit(1)
# We need a version string to work with
if len(sys.argv) >= 2 and sys.argv[1]:
tag_version = sys.argv[1]
else:
tag_version = input('Github release version: ')
tag_version.strip()
match = re.search('^(\d+\.\d+\.\d+)(?:(b|rc)(\d+))?$', tag_version)
if not match:
print('Error: Invalid version string.')
exit(1)
ext_version = match.group(1);
if match.group(2):
revision = int(match.group(3))
if match.group(2) == 'rc':
revision += 100;
ext_version += '.' + str(revision)
extension_id = 'uBlock0@raymondhill.net'
tmpdir = tempfile.TemporaryDirectory()
raw_xpi_filename = 'uBlock0_' + tag_version + '.firefox.xpi'
raw_xpi_filepath = os.path.join(tmpdir.name, raw_xpi_filename)
unsigned_xpi_filepath = os.path.join(tmpdir.name, 'uBlock0.firefox.unsigned.xpi')
signed_xpi_filename = 'uBlock0_' + tag_version + '.firefox.signed.xpi'
signed_xpi_filepath = os.path.join(tmpdir.name, signed_xpi_filename)
github_owner = 'gorhill'
github_repo = 'uBlock'
# Load/save auth secrets
# The build directory is excluded from git
ubo_secrets = dict()
ubo_secrets_filename = os.path.join(projdir, 'dist', 'build', 'ubo_secrets')
if os.path.isfile(ubo_secrets_filename):
with open(ubo_secrets_filename) as f:
ubo_secrets = json.load(f)
def input_secret(prompt, token):
if token in ubo_secrets:
prompt += ''
prompt += ': '
value = input(prompt).strip()
if len(value) == 0:
if token not in ubo_secrets:
print('Token error:', token)
exit(1)
value = ubo_secrets[token]
elif token not in ubo_secrets or value != ubo_secrets[token]:
ubo_secrets[token] = value
exists = os.path.isfile(ubo_secrets_filename)
with open(ubo_secrets_filename, 'w') as f:
json.dump(ubo_secrets, f, indent=2)
if not exists:
os.chmod(ubo_secrets_filename, 0o600)
return value
# GitHub API token
github_token = input_secret('Github token', 'github_token')
github_auth = 'token ' + github_token
#
# Get metadata from GitHub about the release
#
# https://developer.github.com/v3/repos/releases/#get-a-single-release
print('Downloading release info from GitHub...')
release_info_url = 'https://api.github.com/repos/{0}/{1}/releases/tags/{2}'.format(github_owner, github_repo, tag_version)
headers = { 'Authorization': github_auth, }
response = requests.get(release_info_url, headers=headers)
if response.status_code != 200:
print('Error: Release not found: {0}'.format(response.status_code))
exit(1)
release_info = response.json()
#
# Extract URL to raw package from metadata
#
# Find url for uBlock0.firefox.xpi
raw_xpi_url = ''
for asset in release_info['assets']:
if asset['name'] == signed_xpi_filename:
print('Error: Found existing signed self-hosted package.')
exit(1)
if asset['name'] == raw_xpi_filename:
raw_xpi_url = asset['url']
if len(raw_xpi_url) == 0:
print('Error: Release asset URL not found')
exit(1)
#
# Download raw package from GitHub
#
# https://developer.github.com/v3/repos/releases/#get-a-single-release-asset
print('Downloading raw xpi package from GitHub...')
headers = {
'Authorization': github_auth,
'Accept': 'application/octet-stream',
}
response = requests.get(raw_xpi_url, headers=headers)
# Redirections are transparently handled:
# http://docs.python-requests.org/en/master/user/quickstart/#redirection-and-history
if response.status_code != 200:
print('Error: Downloading raw package failed -- server error {0}'.format(response.status_code))
exit(1)
with open(raw_xpi_filepath, 'wb') as f:
f.write(response.content)
print('Downloaded raw package saved as {0}'.format(raw_xpi_filepath))
#
# Convert the package to a self-hosted one: add `update_url` to the manifest
#
print('Converting raw xpi package into self-hosted xpi package...')
with zipfile.ZipFile(raw_xpi_filepath, 'r') as zipin:
with zipfile.ZipFile(unsigned_xpi_filepath, 'w') as zipout:
for item in zipin.infolist():
data = zipin.read(item.filename)
if item.filename == 'manifest.json':
manifest = json.loads(bytes.decode(data))
manifest['browser_specific_settings']['gecko']['update_url'] = 'https://raw.githubusercontent.com/{0}/{1}/master/dist/firefox/updates.json'.format(github_owner, github_repo)
data = json.dumps(manifest, indent=2, separators=(',', ': '), sort_keys=True).encode()
zipout.writestr(item, data)
#
# Ask AMO to sign the self-hosted package
# - https://developer.mozilla.org/en-US/Add-ons/Distribution#Distributing_your_add-on
# - https://pyjwt.readthedocs.io/en/latest/usage.html
# - https://addons-server.readthedocs.io/en/latest/topics/api/auth.html
# - https://addons-server.readthedocs.io/en/latest/topics/api/signing.html
#
amo_api_key = ''
amo_secret = ''
def get_jwt_auth():
global amo_api_key
if amo_api_key == '':
amo_api_key = input_secret('AMO API key', 'amo_api_key')
global amo_secret
if amo_secret == '':
amo_secret = input_secret('AMO API secret', 'amo_secret')
amo_nonce = os.urandom(8).hex()
jwt_payload = {
'iss': amo_api_key,
'jti': amo_nonce,
'iat': datetime.datetime.utcnow(),
'exp': datetime.datetime.utcnow() + datetime.timedelta(seconds=15),
}
return 'JWT ' + jwt.encode(jwt_payload, amo_secret).decode()
print('Ask AMO to sign self-hosted xpi package...')
with open(unsigned_xpi_filepath, 'rb') as f:
# https://blog.mozilla.org/addons/2019/11/11/security-improvements-in-amo-upload-tools/
# "We recommend allowing up to 15 minutes."
interval = 60 # check every 60 seconds
countdown = 60 * 60 / interval # for at most 60 minutes
headers = { 'Authorization': get_jwt_auth(), }
data = { 'channel': 'unlisted' }
files = { 'upload': f, }
signing_url = 'https://addons.mozilla.org/api/v3/addons/{0}/versions/{1}/'.format(extension_id, ext_version)
print('Submitting package to be signed...')
response = requests.put(signing_url, headers=headers, data=data, files=files)
if response.status_code != 202:
print('Error: Creating new version failed -- server error {0}'.format(response.status_code))
print(response.text)
exit(1)
print('Request for signing self-hosted xpi package succeeded.')
signing_request_response = response.json();
f.close()
print('Waiting for AMO to process the request to sign the self-hosted xpi package...')
# Wait for signed package to be ready
signing_check_url = signing_request_response['url']
while True:
time.sleep(interval)
sys.stdout.write('.')
sys.stdout.flush()
countdown -= 1
if countdown <= 0:
print('Error: AMO signing timed out')
exit(1)
headers = { 'Authorization': get_jwt_auth(), }
response = requests.get(signing_check_url, headers=headers)
if response.status_code != 200:
print('Error: AMO signing failed -- server error {0}'.format(response.status_code))
print(response.text)
exit(1)
signing_check_response = response.json()
if not signing_check_response['processed']:
continue
if not signing_check_response['valid']:
print('Error: AMO validation failed')
print(response.text)
exit(1)
if not signing_check_response['files'] or len(signing_check_response['files']) == 0:
continue
if not signing_check_response['files'][0]['signed']:
continue
if not signing_check_response['files'][0]['download_url']:
print('Error: AMO signing failed')
print(response.text)
exit(1)
print('\r')
print('Self-hosted xpi package successfully signed.')
download_url = signing_check_response['files'][0]['download_url']
print('Downloading signed self-hosted xpi package from {0}...'.format(download_url))
response = requests.get(download_url, headers=headers)
if response.status_code != 200:
print('Error: Download signed package failed -- server error {0}'.format(response.status_code))
print(response.text)
exit(1)
with open(signed_xpi_filepath, 'wb') as f:
f.write(response.content)
f.close()
print('Signed self-hosted xpi package downloaded.')
break
#
# Upload signed package to GitHub
#
# https://developer.github.com/v3/repos/releases/#upload-a-release-asset
print('Uploading signed self-hosted xpi package to GitHub...')
with open(signed_xpi_filepath, 'rb') as f:
url = release_info['upload_url'].replace('{?name,label}', '?name=' + signed_xpi_filename)
headers = {
'Authorization': github_auth,
'Content-Type': 'application/zip',
}
response = requests.post(url, headers=headers, data=f.read())
if response.status_code != 201:
print('Error: Upload signed package failed -- server error: {0}'.format(response.status_code))
exit(1)
#
# Remove raw package from GitHub
#
# https://developer.github.com/v3/repos/releases/#delete-a-release-asset
print('Remove raw xpi package from GitHub...')
headers = { 'Authorization': github_auth, }
response = requests.delete(raw_xpi_url, headers=headers)
if response.status_code != 204:
print('Error: Deletion of raw package failed -- server error: {0}'.format(response.status_code))
#
# Update updates.json to point to new package -- but only if just-signed
# package is higher version than current one.
#
print('Update GitHub to point to newly signed self-hosted xpi package...')
updates_json_filepath = os.path.join(projdir, 'dist', 'firefox', 'updates.json')
with open(updates_json_filepath) as f:
updates_json = json.load(f)
f.close()
previous_version = updates_json['addons'][extension_id]['updates'][0]['version']
if LooseVersion(ext_version) > LooseVersion(previous_version):
with open(os.path.join(projdir, 'dist', 'firefox', 'updates.template.json')) as f:
template_json = Template(f.read())
f.close()
updates_json = template_json.substitute(ext_version=ext_version, tag_version=tag_version)
with open(updates_json_filepath, 'w') as f:
f.write(updates_json)
f.close()
# Automatically git add/commit if needed.
# - Stage the changed file
r = subprocess.run(['git', 'status', '-s', updates_json_filepath], stdout=subprocess.PIPE)
rout = bytes.decode(r.stdout).strip()
if len(rout) >= 2 and rout[1] == 'M':
subprocess.run(['git', 'add', updates_json_filepath])
# - Commit the staged file
r = subprocess.run(['git', 'status', '-s', updates_json_filepath], stdout=subprocess.PIPE)
rout = bytes.decode(r.stdout).strip()
if len(rout) >= 2 and rout[0] == 'M':
subprocess.run(['git', 'commit', '-m', 'Make Firefox dev build auto-update', updates_json_filepath])
subprocess.run(['git', 'push', 'origin', 'HEAD'])
print('All done.')

View File

@@ -1,13 +1,17 @@
{
"addons": {
"uBlock0@raymondhill.net": {
"updates": [
{
"version": "1.36.3.101",
"browser_specific_settings": { "gecko": { "strict_min_version": "57" } },
"update_link": "https://github.com/gorhill/uBlock/releases/download/1.36.3rc1/uBlock0_1.36.3rc1.firefox.signed.xpi"
"addons": {
"uBlock0@raymondhill.net": {
"updates": [
{
"version": "1.66.5.1",
"browser_specific_settings": {
"gecko": {
"strict_min_version": "92.0"
}
},
"update_link": "https://github.com/gorhill/uBlock/releases/download/1.66.5b1/uBlock0_1.66.5b1.firefox.signed.xpi"
}
]
}
]
}
}
}
}

View File

@@ -1,13 +0,0 @@
{
"addons": {
"uBlock0@raymondhill.net": {
"updates": [
{
"version": "$ext_version",
"browser_specific_settings": { "gecko": { "strict_min_version": "57" } },
"update_link": "https://github.com/gorhill/uBlock/releases/download/$tag_version/uBlock0_$tag_version.firefox.signed.xpi"
}
]
}
}
}

2
dist/version vendored
View File

@@ -1 +1 @@
1.37.0
1.66.5.2

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

View File

@@ -1,31 +0,0 @@
Steps, roughly:
Capture Task Manager using SimpleScreenRecorder
Launch reference benchmark
Stop and save capture once reference benchmark completes
Extract/crop/scale area to OCR (the CPU figures)
avconv -i ublock-cpu.webm -r 4 -vsync 1 -vf "[in] crop=40:86:310:100 [T1], [T1] scale=160:360 [out]" -t 2400 img/img-%04d.png
Execute tesseract custom script:
./tessall
`all.txt` contains a csv of the results.
Paste in spreadsheet. Etc.
`tessal` script:
#!/bin/sh
rm all.txt
echo
for i in img/img*.png; do
echo -ne '\r' $i
b=`basename $i .png`
tesseract $i out -psm 6 digits 1>/dev/null 2>&1
cat out.txt | perl -p -000 -e 's/(\d+)\s+/\1,/g' | perl -pe 's/,$/\n/' >> all.txt
done

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 475 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 327 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Some files were not shown because too many files have changed in this diff Show More