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

Compare commits

...

7543 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
Raymond Hill
d5ced9bced New revision for stable release 2021-07-23 07:38:44 -04:00
Raymond Hill
7645189386 Import translation work from https://crowdin.com/project/ublock 2021-07-22 09:44:41 -04:00
Raymond Hill
cd237ed3e1 Fix rendering of punycoded hostname in popup panel
Regression from:
- 75deadd31e
2021-07-20 11:22:33 -04:00
Raymond Hill
0c66680a2c Make Firefox dev build auto-update 2021-07-20 08:51:17 -04:00
Raymond Hill
d4b1b8467b Import translation work from https://crowdin.com/project/ublock 2021-07-20 08:45:27 -04:00
Raymond Hill
d46f93a5a0 New revision for release candidate 2021-07-20 08:42:26 -04:00
Raymond Hill
75deadd31e Provide visual cue in popup panel when base domain has subdomains
Related issue:
- https://github.com/gorhill/uBlock/issues/284
2021-07-20 08:37:05 -04:00
Raymond Hill
dcc72ba51c Make Firefox dev build auto-update 2021-07-19 11:46:40 -04:00
Raymond Hill
525aceb34d New revision for release candidate 2021-07-19 11:39:16 -04:00
Raymond Hill
aff6a2fa05 Import translation work from https://crowdin.com/project/ublock 2021-07-19 11:38:31 -04:00
Raymond Hill
f51106014b Import translation work from https://crowdin.com/project/ublock 2021-07-19 11:36:38 -04:00
Raymond Hill
448a9a52f6 Better using present tense...? 2021-07-19 11:32:43 -04:00
Raymond Hill
c9710ac9d1 Better deal with no-longer-existing ports
Disconnected ports could still happen Even when the port
was still seen as valid internally. Using a try-catch
block makes invalid port detection more reliable. This
is an occurrence I often encountered when stepping into
content script code, causing suprious error messages to
be thrown into uBO's background dev console.
2021-07-19 11:25:52 -04:00
Raymond Hill
efca367694 Make Firefox dev build auto-update 2021-07-18 10:21:22 -04:00
Raymond Hill
9e87c0170d New revision for dev build 2021-07-18 10:15:07 -04:00
Raymond Hill
3c5c085ded Import translation work from https://crowdin.com/project/ublock 2021-07-18 10:14:40 -04:00
Raymond Hill
1d27138da9 Disclose where uBO's own filter lists are hosted 2021-07-18 10:10:17 -04:00
Raymond Hill
4fe8126c66 Add ability to match against script content of data: URI
Related commit:
- ebc42ae21e
2021-07-18 08:50:57 -04:00
Raymond Hill
9c8691709d Make Firefox dev build auto-update 2021-07-17 14:30:44 -04:00
Raymond Hill
5c0d8fb848 New revision for dev build 2021-07-17 14:28:03 -04:00
Raymond Hill
f07b1475a3 Fix hasty last commit 2021-07-17 14:27:37 -04:00
Raymond Hill
36f82b8a5a Make Firefox dev build auto-update 2021-07-17 14:16:01 -04:00
Raymond Hill
fa4aee70ce new revision for dev build 2021-07-17 14:09:56 -04:00
Raymond Hill
ebc42ae21e Add abort-current-script scriptlet
This scriplet supersedes abort-current-inline-script (acis),
and accepts an optional third argument which is matched
against the `src` property of script resources.

When the third argument is not provided, the scriptlet
behaves essentially the same as `acis`, and because of
this `acis` is now aliased to `abort-current-script`, and
all existing `acis` filters will execute with no change
in behavior.

In the long run, usage of `abort-current-inline-script` or
its alias `acis` should go away and be replaced with
`abort-current-script` or its alias `acs`.
2021-07-17 14:03:50 -04:00
Raymond Hill
11e6ff5782 Make Firefox dev build auto-update 2021-07-17 12:25:59 -04:00
Raymond Hill
79f123d0c8 New revision for dev build 2021-07-17 12:21:58 -04:00
Raymond Hill
5120aac6ad Import translation work from https://crowdin.com/project/ublock 2021-07-17 12:21:09 -04:00
Raymond Hill
e85c6f2d3e Merge background changes to user filters in "My filters" pane
Related issue:
- https://github.com/gorhill/uBlock/issues/3704
2021-07-17 12:03:56 -04:00
Raymond Hill
b7d41ec85a Make Firefox dev build auto-update 2021-07-16 14:10:56 -04:00
Raymond Hill
5cdf414558 New revision for dev build 2021-07-16 14:07:38 -04:00
Raymond Hill
e3f8a612f4 Minor code review 2021-07-16 14:06:59 -04:00
Raymond Hill
bad1506f20 Move chromium-specific code path to chromium directory 2021-07-16 10:29:39 -04:00
Raymond Hill
a4aced69dc Reorganize platform directory to avoid Chromium-centric appearance
Though Firefox shares a lot of WebExtensions code with Chromium,
these platforms have their own specific code paths, for various
reasons.

The reorganization here makes it clear that Chromium platform is
just one flavor of WebExtensions, and as such all Chromium-specific
code paths should no longer be automatically pulled by other
platforms where these code paths are not needed.

Given that the filepath of many files changed, here is the
parent commit to quickly browse back to the previous directory
layout:

ec7db30b2f
2021-07-16 10:06:58 -04:00
Raymond Hill
ec7db30b2f Simplify fetching title of tabs
The title of tabs in uBO is solely to have a better
presentation in the logger -- no other purpose.

This commit simplify keeping track of the titles, from
an active approach by directly querying it from tabs
whenever a change occurs, to a passive approach by
storing it when the title string become available in
some tab event handlers.
2021-07-16 08:59:30 -04:00
Raymond Hill
01cdf50f33 Make Firefox dev build auto-update 2021-07-15 13:26:21 -04:00
Raymond Hill
0bb57e7bc5 New revision for dev build 2021-07-15 13:19:43 -04:00
Raymond Hill
d17e22a505 Fix spurious error messages when updating contextual menu
There were spurious error messages in the dev console of
uBO in Firefox, because Firefox does not silently ignore
duplicate contextual menu entries, which could occur
transiently when the contextual menu entries were updated.

The fix simplifies contextual menu code, and actually
fulfill the original goal of avoiding to call extensions
framework API as much as possible.
2021-07-15 13:14:37 -04:00
Raymond Hill
bbdb68a2b6 Synthesize missing expected onCreatedNavigationTarget events
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1659

This commit introduces a workaround for missing
onCreatedNavigationTarget() in Chromium.
2021-07-15 11:34:37 -04:00
Raymond Hill
e03bb99f57 Add neutered replacement script for mixpanel
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/oicch9/

The new replacement script contains the smallest API
possible to resolve the reported case.

Please report instances where it's not sufficient to
unbreak a site, in which case I will extend the neutered
API to address these cases on an on-demand basis.
2021-07-13 07:58:31 -04:00
Raymond Hill
7735ad119d Make Firefox dev build auto-update 2021-07-12 18:40:42 -04:00
Raymond Hill
a1452f198a New revision for dev build 2021-07-12 18:34:51 -04:00
Raymond Hill
9a60573abe Fix broken "Block element..." case when cosmetic filtering is off
Related feedback:
- e983f9a76e (commitcomment-53382148)
2021-07-12 18:32:32 -04:00
Raymond Hill
b7047e04d0 Make Firefox dev build auto-update 2021-07-12 12:15:49 -04:00
Raymond Hill
84f0f670b0 New revision for dev build 2021-07-12 12:10:21 -04:00
Raymond Hill
e983f9a76e Disable creation of cosmetic filters in picker when unenforceable
Related issue:
- https://github.com/gorhill/uBlock/issues/3212

The element picker will now properly work on sites where
cosmetic filtering is disabled, but will not allow the
creation of cosmetic filters when specific cosmetic filters
are not meant to be enforced in the current page.

When specific cosmetic filters are not meant to be enforced,
the element picker will still allow the creation of network
filters, that is unless the current page is trusted, in which
case using the element picker is pointless.
2021-07-12 11:55:58 -04:00
Raymond Hill
f1a453d349 Avoid pointless check of doc id, presence of doc origin is what matter
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1657
2021-07-12 11:26:25 -04:00
Raymond Hill
717d8593c5 Improve the logger accuracy regarding matched part of the URL
Related issue:
- https://github.com/gorhill/uBlock/issues/3037

This takes care of the specific case reported. There are
other edge cases which are likely not addressed though, i.e.
those involving wildcards -- those should be rather rare and
at this point I rather leave them unaddressed to not
risk regressions (as they are less trivial to address).
2021-07-11 10:11:26 -04:00
Raymond Hill
c2859712fb Make Firefox dev build auto-update 2021-07-10 16:50:50 -04:00
Raymond Hill
4b10881965 New revision for dev build 2021-07-10 16:37:07 -04:00
Raymond Hill
27c633e054 Better handle negated behhvior types
Related issue:
- https://github.com/gorhill/uBlock/issues/2385
2021-07-10 16:35:52 -04:00
Raymond Hill
ed5dd0a791 Use location.replace() to modify URL of embedded frame
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1648
2021-07-10 09:56:36 -04:00
Raymond Hill
def2013692 Make Firefox dev build auto-update 2021-07-07 11:00:54 -04:00
Raymond Hill
c4cbc1cc1e New revision for dev build 2021-07-07 10:54:06 -04:00
Raymond Hill
d3b1ca333c Make getByName() return an dummy Tracker object
Related issue:
- https://www.reddit.com/r/uBlockOrigin/comments/o44syz/ublock_origin_136_announcement_thread/h4big1n/
2021-07-07 10:52:16 -04:00
Raymond Hill
f2899c1f8a Make Firefox dev build auto-update 2021-07-06 10:26:46 -04:00
Raymond Hill
3df8f78148 New revision for dev build 2021-07-06 10:15:24 -04:00
Raymond Hill
b75921c2fd Limit recursion when parsing URL in document-blocked page
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1649
2021-07-06 10:13:50 -04:00
Raymond Hill
a7184a7874 Merge branch 'master' of https://github.com/gorhill/uBlock 2021-07-06 10:01:46 -04:00
Raymond Hill
0952dd52c6 Add "Block access to LAN" as stock list
Enabling the list did NOT cause measurable difference in
results of built in benchmark.
2021-07-06 10:01:26 -04:00
Raymond Hill
33bc430aad Add "Block access to LAN" as stock list
Enabling the list did cause measurable difference in
results of built in benchmark.
2021-07-06 09:42:10 -04:00
Raymond Hill
8f45d9a50e Make Firefox dev build auto-update 2021-07-03 09:31:53 -04:00
Raymond Hill
80a81284dc Import translation work from https://crowdin.com/project/ublock 2021-07-03 09:26:21 -04:00
Raymond Hill
c91b4258e9 Put back mistakenly removed newline 2021-07-03 09:23:06 -04:00
Raymond Hill
e36b4b4057 New revision for dev build 2021-07-03 09:21:38 -04:00
Raymond Hill
35d7406214 Add asap behavior to remove-attr scriptlet
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/9528
2021-07-03 09:19:24 -04:00
Raymond Hill
5a7600925b Make Firefox dev build auto-update 2021-06-26 12:30:53 -04:00
Raymond Hill
2c6a81e81c New revision for dev build 2021-06-26 12:14:50 -04:00
Raymond Hill
4422c42788 Discard network filters containing invalid pattern characters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1146
2021-06-26 12:12:25 -04:00
Raymond Hill
b41463d437 Skip handling non-media elements 2021-06-25 07:24:00 -04:00
Raymond Hill
163035dc92 Drop the v from build version 2021-06-25 07:18:11 -04:00
Raymond Hill
2a8c85b132 Add "AdGuard URL Tracking" list as stock lists (under "Privacy") 2021-06-25 07:09:22 -04:00
Raymond Hill
14076fe8c0 Take care of misreporting spurious filter syntax error
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1596
2021-06-24 11:48:27 -04:00
Raymond Hill
3b5aacac12 Make Firefox dev build auto-update 2021-06-24 11:16:27 -04:00
Raymond Hill
0dbe581c5b Ensure pending callbacks are called only once 2021-06-24 11:08:55 -04:00
Raymond Hill
10efc35610 Import translation work from https://crowdin.com/project/ublock 2021-06-24 11:07:38 -04:00
Raymond Hill
2efb961085 New revision for dev build 2021-06-24 11:05:03 -04:00
Raymond Hill
81521256e7 Exclude trusted sites from no-popups-switch
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1616
2021-06-24 11:02:06 -04:00
Raymond Hill
ad15a5dd51 Map csp_report to other
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1622
2021-06-24 08:09:18 -04:00
Raymond Hill
39a51a6e43 Import translation work from https://crowdin.com/project/ublock 2021-06-19 11:22:50 -04:00
Raymond Hill
b129e9c329 New revision for stable release 2021-06-19 11:20:08 -04:00
Raymond Hill
91e9a4c34f Make Firefox dev build auto-update 2021-06-17 10:16:18 -04:00
Raymond Hill
86ff2404f8 Import translation work from https://crowdin.com/project/ublock 2021-06-17 10:03:50 -04:00
Raymond Hill
60e269576f New revision for release candidate 2021-06-17 10:00:53 -04:00
Raymond Hill
090614dd18 Use firstElementChild instead of childElementCount
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1620

Related bugzilla issue:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1715841
2021-06-17 09:58:18 -04:00
Raymond Hill
6291168e9a Make Firefox dev build auto-update 2021-06-14 07:46:01 -04:00
Raymond Hill
2ea5fa57e3 Import translation work from https://crowdin.com/project/ublock 2021-06-14 07:41:03 -04:00
Raymond Hill
c698a5ead2 New revision for release candidate 2021-06-14 07:37:53 -04:00
Raymond Hill
581e9a1c0c Also process existing pending callbacks
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1629
2021-06-14 07:36:49 -04:00
Raymond Hill
2693f4e0c2 Make Firefox dev build auto-update 2021-06-12 13:36:26 -04:00
Raymond Hill
2bb7a9d6ab New revision for release candidate 2021-06-12 13:28:50 -04:00
Raymond Hill
8877ea290e Do not redirect when no query parameters are removed
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1626
2021-06-12 13:26:21 -04:00
Raymond Hill
40c75b63e6 Make Firefox dev build auto-update 2021-06-12 09:41:17 -04:00
Raymond Hill
c212fac473 Import translation work from https://crowdin.com/project/ublock 2021-06-12 09:30:09 -04:00
Raymond Hill
0cfadc9d17 New revision for release candidate 2021-06-12 09:27:13 -04:00
Raymond Hill
32bd47f053 Force restart at first install for Chromium-based browsers
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1547

The approach used to fix the issue was confirmed working
in the following related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1608#issuecomment-856282345
2021-06-12 09:18:56 -04:00
Raymond Hill
3160bc8ccd Make Firefox dev build auto-update 2021-06-06 09:11:24 -04:00
Raymond Hill
ff592977db Import translation work from https://crowdin.com/project/ublock 2021-06-06 09:04:40 -04:00
Raymond Hill
cf06b848f0 new revision for release candidate 2021-06-06 09:02:59 -04:00
Raymond Hill
2de24a1184 Add ability to linger for remove-class scriptlet
Similar to related change for the `remove-attr` scriptlet:
- 0f330c7359

Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/nsroaw/some_elements_isare_not_removed_after_the_cookie/
2021-06-06 08:58:40 -04:00
Hoàng Rio
c16f080cc7 Update ABPVN List url to uBO specific support 2021-06-05 11:01:48 +07:00
Raymond Hill
eddf09b191 Make Firefox dev build auto-update 2021-06-04 08:15:52 -04:00
Raymond Hill
275b33d7b0 Import translation work from https://crowdin.com/project/ublock 2021-06-04 08:06:39 -04:00
Raymond Hill
c277a9a122 New revision for release candidate 2021-06-04 08:04:06 -04:00
Raymond Hill
a611e5fd50 Import translation work from https://crowdin.com/project/ublock 2021-06-02 07:10:09 -04:00
Raymond Hill
eb519b2ec1 Ensure version changes are persisted at launch 2021-06-02 07:07:10 -04:00
Raymond Hill
e8bc18e1fe Import translation work from https://crowdin.com/project/ublock 2021-05-31 07:47:58 -04:00
IThinkIAmCool
2b160b4b1c Update README.md 2021-05-31 13:57:16 +03:00
Raymond Hill
b9405f4e11 Make Firefox dev build auto-update 2021-05-28 08:11:34 -04:00
Raymond Hill
3e041ce3b4 Import translation work from https://crowdin.com/project/ublock 2021-05-28 07:25:10 -04:00
Raymond Hill
9f70f655b9 Import translation work from https://crowdin.com/project/ublock 2021-05-28 07:23:33 -04:00
Raymond Hill
1e35ef8e15 Add link to privacy policy to About pane
I was sure it was there already but it turns out
it was not. Now it is.

Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/nklywj/does_ublock_origin_now_collect_personal_data/gzjwhe4/
2021-05-28 07:19:15 -04:00
Raymond Hill
b8269e1731 New revision for dev build 2021-05-28 07:13:05 -04:00
Raymond Hill
ce801b952b Add empty array, object to set-constant scriptlet 2021-05-28 07:09:30 -04:00
Raymond Hill
7feef73d8e Make Firefox dev build auto-update 2021-05-26 08:22:13 -04:00
Raymond Hill
280e585a82 New revision for dev build 2021-05-26 08:04:16 -04:00
Raymond Hill
bb426f84a9 Import translation work from https://crowdin.com/project/ublock 2021-05-26 08:01:00 -04:00
Raymond Hill
37ad821018 Fix loss of newlines when processing pre-parsing directives
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1603
2021-05-26 07:51:10 -04:00
Raymond Hill
07d3c96261 Fix potential exception when casting to string
Related discussion:
- https://github.com/uBlockOrigin/uAssets/issues/9123#issuecomment-848255120
2021-05-26 07:22:17 -04:00
Raymond Hill
7508700892 Prevent unchecked default lists from being visually collapsed
Related issue:
- https://github.com/gorhill/uBlock/issues/2303
2021-05-19 09:34:46 -04:00
Raymond Hill
10376090ca Import translation work from https://crowdin.com/project/ublock 2021-05-19 08:18:03 -04:00
Raymond Hill
fcb56fe3e3 Make Firefox dev build auto-update 2021-05-18 11:16:30 -04:00
Raymond Hill
57731b4edb New revision for dev build 2021-05-18 11:12:36 -04:00
Raymond Hill
8cd2a1d263 Make googletagmanager_gtm.js an alias of google-analytics_analytics.js
Related feedback:
- https://ilakovac.com/teespring-ublock-issue/

The surrogate script googletagmanager_gtm.js was essentially a
subset of surrogate script google-analytics_analytics.js. This
commit makes it a plain alias so that the whole GA API -- often
expected by clients of GTM -- is properly stubbed.
2021-05-18 11:08:20 -04:00
Raymond Hill
4509df154f Lower update period of assets.json and add support for CDN urls 2021-05-18 09:21:09 -04:00
Raymond Hill
68e3071253 Make Firefox dev build auto-update 2021-05-18 09:10:40 -04:00
Raymond Hill
449df9a8ce New revision for dev build 2021-05-18 09:07:31 -04:00
Raymond Hill
e4b8f2ef2d Ensure getter/setter are called with proper context
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/9110
2021-05-18 09:01:40 -04:00
Raymond Hill
9e394aa02b Restore "EasyList Dutch" as the default list for NLD
Breach of trust:
- f73cefaf13
2021-05-18 08:37:33 -04:00
Raymond Hill
55c6f768d4 Fix https://github.com/uBlockOrigin/uAssets/issues/9122 2021-05-18 07:15:00 -04:00
Raymond Hill
3fa7316062 Minor code review
Related commit:
- a24e2a5d6c
2021-05-16 08:16:13 -04:00
Raymond Hill
2781874363 Make Firefox dev build auto-update 2021-05-15 11:00:36 -04:00
Raymond Hill
f3f08d0b4d Import translation work from https://crowdin.com/project/ublock 2021-05-15 10:56:15 -04:00
Raymond Hill
3f2e5d1096 New revision for dev build 2021-05-15 10:50:10 -04:00
Raymond Hill
a24e2a5d6c Fix management of reload button in popup panel
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1461
2021-05-15 10:45:31 -04:00
Raymond Hill
4d29a4c5d2 Make Firefox dev build auto-update 2021-05-15 08:30:34 -04:00
Raymond Hill
dd0d7e9ce8 New revision for dev build 2021-05-15 08:23:21 -04:00
Raymond Hill
3ecadcfd04 Import translation work from https://crowdin.com/project/ublock 2021-05-15 08:22:47 -04:00
Raymond Hill
001094580c Allow filter list subscription through context menu
Related issue/feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/763#issuecomment-841582704
2021-05-15 08:15:57 -04:00
Raymond Hill
a5f6dc5e47 Make Firefox dev build auto-update 2021-05-14 10:41:03 -04:00
Raymond Hill
1213bd9c15 New revision for dev build 2021-05-14 10:36:53 -04:00
Raymond Hill
cdf6088dfa Use zero-based index for id
Related issue:
- https://github.com/AdguardTeam/AdguardFilters/issues/75762
2021-05-14 10:30:46 -04:00
Raymond Hill
7574d16509 Import translation work from https://crowdin.com/project/ublock 2021-05-14 09:39:11 -04:00
Raymond Hill
7ca831a344 Bring back cdn.statically.io as valid CDN for "uBlock filters"
Related commit:
- aa376314b9
2021-05-13 08:49:57 -04:00
Raymond Hill
f6a5028c34 Make Firefox dev build auto-update 2021-05-09 12:15:38 -04:00
Raymond Hill
6fcc6eeee2 New revision for dev build 2021-05-09 11:56:52 -04:00
Raymond Hill
d0e4c60f59 Keep reporting last time "out of date" lists were updated 2021-05-09 11:53:26 -04:00
Raymond Hill
1f8a67f40e Fix improper hashing of rules in classic popup panel
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/n5vaih/
2021-05-09 11:41:23 -04:00
Raymond Hill
0718d816e1 New revision for release version 2021-04-30 09:44:45 -04:00
Raymond Hill
fe57059f33 Make Firefox dev build auto-update 2021-04-29 16:41:18 -04:00
Raymond Hill
215aaf5bb9 new revision for dev build 2021-04-29 16:37:47 -04:00
Raymond Hill
a1241e0806 Don't use self to access vAPI in content script
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1571

Testing through `self` breaks the injection of
`contentscript-extra.js` in Firefox 66.0 and
earlier.
2021-04-29 13:04:59 -04:00
Raymond Hill
bab6d611eb Import translation work from https://crowdin.com/project/ublock 2021-04-29 11:41:59 -04:00
Raymond Hill
d156c4d4a8 Make Firefox dev build auto-update 2021-04-29 08:46:52 -04:00
Raymond Hill
68d950030d New revision for dev build 2021-04-29 08:40:46 -04:00
Raymond Hill
fca4db8021 Better handle network error when fetching sublist
Reported internally:

> STR --
>
> Import https://cdn.statically.io/gh/uBlockOrigin/uAssets/master/filters/filters.txt
> as a Custom filter list.
>
> Observe the filter count at 24K instead of true count
> being 29K.
>
> Force updating is sometimes compiling 24K filters and
> on subsequent updates 29K, so I narrowed it down to
> this host.

Findings:

One of the sublists was erroring when being fetched on
this particular CDN server (reason unknown).

uBO was not properly handling network errors when
fetching a sublist. This commit make it so that if
a sublist can't be fetched, then the error is propagated
as if it affected the whole list, in which case uBO will
use an alternative URL if any.
2021-04-29 08:32:32 -04:00
Raymond Hill
4d12ae1387 Add new CDN for "uBlock filters"
As per internal discussion.
2021-04-28 14:02:49 -04:00
Raymond Hill
aa376314b9 Drop cdn.statically.io as CDN for "uBlock filters"
Some sublists fail to load with this CDN, and
uBO fails to properly error out on the whole
list in such case, causing a truncated whole
list to be used in the end.
2021-04-28 13:32:12 -04:00
Raymond Hill
d307bbd134 Add missing getResponseInformation() method to neutered JS API
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/8970

Adding the missing method does not solve the janky
scrolling, but does solve the spurious error messages
in the page's dev console.
2021-04-27 10:07:37 -04:00
Raymond Hill
a9f22b0ae0 Make Firefox dev build auto-update 2021-04-27 09:06:55 -04:00
Raymond Hill
2e8d2aa1ce New revision for dev build 2021-04-27 09:02:04 -04:00
Raymond Hill
81fadf836f Stop autoplay for unset media source with no-large-media-elements
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/mxgpmc/
2021-04-27 08:59:59 -04:00
Raymond Hill
2a5e67e3f5 Use CDN URLs as fall back URLs
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1566#issuecomment-826473517

Additionally, add more CDN URLs to default filter lists.
2021-04-27 08:56:07 -04:00
Raymond Hill
0f580ec204 New revision for stable release 2021-04-21 09:34:15 -04:00
Raymond Hill
c736407a04 Import translation work from https://crowdin.com/project/ublock 2021-04-21 09:33:05 -04:00
Raymond Hill
1fc3b57ba5 Replace EasyList Dutch with EasyDutch
As per internal discussion with list maintainers.

Also, related discussion:
- 31a6438704
2021-04-21 09:12:47 -04:00
Raymond Hill
6793f0ed8e Make Firefox dev build auto-update 2021-04-19 09:50:51 -04:00
Raymond Hill
74d3ca4707 New revision for release candidate 2021-04-19 09:12:04 -04:00
Raymond Hill
2a8fcfad9e Import translation work from https://crowdin.com/project/ublock 2021-04-19 08:51:34 -04:00
Raymond Hill
a98b03240b Fix https://github.com/uBlockOrigin/uBlock-issues/issues/1560 2021-04-18 09:54:26 -04:00
Raymond Hill
e2a85730de Make Firefox dev build auto-update 2021-04-16 09:10:43 -04:00
Raymond Hill
b2e304a4ed new revision for release candidate 2021-04-16 09:03:20 -04:00
Raymond Hill
912bdce9cd Normalize removeparam to removeparam, not queryprune 2021-04-16 08:59:57 -04:00
Raymond Hill
299eacbbf8 Make Firefox dev build auto-update 2021-04-14 11:15:44 -04:00
Raymond Hill
0016d5e7ca New revision for release candidate 2021-04-14 11:05:51 -04:00
Raymond Hill
0ff6acd419 Import translation work from https://crowdin.com/project/ublock 2021-04-14 11:02:09 -04:00
Raymond Hill
bc8c1d00ad Remove advanced setting ignoreScriptInjectFilters
This advanced setting is not really needed, as the
same can be accomplished with a broad exception
filter such as `#@#+js()`.

Related feedback:
- f5b453fae3 (commitcomment-49499082)
2021-04-14 10:56:04 -04:00
Raymond Hill
83c4dc3bac Make Firefox dev build auto-update 2021-04-13 10:36:11 -04:00
Raymond Hill
5712ea834f New revision for dev build 2021-04-13 10:27:49 -04:00
Raymond Hill
12347b85b0 Import translation work from https://crowdin.com/project/ublock 2021-04-13 10:27:01 -04:00
Raymond Hill
d0189d78ce Import translation work from https://crowdin.com/project/ublock 2021-04-13 09:38:07 -04:00
Raymond Hill
58505cfddc Finalize 3rd-party scripts/frames mini-filtering widget
For now the mini-filtering widget on 3rd-party scripts/frames
cells will allow to emphasize rows which have 3rd-party
scripts and/or frames.

Somewhat related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/210
2021-04-13 09:08:53 -04:00
Raymond Hill
f5b453fae3 Remove advanced setting ignoreScriptInjectFilters
Ever since the `redirect` code was refactored:

157cef6034

This advanced setting is no longer needed, as the same
can be accomplished with a plain network filter:

    @@*$redirect-rule
2021-04-13 08:49:10 -04:00
Raymond Hill
d7c2e38f00 Make Firefox dev build auto-update 2021-04-11 09:50:36 -04:00
Raymond Hill
51a073efd8 New revision for dev build 2021-04-11 09:41:53 -04:00
Raymond Hill
bfdc81e9e4 Ensure FLoC is opt-in by default
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1553

This commit ensures FLoC is opt-in. The generic filter
`*##+js(no-floc)` in "uBlock filters -- Privacy" ensures
the feature is disabled when using default settings/lists.

Users can opt-in to FLoC by adding a generic exception
filter to their custom filters, `#@#+js(no-floc)`; or they
can opt-in only for a specific set of websites through a
more specific exception filter:

    example.com,shopping.example#@#+js(no-floc)
2021-04-11 09:36:56 -04:00
Raymond Hill
5a48917b80 Add no-floc scriptlet
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1553
2021-04-11 07:11:09 -04:00
Raymond Hill
7bf9a83d8e Make Firefox dev build auto-update 2021-04-06 10:26:18 -04:00
Raymond Hill
c9bfea5bf8 New revision for dev build 2021-04-06 10:14:33 -04:00
Raymond Hill
d338e4c4b6 Add support for "remove all properties" in json-prune scriptlet
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1545
2021-04-06 10:12:34 -04:00
Raymond Hill
9a94ba0a22 Fix regex used to extract attribute name in element picker
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/mh2ctv/
2021-03-31 12:21:29 -04:00
Raymond Hill
97619cf8f5 Revert "Use gitcdn.link instead of gitcdn.xyz"
This reverts commit 60b9aa2f38.

Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/megq9g/
2021-03-27 12:19:34 -04:00
Raymond Hill
60b9aa2f38 Use gitcdn.link instead of gitcdn.xyz
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1533
2021-03-21 08:17:33 -04:00
Raymond Hill
634724cf29 Add fallback URLs for "IRN: Adblock-Iran"
Main URL is currently failing. Reported internally.
2021-03-20 07:41:24 -04:00
Raymond Hill
0aae08bb9a Make Firefox dev build auto-update 2021-03-14 09:25:20 -04:00
Raymond Hill
ea8b228650 New revision for dev build 2021-03-14 09:20:26 -04:00
Raymond Hill
b68a800851 Fix regression causing dynamic URL pane to disappear
Reported internally.

Related commit:
- f876b68171
2021-03-14 09:18:51 -04:00
Raymond Hill
a9756f5f51 Make Firefox dev build auto-update 2021-03-13 09:45:36 -05:00
Raymond Hill
8897707763 new revision for dev build 2021-03-13 09:39:47 -05:00
Raymond Hill
b1228f9d51 Add missing new JS file
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1527#issuecomment-798449462

Related commit:
- f876b68171
2021-03-13 09:38:29 -05:00
Raymond Hill
9d5f2fa558 Make Firefox dev build auto-update 2021-03-13 09:21:12 -05:00
Raymond Hill
7cbac5e633 New revision for dev build 2021-03-13 09:13:48 -05:00
Raymond Hill
a80b10ac96 Import translation work from https://crowdin.com/project/ublock 2021-03-13 09:09:27 -05:00
Raymond Hill
49f2c0d756 Bring back experimental widget for current dev cycle 2021-03-13 09:08:19 -05:00
Raymond Hill
2a38413a64 New revision for dev build 2021-03-13 09:06:41 -05:00
Raymond Hill
5e5bc24f63 Alphabetical order 2021-03-13 09:05:54 -05:00
Raymond Hill
f876b68171 Add support for removal of response headers
The syntax to remove response header is a special case
of HTML filtering, whereas the response headers are
targeted, rather than the response body:

  example.com##^responseheader(header-name)

Where `header-name` is the name of the header to
remove, and must always be lowercase.

The removal of response headers can only be applied to
document resources, i.e. main- or sub-frames.

Only a limited set of headers can be targeted for
removal:

  location
  refresh
  report-to
  set-cookie

This limitation is to ensure that uBO never lowers the
security profile of web pages, i.e. we wouldn't want to
remove `content-security-policy`.

Given that the header removal occurs at onHeaderReceived
time, this new ability works for all browsers.

The motivation for this new filtering ability is instance
of website using a `refresh` header to redirect a visitor
to an undesirable destination after a few seconds.
2021-03-13 08:53:34 -05:00
Raymond Hill
af980c5c06 Disable unfinished widget from stable release 2021-03-10 08:17:31 -05:00
Raymond Hill
ed318a57ea Import translation work from https://crowdin.com/project/ublock 2021-03-10 08:06:38 -05:00
Raymond Hill
a40c51ea53 New revision for stable release 2021-03-10 08:03:04 -05:00
Raymond Hill
4320e9c28b Removing Fanboy Enhanced Tracking
Too likely to cause breakage. It was originally added without
having been really evaluated. As per feedback, it's too likely
to cause breakage.

The list is seemingly used to evaluate filters, which are moved
to EasyPrivacy once they are deemed valid and useful.
2021-03-06 10:25:36 -05:00
Raymond Hill
f3f6f00e51 Make Firefox dev build auto-update 2021-03-06 09:05:27 -05:00
Raymond Hill
85a9e3df53 New revision for release candidate 2021-03-06 08:24:23 -05:00
Raymond Hill
a01c03e11a Fix no-scripting switch not working for SVG-based documents
Issue spotted while trying the following page:
- https://www.xul.fr/svgtetris.svg
2021-03-06 08:18:46 -05:00
Raymond Hill
8985cff2a8 Make Firefox dev build auto-update 2021-03-05 06:21:08 -05:00
Raymond Hill
0644f4102f New revision for release candidate 2021-03-05 06:13:09 -05:00
Raymond Hill
4e324377b9 Import translation work from https://crowdin.com/project/ublock 2021-03-04 14:34:18 -05:00
Raymond Hill
9f063c717b Also CSS-escape tag name in element picker
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1519
2021-03-04 06:19:44 -05:00
Raymond Hill
eba8379192 Make Firefox dev build auto-update 2021-03-03 11:05:48 -05:00
Raymond Hill
fa96a3c622 Import translation work from https://crowdin.com/project/ublock 2021-03-03 10:59:07 -05:00
Raymond Hill
c53fcafc2c New revision for dev build 2021-03-03 10:56:18 -05:00
Raymond Hill
404e6252d6 Fix regression causing exceptions to be thrown
Related commit:
- 1c3b45f75d

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1513
2021-03-03 10:51:56 -05:00
Raymond Hill
c80afb805e Make Firefox dev build auto-update 2021-03-02 13:25:41 -05:00
Raymond Hill
1aef8d6f4f Import translation work from https://crowdin.com/translate/ublock 2021-03-02 13:20:52 -05:00
Raymond Hill
21a3c9214a New revision for dev build 2021-03-02 13:10:07 -05:00
Raymond Hill
1c3b45f75d Expose ability to toggle on/off cname-uncloaking to all users
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1513

Prior to this commit, the ability to enable/disable the
uncloaking of canonical names was only available to advanced
users. This commit make it so that the setting can be
toggled from the _Settings_ pane.

The setting is enabled by default. The documentation should
be clear that the setting should not be disabled unless it
actually solves serious network issues, for example:

https://bugzilla.mozilla.org/show_bug.cgi?id=1694404

Also, as a result, the advanced setting `cnameUncloak` is no
longer available from within the advanced settings editor.
2021-03-02 13:00:56 -05:00
Raymond Hill
794c67c7d2 Merge branch 'master' of https://github.com/gorhill/uBlock 2021-03-02 12:27:46 -05:00
Madis Otenurm
e38de2ae2f Update issue templates to new format (#3785)
* Update issue templates

* Create config.yml

* Delete bug_report.md

* Delete ISSUE_TEMPLATE.md
2021-03-02 12:25:41 -05:00
Raymond Hill
761e8987c1 Merge branch 'master' of https://github.com/gorhill/uBlock 2021-03-02 12:23:51 -05:00
Raymond Hill
ab2f5c2f6b Update issue templates to new format (#3784)
* Update issue templates

* Create config.yml

* Delete bug_report.md

* Delete ISSUE_TEMPLATE.md

Co-authored-by: Madis Otenurm <Madis0@users.noreply.github.com>
2021-03-02 12:23:40 -05:00
Raymond Hill
e6727ed87a Make Firefox dev build auto-update 2021-02-27 07:26:23 -05:00
Raymond Hill
14399e9ca7 New revision for dev build 2021-02-27 07:10:46 -05:00
Raymond Hill
972feae05d Drop ctrl-key requirement in "Purge all caches" operation
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/lrcwii/memory_use_in_roaming_profile_in_windows/goq6h4n/
2021-02-26 06:48:26 -05:00
Raymond Hill
ac9a3014e6 Make Firefox dev build auto-update 2021-02-22 08:11:02 -05:00
Raymond Hill
8b83eb6c32 New revision for dev build 2021-02-22 08:02:08 -05:00
Raymond Hill
b7a2352c6f Do not suggest network filters with wildcarded hostname in picker
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1494
2021-02-22 07:57:23 -05:00
Raymond Hill
007a123c63 Make Firefox dev build auto-update 2021-02-22 06:41:14 -05:00
Raymond Hill
57827f8af6 New revision for dev build 2021-02-22 06:34:18 -05:00
Raymond Hill
918a073c81 Fix regression in strict blocking
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/lp6dwp/

Regression from:
- 3af1120082
2021-02-22 06:32:43 -05:00
Raymond Hill
9dcc456da3 Make Firefox dev build auto-update 2021-02-21 07:51:02 -05:00
Raymond Hill
a6718a3b82 New revision for dev build 2021-02-21 07:44:11 -05:00
Raymond Hill
266a7507b8 Fix regression when initializing popup panel
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1505

Regression from:
- 435c91636f
2021-02-21 07:41:09 -05:00
Raymond Hill
2128d1cf29 Make Firefox dev build auto-update 2021-02-20 07:15:51 -05:00
Raymond Hill
3565a0511e Update comment
DOM logger and inspector are loaded on demand.
2021-02-20 07:05:19 -05:00
Raymond Hill
40b75f1a01 New revision for dev build 2021-02-20 07:04:51 -05:00
Raymond Hill
0dfafc3bd3 Upgrade CodeMirror to 5.59.2
This should fix the following issue:
- https://www.reddit.com/r/uBlockOrigin/comments/lnfyer/

CodeMirror was detecting Windows as iOS:
- https://github.com/codemirror/CodeMirror/issues/6532
2021-02-19 13:07:34 -05:00
Raymond Hill
427eabb628 Make Firefox dev build auto-update 2021-02-19 12:36:00 -05:00
Raymond Hill
47eed89873 New revision for dev build 2021-02-19 12:33:18 -05:00
Raymond Hill
dfa1b64cae Fix regression when reverting temporary rules in popup panel
Refression from:
- 435c91636f
2021-02-19 12:32:07 -05:00
Raymond Hill
373792714a Make Firefox dev build auto-update 2021-02-19 09:05:45 -05:00
Raymond Hill
b263d4d83e Import translation work from https://crowdin.com/translate/ublock 2021-02-19 08:57:13 -05:00
Raymond Hill
1024f60fc9 new revision for dev build 2021-02-19 08:48:16 -05:00
Raymond Hill
3af1120082 Add support for exception of document to bypass strict-blocking
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1501

Exception filters for `document` option are complying with
uBO's own semantic for `document` option, i.e. an exception
filter for `document` option will only allow to bypass a
block filter for `document` (either explicit or implicit)
and nothing else.

Exception filters using `document` option are *not*
compatible with ABP's interpretation of these filters.
Whereas in ABP the purpose of a `document` exception filter
is to wholly disable content blocking, in uBO the same
filter will just cause strict-blocking to be disabled while
leaving content blocking intact.

Additionally, the logger was fixed to properly report pages
which are being strict-blocked.
2021-02-19 08:38:50 -05:00
Raymond Hill
96049f147e Reflect latest changes in comment 2021-02-19 08:38:07 -05:00
Raymond Hill
eb6be3a0cf Fix 'adsbygoogle' neutered script
As per internal feedback.

The `length` property exists if the `adsbygoogle` object
is instantiated before the `adsbygoogle.js` script has
been loaded, but is no longer present once the
`adsbygoogle.js` script has been loaded.
2021-02-19 08:31:58 -05:00
Raymond Hill
b5768b0654 Make Firefox dev build auto-update 2021-02-17 09:46:10 -05:00
Raymond Hill
aa81639d87 New revision for dev build 2021-02-17 09:39:03 -05:00
Raymond Hill
9c3205b37c Inject procedural cosmetic filterer's code only when needed
The procedural cosmetic filtering code has been split from
the content script code injected unconditionally and will
from now on be injected only when it is needed, i.e. when
there are procedural cosmetic filters to enforce.

The motivation for this is:
https://www.debugbear.com/blog/2020-chrome-extension-performance-report#what-can-extension-developers-do-to-keep-their-extensions-fast

Though uBO's content script injected unconditionally in all
pages/frames is relatively small, I still wanted to further
reduce the amount of content script code injected
unconditionally: The procedural cosmetic filtering code
represents roughly 14KB of code the browser won't have to
parse/execute unconditionally unless there exists procedural
cosmetic filters to enforce for a page or frame.

At the time the above article was published, the total
size of unconditional content scripts injected by uBO was
~101 KB, while after this commit, the total size will be
~57 KB (keeping in mind uBO does not minify and does not
remove comments from its JavaScript code).

Additionally, some refactoring on how user stylesheets are
injected so as to ensure that `:style`-based procedural
filters which are essentially declarative are injected
earlier along with plain, non-procedural cosmetic filters.
2021-02-17 09:12:00 -05:00
Raymond Hill
c6745a0276 Make Firefox dev build auto-update 2021-02-15 07:06:15 -05:00
Raymond Hill
a5a39ff504 Merge branch 'master' of github.com:gorhill/uBlock 2021-02-15 06:58:34 -05:00
Raymond Hill
494db7e11a New revision for dev build 2021-02-15 06:58:24 -05:00
Raymond Hill
435c91636f Count allowed/blocked requests for 3rd-party scripts/frames
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/210

Additionally, a small (experimental) widget has been added
to emphasize/de-emphasize rows which have 3rd-party
scripts/frames, so as to more easily identify which rows
are "affected" by 3rd-party scripts and/or frames.

Tooltip localization for the new widget is not available
yet as I want wait for the feature to be fully settled.
2021-02-15 06:52:31 -05:00
Raymond Hill
b8d6f27eb3 Update README.md 2021-02-11 18:04:53 -05:00
Raymond Hill
595383a88f Update README.md 2021-02-11 18:03:51 -05:00
Raymond Hill
e2b988aed9 Update README.md 2021-02-08 16:15:52 -05:00
Raymond Hill
55365969e5 Add links to uBO in supported browser stores 2021-02-08 16:13:59 -05:00
Raymond Hill
a96b18e1a7 Make Firefox dev build auto-update 2021-02-04 07:05:26 -05:00
Raymond Hill
c2ca7b6852 New revision for dev build 2021-02-04 06:57:00 -05:00
Raymond Hill
3715b32d93 Import translation work from https://crowdin.com/project/ublock 2021-02-04 06:55:25 -05:00
Raymond Hill
de1ed2c519 Replace "EasyList China" with "AdGuard Chinese"
As discussed internally with list maintainers:

- EasyList China doesn't leverage uBO's extended
  filter syntax

- EasyList China's home page is no longer available
  to the public

Additionally, "CJX's EasyList Lite" has been removed
from stock lists, as the list hosted on GitHub is no
longer updated, and "AdGuard Chinese" is the official
list to enable to address all filter issues for
Chinese sites.
2021-02-02 08:30:02 -05:00
Raymond Hill
a66615725e Make Firefox dev build auto-update 2021-01-31 10:45:47 -05:00
Raymond Hill
09134b275a New revision for dev build 2021-01-31 10:36:01 -05:00
Raymond Hill
3bb73065e3 Fix broken forward compatibility re. imported lists
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1480

Forward compatiblity was broken due to `externalLists`
being converted into an Array from a string, i.e.
downgrading to uBO 1.32.4 was completely breaking uBO.

This commit restores `externalLists` as a string which
is what older versions of uBO expect.

A new property `importedLists` has been created to
hold the imported lists as an array, while
`externalLists` will be kept around for a while until
it is completely removed in some future.
2021-01-31 10:30:12 -05:00
Raymond Hill
93ed308741 Make Firefox dev build auto-update 2021-01-30 15:25:26 -05:00
Raymond Hill
d47a9a0d7a New revision for dev build 2021-01-30 15:19:44 -05:00
Raymond Hill
0390bb8b8a Fix potential spurious redirection in whitelisted tabless contexts
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1478
2021-01-30 15:08:21 -05:00
Raymond Hill
28b25f5e5a Import translation work from https://crowdin.com/project/ublock 2021-01-29 10:46:16 -05:00
Raymond Hill
19cb5ce78b New revision for stable release 2021-01-29 10:37:12 -05:00
Raymond Hill
b40498b947 Make Firefox dev build auto-update 2021-01-28 10:01:14 -05:00
Raymond Hill
d3cb29ff1e New revision for release candidate 2021-01-28 09:49:24 -05:00
Raymond Hill
3101c5fa22 Upload non-filtered rules to cloud storage
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1472
2021-01-28 09:43:14 -05:00
Raymond Hill
16e74cf68b Make Firefox dev build auto-update 2021-01-23 09:55:32 -05:00
Raymond Hill
bb5265e94f New revision for release candidate 2021-01-23 09:48:17 -05:00
Raymond Hill
001f5a6500 Add any-delay to timeout/interval boosters
Using `*` as delay argument will match any
delay.

As per internal feedback from filter list
maintainers.
2021-01-23 09:45:44 -05:00
Raymond Hill
5657bc466c Make Firefox dev build auto-update 2021-01-22 09:50:42 -05:00
Raymond Hill
97e4dccb00 New revision for stable release 2021-01-22 09:41:05 -05:00
Raymond Hill
40c145d76a Fix handling of cname-aliased URLs in click-to-load widget
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1455
2021-01-22 09:37:12 -05:00
Raymond Hill
bac7873edd Make Firefox dev build auto-update 2021-01-21 10:20:54 -05:00
Raymond Hill
fb35ad0350 New revision for release candidate 2021-01-21 10:14:36 -05:00
Raymond Hill
0934779f4b Improve neutered adsbygoogle scriptlet 2021-01-21 10:13:16 -05:00
Raymond Hill
e9863f7787 Make Firefox dev build auto-update 2021-01-21 08:55:19 -05:00
Raymond Hill
b1a3d28649 New revision for release candidate 2021-01-21 08:41:22 -05:00
Raymond Hill
174731851e Minor fine tuning of some default parameters 2021-01-21 08:40:10 -05:00
Raymond Hill
b79052de3d Import translation work from https://crowdin.com/project/ublock 2021-01-21 08:36:08 -05:00
Raymond Hill
7d902eaf11 Make Firefox dev build auto-update 2021-01-16 10:46:03 -05:00
Raymond Hill
4aa80c27a1 New revision for dev build 2021-01-16 10:41:39 -05:00
Raymond Hill
6eb1246508 Add userSettings entry to managed storage
The managed `userSettings` entry is an array of entries,
where each entry is a name/value pair encoded into an array
of strings.

The first item in the entry array is the name of a setting,
and the second item is the stringified value for the
setting.

This is a more convenient way for administrators to set
specific user settings. The settings set through
`userSettings` policy will always be set at uBO launch
time.
2021-01-16 10:35:56 -05:00
Raymond Hill
2f4952e769 Raise minimum version of dev build as well
Related feedback:
- fee756dea0 (r45819566)
2021-01-10 12:53:42 -05:00
Raymond Hill
fee756dea0 Make Firefox dev build auto-update 2021-01-10 12:45:18 -05:00
Raymond Hill
649b3480e0 Add "toOverwrite.filters" entry as managed storage property
The new entry is an array of strings, each representing a
distinct line, and all entries are used to populate the
"My filters" pane.

This offers an more straightforward way for administrators
to specify a list of custom filters to use for all
installations.
2021-01-10 12:31:31 -05:00
Raymond Hill
055f37d765 New revision for dev build 2021-01-10 12:15:02 -05:00
Raymond Hill
ecabc6d12c Raise minimal version numbers 2021-01-10 12:14:07 -05:00
Raymond Hill
114012ae11 Add ability to lookup effective context from store of frames
Content scripts can't properly look up effective context
for sandboxed frames. This commit add ability to extract
effective context from already existing store of frames
used for each tab.
2021-01-10 11:56:27 -05:00
Raymond Hill
37c9f966ac Make Firefox dev build auto-update 2021-01-08 13:20:44 -05:00
Raymond Hill
9166fcb3a9 New revision for dev build 2021-01-08 13:17:46 -05:00
Raymond Hill
03e1b16961 Fix content script's broken context lookup from sandboxed anonymous frames 2021-01-08 13:12:48 -05:00
Raymond Hill
5fa873960f Listen to load events on window, not document
Related feedback:
- 0f330c7359 (r45774155)
2021-01-08 13:11:09 -05:00
Raymond Hill
07035789a4 Make Firefox dev build auto-update 2021-01-08 11:01:16 -05:00
Raymond Hill
c2d2ed93a8 New revision for dev build 2021-01-08 10:55:33 -05:00
Raymond Hill
0f330c7359 Add ability to linger for remove-attr scriplet
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1445

A third (optional) argument has been added to `remove-attr`
scriptlet, which can be one or more space-separated tokens
dictating the behavior of the scriptlet:

`stay`: This tells the scriplet to stay and act on DOM
changes, whiĺe the default behavior is to act only once
when the document becomes interactive.

`complete`: This tells the scriplet to start acting only
when the document is complete, i.e. once all secondary
resources have been loaded, while the default is to start
acting when the document is interactive -- which is earlier
than when the document is complete.

Example:

    ...##+js(remove-attr, class, .j-mini-player, stay)
2021-01-08 10:45:35 -05:00
Raymond Hill
0e3071dd50 Add filterLists property to managed storage
The entry `toOverwrite.filterLists` is an array of
string, where each string is a token identifying a
stock filter list, or a URL for an external filter
list.

This new entry is to make it easier for an
administrator to centrally configure uBO with a
custom set of filter lists.
2021-01-08 09:18:26 -05:00
Raymond Hill
e4e7cbc78f Use better identifying name for overview panel 2021-01-07 08:19:47 -05:00
Raymond Hill
1fcc3c6ddc Add URL as tooltip 2021-01-07 08:19:02 -05:00
Raymond Hill
6dfdac6719 Make Firefox dev build auto-update 2021-01-06 12:16:00 -05:00
Raymond Hill
8fea3d2965 New revision for dev build 2021-01-06 12:11:04 -05:00
Raymond Hill
c75e347c05 Add missing no-dashboard page
Related commit:
- cc9c45f1e4
2021-01-06 12:09:53 -05:00
Raymond Hill
2326ed9722 Make Firefox dev build auto-update 2021-01-06 11:55:55 -05:00
Raymond Hill
c68df52d8a New revision for dev build 2021-01-06 11:47:44 -05:00
Raymond Hill
cc9c45f1e4 Adding to and further reviewing admin-managed settings 2021-01-06 11:39:24 -05:00
Raymond Hill
2ab11603f0 Allow everybody to use now-stable queryprune=
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/760
2021-01-06 11:17:07 -05:00
Raymond Hill
b392866803 Make Firefox dev build auto-update 2021-01-05 16:05:50 -05:00
Raymond Hill
5f323f270e Remove stray comma 2021-01-05 15:58:55 -05:00
Raymond Hill
877dec4456 New revision for dev build 2021-01-05 12:20:21 -05:00
Raymond Hill
c1130ec843 Add support for admin-managed hidden settings
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1437#issuecomment-754127066
2021-01-05 12:16:50 -05:00
Raymond Hill
d254c7c304 Make Firefox dev build auto-update 2021-01-04 08:10:57 -05:00
Raymond Hill
a45996f1bd New revision for dev build 2021-01-04 07:58:28 -05:00
Raymond Hill
b28acfccbc Add "extraTrustedSiteDirectives" as new admin policy
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1433

The new "extraTrustedSiteDirectives" policy is an array
of strings, each of which is parsed as a trusted-site
directive to append to a user's own set of trusted-site
directives at launch time.

The added trusted-site directives will be considered as
part of the default set of directives by uBO.
2021-01-04 07:54:24 -05:00
Raymond Hill
ced4330d74 Make Firefox dev build auto-update 2021-01-02 12:50:58 -05:00
Raymond Hill
415152aa57 New revision for dev build 2021-01-02 12:42:26 -05:00
Raymond Hill
2bb33aac20 Be sure to use only a valid journal slot pointer
Related commit:
- 70cabc1cc6
2021-01-02 12:41:13 -05:00
Raymond Hill
3cf9a187fe Make Firefox dev build auto-update 2021-01-02 12:16:09 -05:00
Raymond Hill
752191a04f Make sure journal slot pointers are properly reset
For when the same page store is recycled later.
2021-01-02 12:07:31 -05:00
Raymond Hill
873054435b New revision for dev build 2021-01-02 12:00:43 -05:00
Raymond Hill
70cabc1cc6 Better report secondary requests with quick redirections
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1241

uBO will not discard secondary requests fired before a root
frame is committed, by ensuring that if newly uncommitted
root frames are of the same origin as previous one(s), the
uncommited journal slot pointer is not updated.
2021-01-02 11:52:16 -05:00
Raymond Hill
4f53e08741 Make Firefox dev build auto-update 2021-01-01 10:46:04 -05:00
Raymond Hill
4d42969a1d Import translation work from https://crowdin.com/project/ublock 2021-01-01 10:31:23 -05:00
Raymond Hill
4275b308bb New revision for dev build 2021-01-01 10:29:43 -05:00
Raymond Hill
c2357c5cd6 Just extract token from queryprune -- don't create pattern
Related commit:
- 6ac09a2856

Patternless `queryprune` ar enow preserved as being
pattern-less while still attempting to extract a token
from the `queryprune` value. This allows to report the
filter in the logger same as its original form.
2021-01-01 10:23:40 -05:00
Raymond Hill
8052c0ca14 Make Firefox dev build auto-update 2020-12-29 09:10:39 -05:00
Raymond Hill
ce9dbbbf4c New revision for dev build 2020-12-29 09:08:29 -05:00
Raymond Hill
1669d122df Add resource for noop VMAP
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1425

The resource content is a copy/paste of AdGuard's code:
- bc5eec1989/src/redirects/static-redirects.yml (L134)
2020-12-29 09:05:28 -05:00
Raymond Hill
48bf0ffb1b New revision for dev build 2020-12-29 09:05:03 -05:00
Raymond Hill
b003c4de3d Import punycode library in "My rules"
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1424
2020-12-29 08:33:48 -05:00
Raymond Hill
6c2577ce7e Make Firefox dev build auto-update 2020-12-28 07:40:45 -05:00
Raymond Hill
54e77b1b54 Import translation work from https://crowdin.com/project/ublock 2020-12-28 07:35:19 -05:00
Raymond Hill
5d17289d4a New revision for dev build 2020-12-28 07:32:36 -05:00
Raymond Hill
2e7f1b8d08 Improve validation of synctactically bad regexes
The following regex are not rejected as invalid when
using built-in regex objects:

    /abc]/
    /a7,18}/
    /a{7,18/

However, as per documentation, they are not supposed to
be valid, as `{` and `}` are special characters and as
such should be escaped:

    /abc\]/
    /a7,18\}/
    /a\{7,18/

With this commit, the regexes will additionally be
validated using the regex analyzer library in the editor
to ensure strict regex syntax compliance so as to avoid
what are likely mistakes in regex crafting by authors.
2020-12-28 07:13:57 -05:00
Raymond Hill
4ba3adc28c Fix comment 2020-12-28 07:07:04 -05:00
Raymond Hill
d910111d4a Fix parsing of trailing resource
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1419
2020-12-28 07:03:52 -05:00
Raymond Hill
1d2907890b Make Firefox dev build auto-update 2020-12-27 09:45:25 -05:00
Raymond Hill
224acc4a9f New revision for dev build 2020-12-27 09:36:30 -05:00
Raymond Hill
6d3ad553b4 Fix word-based selection in filter list editor/viewer
This commit fixes mouse double-click-and-drag operations,
which was broken due to the implementation of a custom
word selection in the filter list editor/viewer.
2020-12-27 09:32:50 -05:00
Raymond Hill
f80371e844 Make Firefox dev build auto-update 2020-12-26 10:25:29 -05:00
Raymond Hill
934bd3e80d new revision fro dev build 2020-12-26 10:16:54 -05:00
Raymond Hill
b053477087 Fix potentially missing context in logger for popup entries
Reported internally.
2020-12-26 10:15:07 -05:00
Raymond Hill
8e810832ba Make Firefox dev build auto-update 2020-12-26 09:20:28 -05:00
Raymond Hill
1b686c8204 New revision for dev build 2020-12-26 09:15:30 -05:00
Raymond Hill
426395aa03 Improve extraction of tokens from regex-based filters
Regex-based static network filters are those most likely to
cause performance degradation, and as such the best guard
against undue performance degradation caused by regex-based
filters is the ability to extract valid and good tokens
from regex patterns.

This commit introduces a complete regex parser so that the
static network filtering engine can now safely extract
tokens regardless of the complexity of the regex pattern.

The regex parser is a library imported from:
https://github.com/foo123/RegexAnalyzer

The syntax highlighter adds an underline to regex-based
filters as a visual aid to filter authors so as to avoid
mistakenly creating regex-based filters. This commit
further colors the underline as a warning when a regex-based
filter is found to be untokenizable.

Filter list authors are invited to spot these untokenizable
regex-based filters in their lists to verify that no
mistake were made for those filters, causing them to be
untokenizabke. For example, what appears to be a mistake:

    /^https?:\/\/.*\/sw.js?.[a-zA-Z0-9%]{50,}/

Though the mistake is minor, the regex-based filter above
is untokenizable as a result, and become tokenizable when
the `.` is properly escaped:

    /^https?:\/\/.*\/sw\.js?.[a-zA-Z0-9%]{50,}/

Filter list authors can use this search expression in the
asset viewer to find instances of regex-based filters:

    /^(@@)?\/[^\n]+\/(\$|$)/
2020-12-26 08:52:42 -05:00
Raymond Hill
fdcb110feb New revision for dev build 2020-12-26 08:49:12 -05:00
Raymond Hill
1e172d7b81 Make Firefox dev build auto-update 2020-12-24 08:45:23 -05:00
Raymond Hill
9685558162 New revision for dev build 2020-12-24 08:37:58 -05:00
Raymond Hill
596f085fa5 Allow default word selection when not using better selection
Double-click in editor will just fall back to default word
selection when NOT using enhanced word selection.
2020-12-24 08:34:45 -05:00
Raymond Hill
ab06a01062 Better handle Request argument in no-fetch-if
As per internal feedback.
2020-12-24 08:26:30 -05:00
Raymond Hill
1c37e29e0a Fix handling of fragment when applying queryprune
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1415
2020-12-24 07:35:26 -05:00
Raymond Hill
8f91acd5b3 Make Firefox dev build auto-update 2020-12-22 09:30:56 -05:00
Raymond Hill
6810868e96 New revision for dev build 2020-12-22 09:06:56 -05:00
Raymond Hill
5d617484e5 Upgrade CodeMirror library to 5.59.0 (from 5.46.0) 2020-12-22 09:06:26 -05:00
Raymond Hill
7e56a782e8 New revision for stable release 2020-12-22 08:14:06 -05:00
Raymond Hill
37d3b928bb Make Firefox dev build auto-update 2020-12-21 09:30:58 -05:00
Raymond Hill
f6a4f00613 New revision for release candidate 2020-12-21 09:22:11 -05:00
Raymond Hill
ea71e93c81 Reset Chromium-specific color-scheme CSS property
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1408
2020-12-21 09:20:56 -05:00
Raymond Hill
f6234516f4 Make Firefox dev build auto-update 2020-12-20 12:20:31 -05:00
Raymond Hill
86a2bcaff0 Import translation work from https://crowdin.com/project/ublock 2020-12-20 12:08:06 -05:00
Raymond Hill
a68ad0f30b new revision for release candidate 2020-12-20 11:56:33 -05:00
Raymond Hill
187f1831f0 Allow more local resources to be redirected as data: URIs
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1388#issuecomment-748625280
2020-12-20 11:54:24 -05:00
Raymond Hill
53d893a1b3 Make Firefox dev build auto-update 2020-12-18 12:15:25 -05:00
Raymond Hill
c1f913fbde New revision for release candidate 2020-12-18 12:09:45 -05:00
Raymond Hill
990cff576d Fix case of scriptlet injection not working about: frames
This is an issue in uBO affecting only Chromium-based browsers.

Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/688#issuecomment-748179731
2020-12-18 12:07:08 -05:00
Raymond Hill
2867ae175f Make Firefox dev build auto-update 2020-12-17 10:15:50 -05:00
Raymond Hill
ab641efc13 New revision for release candidate 2020-12-17 09:34:37 -05:00
Raymond Hill
a307cf5e6a Mind restore-from-backup for no-csp-reports rule
Related commit:
- 7d90f97aa1
2020-12-17 08:12:06 -05:00
Raymond Hill
2ddf6904f0 Make Firefox dev build auto-update 2020-12-16 07:30:32 -05:00
Raymond Hill
86eb6850ca New revision for dev build 2020-12-16 07:05:38 -05:00
Raymond Hill
bc9b8a1330 Enable broad no-csp-reports rule only in Firefox
Related commit:
- 7d90f97aa1
2020-12-16 07:02:55 -05:00
Raymond Hill
095924aa50 New revision for dev build 2020-12-16 07:02:01 -05:00
Raymond Hill
89cac090a4 Mind important only for valid redirect tokens
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1366#issuecomment-745744824
2020-12-16 06:55:46 -05:00
Raymond Hill
058f160055 Make Firefox dev build auto-update 2020-12-15 09:45:45 -05:00
Raymond Hill
a090b2b564 Fix auto-completion for epicker in Firefox 2020-12-15 09:38:20 -05:00
Raymond Hill
0052dc123b Fix no-csp-reports default enabled switch state
Related feedback:
- 7d90f97aa1 (commitcomment-45138096)
2020-12-15 09:36:04 -05:00
Raymond Hill
4d3e032f36 New revision for dev build 2020-12-15 09:22:06 -05:00
Raymond Hill
e28c2cc3c6 Auto-complete of origin pattern for ||-based patterns
Related commit:
- daf464b3c3
2020-12-15 08:27:59 -05:00
Raymond Hill
8060ddb283 Avoid duplicates in editor's auto-completion of origins
Related commit:
- daf464b3c3
2020-12-14 11:26:04 -05:00
Raymond Hill
b22cf24bd5 Fix look-up of specific-generic filters entity-less hostnames
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/688#issuecomment-743755956
2020-12-14 11:22:08 -05:00
Raymond Hill
c45b93a25c Make Firefox dev build auto-update 2020-12-14 08:50:19 -05:00
Raymond Hill
56305cc031 New revision for dev build 2020-12-14 08:39:58 -05:00
Raymond Hill
d4425ad753 Fix bad access to hostname info from filtering context
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1398

Regression from:
- 6df32675b1
2020-12-14 08:38:30 -05:00
Raymond Hill
1ff8132216 Simplify code
Related commit:
- b779f1f7c9
2020-12-13 12:14:37 -05:00
Raymond Hill
fd960e19e8 Make Firefox dev build auto-update 2020-12-12 14:45:48 -05:00
Raymond Hill
2e1e4b52eb New revision for dev build 2020-12-12 14:40:01 -05:00
Raymond Hill
18e6f30c1c Minor code review
Related commit:
- 6df32675b1
2020-12-12 14:38:44 -05:00
Raymond Hill
b779f1f7c9 Dynamically reload 3p css when noop-ing "3rd-party" cell
This should improve usability of uBO's hard-mode
and "relax blocking mode" operations. This is the
new default behavior.

The previous behavior of forcing a reload of the
page can be re-enabled by simply setting the `3p`
bit of the advanced setting `blockingProfiles`
to 1.
2020-12-12 14:33:49 -05:00
Raymond Hill
64571a336e Make Firefox dev build auto-update 2020-12-12 08:40:48 -05:00
Raymond Hill
6df32675b1 Add approximate reporting of tabless network requests
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1204

Not much can be done beside reporting to tabless network
requests to all tabs for which the context is a match.

A short term local cache is used to avoid having to iterate
through all existing tabs for each tabless network request
just to find and report to the matching ones -- users
reporting having a lot of opened tabs at once is not so
uncommon.
2020-12-12 08:19:40 -05:00
Raymond Hill
cc86e373ec New revision for dev build 2020-12-11 12:35:18 -05:00
Raymond Hill
7d90f97aa1 Enable the blocking of CSP reports by default
Related issue:
- https://github.com/LiCybora/NanoDefenderFirefox/issues/196
2020-12-11 12:34:09 -05:00
Raymond Hill
d0a0984ece Make Firefox dev build auto-update 2020-12-11 10:41:08 -05:00
Raymond Hill
78cf76dd95 New revision for dev build 2020-12-11 10:36:13 -05:00
Raymond Hill
24755d4300 Fix broken alias nostif
Related feedback:
- ba11a70013 (r45030152)

Regression from:
- ba11a70013
2020-12-11 10:34:33 -05:00
Raymond Hill
c41be5b828 Make Firefox dev build auto-update 2020-12-11 09:35:41 -05:00
Raymond Hill
286663c957 New revision for dev build 2020-12-11 09:30:43 -05:00
Raymond Hill
b6ed83bc5c Add logging ability to new scriptlet no-fetch-if
When no-fetch-if scriptlet is used without argument, the
parameters passed to no-fetch-if will be output to the
console, as `uBO: fetch([...list of arguments...])`.
2020-12-11 09:28:29 -05:00
Raymond Hill
497dc9a58a Make Firefox dev build auto-update 2020-12-11 08:56:13 -05:00
Raymond Hill
28bc132912 New revision for dev build 2020-12-11 08:51:41 -05:00
Raymond Hill
45373275db New revision for dev build 2020-12-11 08:50:58 -05:00
Raymond Hill
ba11a70013 Add new scriptlet: no-fetch-if
The new scriptlet allows to defuse calls to fetch() by returning
a promise which always resolve to an empty response.

There is only one argument, which is a space-separated list
of conditions which must be ALL fulfilled in order for the
defusing to take place.

Each condition is a pair of property name and property value
separated by a column. Valid property names are those
documented as valid `init` options:

https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch

The URL of the fetch() is a special case and does not have to
be associated with a property name. Example of usage:

  ...##+js(no-fetch-if, method:HEAD)

Which means: defuse the call to fetch() if there is an
explicit option which contains `HEAD`. Another example:

  ...##+js(no-fetch-if, adsbygoogle.js)

Which means: defuse the call to fetch() if the URL contains
`adsbygoogle.js`. Multiple conditions can be provided:

  ...##+js(no-fetch-if, adsbygoogle.js method:HEAD)

If at least one condition does not match, the defusing will
not take place.

The string against which to match can be a literal regular
expression:

  ...##+js(no-fetch-if, /adsbygoogle.js$/ method:/HEAD|POST/)

Additonally, the following deprecated scriplets have been
removed:

- requestAnimationFrame-if.js
- setInterval-defuser.js
- setTimeout-logger.js
2020-12-11 08:29:23 -05:00
Raymond Hill
75ac182fe1 Make Firefox dev build auto-update 2020-12-10 13:21:39 -05:00
Raymond Hill
8331500cd8 New revision for dev build 2020-12-10 13:15:07 -05:00
Raymond Hill
cb71fb494c Fix DOM watcher not reporting removal of elements
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1392

Regression from:
- 6112a68faf
2020-12-10 12:51:26 -05:00
Raymond Hill
2f841259ae Make Firefox dev build auto-update 2020-12-10 10:15:47 -05:00
Raymond Hill
f5c77a711f New revision for dev build 2020-12-10 10:07:25 -05:00
Raymond Hill
15afd59e1e Fix unstyling of nodes no longer matching procedural filters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1392

Regression from:
- 35aefed926
2020-12-10 10:03:15 -05:00
Raymond Hill
aa011e040c Fix thunderbird build script 2020-12-10 10:00:27 -05:00
Raymond Hill
646ddff8fe Minor changes 2020-12-10 08:26:03 -05:00
Raymond Hill
e287c940dd Remove usage of Travis CI 2020-12-09 13:33:03 -05:00
Raymond Hill
8c6fb17ac9 Make Firefox dev build auto-update 2020-12-09 12:10:42 -05:00
Raymond Hill
777b212214 Attempt to make make GitHub Actions work 2020-12-09 12:00:59 -05:00
Raymond Hill
0415e28eae Attempt to make make GitHub Actions work 2020-12-09 11:58:46 -05:00
Raymond Hill
95b4ecf5dd Attempt to make make GitHub Actions work 2020-12-09 11:53:18 -05:00
Raymond Hill
ece83e5834 Attempt to make make GitHub Actions work 2020-12-09 11:47:09 -05:00
Raymond Hill
25bf99834f Attempt to make make GitHub Actions work 2020-12-09 11:35:33 -05:00
Raymond Hill
28590e019d Attempt to make make GitHub Actions work 2020-12-09 11:32:56 -05:00
Raymond Hill
8a754f65c1 Attempt to make make GitHub Actions work 2020-12-09 11:30:09 -05:00
Raymond Hill
22a4848d8f Attempt to make make GitHub Actions work 2020-12-09 11:23:14 -05:00
Raymond Hill
210fbf9353 Attempt to make make GitHub Actions work 2020-12-09 11:09:14 -05:00
Raymond Hill
6691282bc2 Attempt to make make GitHub Actions work 2020-12-09 11:03:12 -05:00
Raymond Hill
f12f1d4c85 Attempt to make make GitHub Actions work 2020-12-09 10:51:34 -05:00
Raymond Hill
2d4924ab9d Attempt to make make GitHub Actions work 2020-12-09 10:48:30 -05:00
Raymond Hill
50ba57f8fc Attempt to make make GitHub Actions work 2020-12-09 10:47:10 -05:00
Raymond Hill
ea89baf1fd Attempt to make make GitHub Actions work 2020-12-09 10:35:02 -05:00
Raymond Hill
392888506c Attempt to make make GitHub Actions work 2020-12-09 10:26:06 -05:00
Raymond Hill
61b1d87b52 Attempt to make make GitHub Actions work 2020-12-09 10:16:02 -05:00
Raymond Hill
045f6a4cac Attempt to make make GitHub Actions work 2020-12-09 10:14:36 -05:00
Raymond Hill
dca1073a9a New revision for dev build 2020-12-09 09:10:18 -05:00
Raymond Hill
0b5f53923f Add basic compatibility with ABP's rewrite option
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/857

The recognized resources are:
- abp-resource:blank-mp3
- abp-resource:blank-js

ABP's tokens are excluded from auto-complete so as to not
get in the way of uBO's filter list maintainers.
2020-12-09 08:16:28 -05:00
Raymond Hill
b553a66f70 Remove update_info_url to prevent Firefox from using the link
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1391
2020-12-09 07:56:32 -05:00
Raymond Hill
ec8a9dcd82 Update main.yml 2020-12-08 13:35:28 -05:00
Raymond Hill
0605b3222d Merge branch 'master' of github.com:gorhill/uBlock 2020-12-08 13:28:49 -05:00
Raymond Hill
4c2b1493bc Make Firefox dev build auto-update 2020-12-08 13:26:00 -05:00
Raymond Hill
958c1cf9ea Update main.yml 2020-12-08 12:37:09 -05:00
Raymond Hill
42a9f99489 Create main.yml
This probably won't work...
2020-12-08 12:05:02 -05:00
Raymond Hill
3ff6617ea3 Fix block filter reported in the logger despite being excepted
Reported internally by @uBlock-user.

Also, fixed broken caching of `cname` exception, which forced
uBO to repeatedly evaluate whether a `cname` exception exists
when a block `cname`-cloaked request is encountered.
2020-12-08 11:16:17 -05:00
Raymond Hill
a440bcbc46 Import translation work from https://crowdin.com/project/ublock 2020-12-08 10:43:02 -05:00
Raymond Hill
5c9b9b6aa3 New revision for dev build 2020-12-08 10:41:05 -05:00
Raymond Hill
9aef41738b Prevent non-stable uiTheme from being used in stable build
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1389

Asking people to respect the warning in the documentation
does not work, consequently the setting will be now disabled
for stable releases.
2020-12-08 10:11:34 -05:00
Raymond Hill
5d7b2918ef Harden processing of changes in compiled list format
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1365

This commit adds the compiled magic version number to the
compiled data itself, and consequently this allows uBO
to no longer require that any given compiled list with a
mismatched format to be detected and discarded at launch
time.

Given this change, uBO no longer needs to rely on the
deletion of cached data at launch time to ensure it
won't use no longer valid compiled lists.
2020-12-08 10:00:47 -05:00
Raymond Hill
780b605bad Fix missing magnifier in document-blocked page
Related feedback:
- e559cb73b9 (commitcomment-44887972)

Regression from:
- e559cb73b9
2020-12-07 14:32:59 -05:00
Raymond Hill
78d7094616 Make Firefox dev build auto-update 2020-12-07 13:50:56 -05:00
Raymond Hill
5d838c2098 Import translation work from https://crowdin.com/project/ublock 2020-12-07 11:28:10 -05:00
Raymond Hill
ba6339ba75 New revision for dev build 2020-12-07 11:16:18 -05:00
Raymond Hill
904aa87e2a Fix various regression in behavior of redirect-rule=
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1388

Fixed the special `none` redirect resource no longer being
enforced.

Fixed the enforcement of `important` redirect rules over
exceptions and non-important ones.
2020-12-07 11:12:41 -05:00
Raymond Hill
5d7a5a559d Fix broken redirect-rule= priority parser
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1388

Regression from:
- cf2c638d8e
2020-12-07 10:49:05 -05:00
Raymond Hill
ff5390f3a0 Make Firefox dev build auto-update 2020-12-06 12:10:51 -05:00
Raymond Hill
a6fc978f70 Import translation work from https://crowdin.com/project/ublock 2020-12-06 11:29:09 -05:00
Raymond Hill
6d9dc3ac0c New revision for dev build 2020-12-06 11:25:59 -05:00
Raymond Hill
e559cb73b9 Complete removal of font-based Fontawesome icons
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/249
2020-12-06 11:24:04 -05:00
Raymond Hill
add3fddc85 Make Firefox dev build auto-update 2020-12-05 15:55:44 -05:00
Raymond Hill
b3433057a5 New revision for dev build 2020-12-05 15:32:05 -05:00
Raymond Hill
7b16c11b87 Import translation work from https://crowdin.com/project/ublock 2020-12-05 15:31:28 -05:00
Raymond Hill
db7f54dbf6 Add support to launch element picker in embedded frames
Related issue:
- https://github.com/gorhill/uBlock/issues/1744

A new context menu entry, "Block element in frame...", will
be present when right-clicking on a frame element. When
this entry is clicked, uBO's element picker will be
launched from within the embedded frame and function the
same way as when launched from within the page.
2020-12-05 15:26:29 -05:00
Raymond Hill
4b921f10e8 Import translation work from https://crowdin.com/project/ublock 2020-12-05 15:21:21 -05:00
Raymond Hill
5b92f93e7c Make Firefox dev build auto-update 2020-12-04 09:31:36 -05:00
Raymond Hill
244e8fb87d New revision for dev build 2020-12-04 07:57:02 -05:00
Raymond Hill
c77f697b4b Reuse duplicate strings stored in tries
This is particularly helpful for static network filters
used with filter options causing the same pattern to be
reused across multiple filter instances, i.e. `all` or
`~css`, etc.
2020-12-04 07:53:01 -05:00
Raymond Hill
e8e4a1ac74 Wait for removal of storage entries to be completed
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1365

When compiled data format changes, do not rely on order
of operations at launch to assume deletion of storage
occurs before attempts to access it. It's unclear this
commit will fix the reported issue, as I could not
reproduce it except when outright commenting out the code
to prevent the storage deletion from occurring.
2020-12-04 06:17:18 -05:00
Raymond Hill
da9d068243 Fix improper typeof test for string type
Regression from:
- b12e0e05ea

This broke the ability to provide a link to the actual
asset on the remote server in the asset viewer.
2020-12-03 11:52:49 -05:00
Raymond Hill
d44988cb46 Make Firefox dev build auto-update 2020-12-03 10:15:34 -05:00
Raymond Hill
48dd54208f New revision for dev build 2020-12-03 08:13:01 -05:00
Raymond Hill
1de8349045 Fix hint helper in element picker's text editor
Regression from:
- 262a1a044f
2020-12-03 07:34:50 -05:00
Raymond Hill
210ec6b1aa Make Firefox dev build auto-update 2020-12-02 16:16:15 -05:00
Raymond Hill
ee87bda326 Fix regression in syntax rendering of redirect values in asset viewer
Related commit:
- 262a1a044f
2020-12-02 13:07:29 -05:00
Raymond Hill
f8b15ed6cc Fix calls to tab.removeCSS()
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1375
2020-12-02 10:46:59 -05:00
Raymond Hill
4d68d7f586 Fix handling of no-longer-existing port condition
The condition has been spotted occurring when bringing
up the DOM inspector for a page on which cosmetic filters
are being applied.

Not clear why this happens, but uBO must be ready to
graciously handle such condition.
2020-12-02 10:07:14 -05:00
Raymond Hill
262a1a044f Improve auto-complete of hostname values in "My filters"
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1134

Related commit:
- daf464b3c3
2020-12-02 09:09:28 -05:00
Raymond Hill
cb7ec8ac1c New revision for dev build 2020-12-02 08:23:51 -05:00
Raymond Hill
26dc7a1490 Minor review of redirect-related code
Notably, I finally settled for implicit priority of
0, but now negative priority values are allowed.
2020-12-02 08:18:55 -05:00
Raymond Hill
a48e986546 Make Firefox dev build auto-update 2020-12-01 13:06:12 -05:00
Raymond Hill
59c0762eb6 New revision for dev build 2020-12-01 09:36:37 -05:00
Raymond Hill
cf2c638d8e Improve reporting of matching redirect= rules in logger
All matching `redirect-rule` directives will now be reported
in the logger, instead of just the effective one.

The highest-ranked redirect directive will be the one
effectively used for redirection. This way filter list
authors can see whether a lower priority redirect is
being overriden by a higher priority one.

The default priority has been changed to 10, so as to allow
more leeway to create lower ranked redirect directives.

Additonally, rendering of redirect directives with explicit
priority has been fixed in the logger, they will no longer
be rendered as unknown redirect tokens.
2020-12-01 09:29:40 -05:00
Raymond Hill
e08f8cb001 Make queryprune an exact alias of removeparam
As per agreed upon discussion, `queryprune` now follows
exactly the syntax of AdGuard's `removeparam`.

Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1356

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

For the short term, `queryprune` will still interpret a
leading `|` to mean "anchor to start of name", until no
such filters are present in uBO's own filter lists.
2020-11-30 12:52:37 -05:00
Raymond Hill
391a5c99c7 Fix the parsing of unsupported static network filter types
Related issue:
- https://github.com/gorhill/uBlock/issues/2283

This is a regression causing the referenced issue to no
longer be fixed. The regression was introduced when the
new static filtering parser code was introduced in version
1.28.0:

https://github.com/gorhill/uBlock/releases/tag/1.28.0
2020-11-30 12:02:36 -05:00
Raymond Hill
d7e8e16fc5 Make Firefox dev build auto-update 2020-11-30 10:51:12 -05:00
Raymond Hill
5f1048490b New revision for dev build 2020-11-30 09:20:44 -05:00
Raymond Hill
5db8d05975 Better align syntax of header= option to that of queryprune=
The header value is no longer implicitly a regex-based literal, but
a plain string against which the header name is compared. The value can
be set to a regex literal by bracing the header value with the usual
forward slashes, `/.../`.

Examples:

    *$1p,strict3p,script,header=via:1.1 google
    *$1p,strict3p,script,header=via:/1\.1\s+google/

The first form will cause a strict comparison with the value of the header
named `via` against the string `1.1 google`.

The second form will cause a regex-based test with the value of the header
named `via` against the regex `/1\.1\s+google/`.

The header value can be prepended with `~` to reverse the comparison:

    *$1p,strict3p,script,header=via:~1.1 google

The header value is optional and may be ommitted to test only for the
presence of a specific header:

    *$1p,strict3p,script,header=via
2020-11-30 09:09:37 -05:00
Raymond Hill
ed64039912 Rename method 2020-11-29 14:03:33 -05:00
Raymond Hill
f9a84c82de Make Firefox dev build auto-update 2020-11-29 12:20:59 -05:00
Raymond Hill
a92efecd2b New revision for dev build 2020-11-29 11:32:40 -05:00
Raymond Hill
40a7c47bfc Properly handle instances of #?# or #$# in picker
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1363#issuecomment-734957406
2020-11-29 11:31:20 -05:00
Raymond Hill
d1895d4749 Another round of fine-tuning queryprune= syntax
Related discussions:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1356#issuecomment-732411286
- https://github.com/AdguardTeam/CoreLibs/issues/1384

Changes:

Negation character is `~` (instead of `!`).

Drop special anchor character `|` -- leading `|`
will be supported until no such filter is present
in uBO's own filter lists. For example, instance
of `queryprune=|ad` will have to be replaced with
`queryprune=/^ad/` (or `queryprune=ad` if the name
of the parameter to remove is exactly `ad`).

Align semantic with that of AdGuard's `removeparam=`,
except that specifying multiple `|`-separated names
is not supported.
2020-11-29 11:02:40 -05:00
Raymond Hill
6261b2ab63 Make Firefox dev build auto-update 2020-11-29 07:55:44 -05:00
Raymond Hill
74730b4e69 New revision for dev build 2020-11-29 07:40:22 -05:00
Raymond Hill
dac8d6becb Fix broken token extraction
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1367

Regression from:
- 6ac09a2856

Need to mind wildcards adjacent to extracted token.
2020-11-29 07:38:15 -05:00
Raymond Hill
da01ea4671 Make Firefox dev build auto-update 2020-11-28 12:26:00 -05:00
Raymond Hill
8d7e7cae69 New revision for dev build 2020-11-28 11:38:37 -05:00
Raymond Hill
eae7cd58fe Add support for match-case option; fine-tune behavior of redirect=
`match-case`
------------

Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/8280#issuecomment-735245452

The new filter option `match-case` can be used only for
regex-based filters. Using `match-case` with any other
sort of filters will cause uBO to discard the filter.

`redirect=`
-----------

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

`redirect=` filters with unresolvable resource token at
runtime will be discarded.

Additionally, the implicit priority is now set to 1
(was 0). The idea is to allow custom `redirect=` filters
to be used strictly as fallback `redirect=` filters in case
another `redirect=` filter is not picked up.

For example, one might create a `redirect=click2load.html:0`
filter, to be taken if and only if the blocked resource is
not already being redirected by another "official" filter
in one of the enabled filter lists.
2020-11-28 11:26:28 -05:00
Raymond Hill
c6d0204b23 Remove requirement for presence of type with redirect= option
Related issue:
- https://github.com/gorhill/uBlock/issues/3590

Since the `redirect=` option was refactored into a modifier
filter, presence of a type (`script`, `xhr`, etc.) is no
longer a requirement.
2020-11-28 08:52:18 -05:00
Raymond Hill
f75040afb8 Make Firefox dev build auto-update 2020-11-28 08:35:39 -05:00
Raymond Hill
5d15382673 Import translation work from https://crowdin.com/project/ublock 2020-11-28 08:32:16 -05:00
Raymond Hill
a8379785fc New revision for dev build 2020-11-28 08:29:40 -05:00
Raymond Hill
ab5ab8575c Avoid re-assigning asset cache registry at launch
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1365
2020-11-28 08:28:20 -05:00
Raymond Hill
c959fd6cd9 Fix comment 2020-11-27 16:01:34 -05:00
Raymond Hill
bf7ce857ee Update URL of HUN filter list
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1364
2020-11-27 11:36:50 -05:00
Raymond Hill
1231474801 Make Firefox dev build auto-update 2020-11-26 13:26:07 -05:00
Raymond Hill
1b5841cdea New revision for dev build 2020-11-26 09:59:48 -05:00
Raymond Hill
6ac09a2856 Add ability to parse removeparam= as queryprune=
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1356

Related commit:
- bde3164eb4

It is not possible to achieve perfect compatiblity at this
point, but reasonable compatibility should be achieved for
a majority of instances of `removeparam=`.

Notable differences:
--------------------

uBO always matches in a case insensitive manner, there is
no need to ask for case-insensitivity, and no need to use
uppercase characters in `queryprune=` values.

uBO does not escape special regex characters since the
`queryprune=` values are always assumed to be literal
regex expression (leaving out the documented special
characters). This means `removeparam=` with characters
which are special regex characters won't be properly
translated and are unlikely to work properly in uBO.

For example, the `queryprune` value of a filter such as
`$removeparam=__xts__[0]` internally become the literal
regex `/__xts__[0]/`, and consequently would not match
a query parameter such as `...?__xts__[0]=...`.

Notes:
------

Additionally, for performance reason, when uBO encounter
a pattern-less `queryprune=` (or `removeparam=`) filter,
it will try to extract a valid pattern from the
`queryprune=` value. For instance, the following filter:

    $queryprune=utm_campaign

Will be translated internally into:

    utm_campaign$queryprune=utm_campaign

The logger will reflect this internal translation.
2020-11-26 09:34:12 -05:00
Raymond Hill
80413dff83 Fix forgotton instances of 1P/3P
Related commit:
- 60d5b85e41

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1362
2020-11-26 05:43:14 -05:00
Raymond Hill
60d5b85e41 Rename 1P/3P tp strict1p/strict3p as suggested
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1362
2020-11-26 05:09:46 -05:00
Raymond Hill
b319dc98f8 Make Firefox dev build auto-update 2020-11-25 13:45:45 -05:00
Raymond Hill
818417f6be New revision for dev build 2020-11-25 10:24:15 -05:00
Raymond Hill
57013c16e6 Fix compilation of blocking counterpart of redirect= filters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1358
2020-11-25 09:36:12 -05:00
Raymond Hill
7d80416938 Make Firefox dev build auto-update 2020-11-23 13:25:23 -05:00
Raymond Hill
801c6a8785 New revision for dev build 2020-11-23 10:27:27 -05:00
Raymond Hill
e45949417b Magic compile/selfie numbers need to increased
Related commit:
- bde3164eb4
2020-11-23 10:26:15 -05:00
Raymond Hill
13ddab5375 Make Firefox dev build auto-update 2020-11-23 09:46:20 -05:00
Raymond Hill
43cb63f80a Fix parsing of queryprune=* in static filtering parser 2020-11-23 08:47:29 -05:00
Raymond Hill
b48f9b8ba4 Import translation work from https://crowdin.com/project/ublock 2020-11-23 08:33:57 -05:00
Raymond Hill
d97d7a8483 New revision for dev build 2020-11-23 08:31:22 -05:00
Raymond Hill
bde3164eb4 Add support for 1P, 3P, header= filter options and other changes
New filter options
==================

Strict partyness: `1P`, `3P`
----------------------------

The current options 1p/3p are meant to "weakly" match partyness, i.e. a
network request is considered 1st-party to its context as long as both the
context and the request share the same base domain.

The new partyness options are meant to check for strict partyness, i.e. a
network request will be considered 1st-party if and only if both the context
and the request share the same hostname.

For examples:

- context: `www.example.org`
- request: `www.example.org`
- `1p`: yes, `1P`: yes
- `3p`: no,  `3P`: no

- context: `www.example.org`
- request: `subdomain.example.org`
- `1p`: yes, `1P`: no
- `3p`: no,  `3P`: yes

- context: `www.example.org`
- request: `www.example.com`
- `1p`: no, `1P`: no
- `3p`: yes,  `3P`: yes

The strict partyness options will be visually emphasized in the editor so as
to prevent mistakenly using `1P` or `3P` where weak partyness is meant to be
used.

Filter on response headers: `header=`
-------------------------------------

Currently experimental and under evaluation. Disabled by default, enable by
toggling `filterOnHeaders` to `true` in advanced settings.

Ability to filter network requests according to whether a specific response
header is present and whether it matches or does not match a specific value.

For example:

    *$1p,3P,script,header=via:1\.1\s+google

The above filter is meant to block network requests which fullfill all the
following conditions:

- is weakly 1st-party to the context
- is not strictly 1st-party to the context
- is of type `script`
- has a response HTTP header named `via`, which value matches the regular
  expression `1\.1\s+google`.

The matches are always performed in a case-insensitive manner.

The header value is assumed to be a literal regular expression, except for
the following special characters:

- to anchor to start of string, use leading `|`, not `^`
- to anchor to end of string, use trailing `|`, not `$`
- to invert the test, use a leading `!`

To block a network request if it merely contains a specific HTTP header is
just a matter of specifying the header name without a header value:

    *$1p,3P,script,header=via

Generic exception filters can be used to disable specific block `header=`
filters, i.e. `@@*$1p,3P,script,header` will override the block `header=`
filters given as example above.

Dynamic filtering's `allow` rules override block `headers=` filters.

Important: It is key that filter authors use as many narrowing filter options
as possible when using the `header=` option, and the `header=` option should
be used ONLY when other filter options are not sufficient.

More documentation justifying the purpose of `header=` option will be
provided eventually if ever it is decided to move it from experimental to
stable status.

To be decided: to restrict usage of this filter option to only uBO's own
filter lists or "My filters".

Changes
=======

Fine tuning `queryprune=`
-------------------------

The following changes have been implemented:

The special value `*` (i.e. `queryprune=*`) means "remove all query
parameters".

If the `queryprune=` value is made only of alphanumeric characters
(including `_`), the value will be internally converted to regex  equivalent
`^value=`. This ensures a better future compatibility with AdGuard's
`removeparam=`.

If the `queryprune=` value starts with `!`, the test will be inverted. This
can be used to remove all query parameters EXCEPT those who match the
specified value.

Other
-----

The legacy code to test for spurious CSP reports has been removed. This
is no longer an issue ever since uBO redirects to local resources through
web accessible resources.

Notes
=====

The following new and recently added filter options are not compatible with
Chromium's manifest v3 changes:

- `queryprune=`
- `1P`
- `3P`
- `header=`
2020-11-23 08:22:43 -05:00
Raymond Hill
50ad64d349 Make Firefox dev build auto-update 2020-11-21 10:35:21 -05:00
Raymond Hill
5e70d6e3c1 New revision for dev build 2020-11-21 10:01:50 -05:00
Raymond Hill
daf464b3c3 Add support to auto-complete values of domain lists
The auto-complete feature in the _"My filters"_ pane will
use hostname/domain from the set of opened tabs to assist
in entering values for `domain=` option. This also works
for the implict `domain=` option ṗrepending static extended
filters.
2020-11-21 09:57:54 -05:00
Raymond Hill
8d3c4916b0 Skip trying to find effective context for about:srcdoc frames
`about:srcdoc` frames are their own origin, trying to
use the origin of the parent context causes an
exception to be thrown when accessing location.href.
2020-11-21 09:51:14 -05:00
Raymond Hill
4b943cf07f Fix scrollbar not receiving mouse event in element picker
Not sure why I set z-index to 0; removed due to mouse
event not reaching the scrollbar.
2020-11-20 11:37:00 -05:00
Raymond Hill
efa8f92d21 Use cogs icon for access to dashboard in popup panel
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1319
2020-11-20 09:00:53 -05:00
Raymond Hill
f903c95607 Make Firefox dev build auto-update 2020-11-20 07:36:06 -05:00
Raymond Hill
13f6bdae37 Improve representation of modifier filters in logger
As per feedback from filter list maintainers.
2020-11-20 07:14:02 -05:00
Raymond Hill
ab98cd46b1 Bring back action/state highlighting in _"My rules"_ 2020-11-20 05:34:56 -05:00
Raymond Hill
941e7e8e96 new revision for dev build 2020-11-19 11:34:32 -05:00
Raymond Hill
b1c55b3de9 Emphasize entity portion of hostnames in _"My rules"_ 2020-11-19 11:33:09 -05:00
Raymond Hill
38cecddcd1 Improve zapper's detection of scroll-locked documents 2020-11-18 14:11:36 -05:00
Raymond Hill
ee2fd45f00 Ensure we do not extract truncated URL for Homepage directive
Related feedback:
- b12e0e05ea (commitcomment-44309540)
2020-11-18 12:14:23 -05:00
Raymond Hill
6b1a9e7aee Make Firefox dev build auto-update 2020-11-18 11:25:56 -05:00
Raymond Hill
b12e0e05ea Extract Homepage URL from a list when present
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1346

Additionally, fixed a case of filter list being compiled
twice at subscription time.
2020-11-18 10:02:22 -05:00
Raymond Hill
d87a3b950f Sort on base domains rather than TLDs in "My rules" pane
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1293
2020-11-18 08:01:00 -05:00
Raymond Hill
a683297931 Fix type assignment in logger page
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1349
2020-11-17 11:18:59 -05:00
Raymond Hill
922b05bbc4 New revision for dev build 2020-11-17 08:27:37 -05:00
Raymond Hill
b6b167671e New revision for stable release 2020-11-17 07:10:41 -05:00
Raymond Hill
717a601a59 Make Firefox dev build auto-update 2020-11-16 11:15:40 -05:00
Raymond Hill
114a92774a Revert "Make Firefox dev build auto-update"
This reverts commit ab332960fe.
2020-11-16 10:30:07 -05:00
Raymond Hill
bf4af8952f New revision for release candidate 2020-11-16 10:16:27 -05:00
Raymond Hill
ab332960fe Make Firefox dev build auto-update 2020-11-16 10:15:51 -05:00
Raymond Hill
aa2d3e94c7 Make Firefox dev build auto-update 2020-11-15 10:35:45 -05:00
Raymond Hill
6068867bad Import translation work from https://crowdin.com/project/ublock 2020-11-15 10:22:05 -05:00
Raymond Hill
a3f5f0d03c New revision for release candidate 2020-11-15 10:20:20 -05:00
Raymond Hill
e360e90d1e Fix invalid support URL in document-blocked page
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1345
2020-11-15 10:19:09 -05:00
Raymond Hill
8362751be5 Allow to scroll for URL in click-to-load
Some URLs can be quite long, so the div containing
the URL needs to be scrollable if needed.
2020-11-14 11:59:06 -05:00
Raymond Hill
73f9a4f3ea Make Firefox dev build auto-update 2020-11-14 08:45:39 -05:00
Raymond Hill
051a859e5c new revision for release candidate 2020-11-14 08:37:03 -05:00
Raymond Hill
46d7f8a70c Fine tune click-to-load widget
Notably, add clickable link to open the widget
in its own tab. Also, allows the URL to be text-
selected so that it becomes possible to use the
selection in a browser contextual menu's "Open
in a new tab" option.
2020-11-14 08:34:47 -05:00
Raymond Hill
54c8a0a6f2 Make Firefox dev build auto-update 2020-11-14 07:55:25 -05:00
Raymond Hill
3895fac2a4 New revision for release candidate 2020-11-14 07:30:05 -05:00
Raymond Hill
5cf9bcf27c Fine tune code of optimizeOriginHitTests()
Related commit:
- b265f2644d
2020-11-14 07:28:51 -05:00
Raymond Hill
4afb3dc149 Allow domain= with entity values into pre-test buckets
Related commit:
- b265f2644d

Filters which have `domain=` option with an entity
value will no longer be prevented from joining
pre-test buckets.
2020-11-14 07:04:21 -05:00
Raymond Hill
56cd238ad4 Disable auto activation of dark theme in next release
Until a fully usable dark theme is available. uBO's
incomplete dark theme can still be forced by setting
advanced setting `uiTheme` to `dark`.
2020-11-13 12:15:29 -05:00
Raymond Hill
eb8433cb19 Enable cloud storage compression by default in next release
Related commit:
- d8b6b31eca
2020-11-13 12:14:06 -05:00
Raymond Hill
f192d99ce5 Make Firefox dev build auto-update 2020-11-13 11:51:00 -05:00
gwarser
e0adc20456 Update link to "Trusted sites" wiki (#3782)
Fixes https://github.com/uBlockOrigin/uBlock-issues/issues/1337
2020-11-13 09:42:14 -05:00
Raymond Hill
a3bbba0fce new revision for release candidate 2020-11-13 09:36:37 -05:00
Raymond Hill
ee930b402e Import translation work from https://crowdin.com/project/ublock 2020-11-13 09:36:09 -05:00
Raymond Hill
2cfeaddbed Fine tune various static filtering code
Notably, make `queryprune` option available only
to filter list authors, until there are guards
against bad filters in some future and until the
option syntax and behavior is fully settled.

Instances of `queryprune` in filter lists will be
compiled, however instances of `queryprune` in
_"My filters"_ will be ignored unless users
indicated they are a filter list author.
2020-11-13 09:23:25 -05:00
Raymond Hill
525d7b1b3b Fine tune port connection code
Related commit:
- a223031b98
2020-11-13 08:32:51 -05:00
Raymond Hill
02b4d149e3 Do not skip querypruning when no-strict-blocking is true
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1341
2020-11-13 08:30:43 -05:00
Raymond Hill
ec9a5b5113 Make Firefox dev build auto-update 2020-11-12 14:36:02 -05:00
Raymond Hill
b40f5bafc6 New revision for dev build 2020-11-12 12:16:36 -05:00
Raymond Hill
a223031b98 Work around Firefox's data: favIconUrl leak
Related issue:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1652925
2020-11-12 12:14:59 -05:00
Raymond Hill
8aa7617372 Make Firefox dev build auto-update 2020-11-11 10:10:58 -05:00
Raymond Hill
280dd8ddd6 Fix picker use of extraneous body in suggested filter
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/jregqx/
2020-11-11 09:39:07 -05:00
Raymond Hill
ab4a9ef528 Added "modified" string 2020-11-11 08:38:20 -05:00
Raymond Hill
552a3b4362 Import translation work from https://crowdin.com/project/ublock 2020-11-11 08:36:20 -05:00
Raymond Hill
afd96f3888 Complete implementation of "modified" logger filter
Related commit:
- 1e2eb037e5
2020-11-11 08:31:28 -05:00
Raymond Hill
53b801cb08 New revision for dev build 2020-11-11 08:17:47 -05:00
Raymond Hill
cfb050f521 Detect bad queryprune values
`queryprune=` values are used as literal regex
value after converting leading/trailing `|` into
`^`/`$`.
2020-11-11 08:15:39 -05:00
Raymond Hill
8cc3779fb3 Last commit changes compiled format 2020-11-11 08:15:27 -05:00
Raymond Hill
0e851c035e Revisit realm & action bits
The important bit is now considered an action bit
so that there is no more a need for the `important`
property in the parser. The modify bit is now
considered a realm bit.

When the modify bit is set, the action bits become
available to be used to further narrow the realm.
This could be useful in the future if we want to
spread the population of modifier filters across
different buckets.
2020-11-11 07:53:46 -05:00
Raymond Hill
2f3d3d78ca Make Firefox dev build auto-update 2020-11-10 13:27:00 -05:00
Raymond Hill
32eca67154 Reuse one instance of domain option iterator
Reusing the same iterator instance for all cases
of `domain=` option parsing should reduce memory
churning.

Additonally, fine tune regex used to extract
valid token from regex-based filters to increase
likelihood of being able to extract a valid
token.
2020-11-10 12:49:46 -05:00
Raymond Hill
8985376b00 Fix timing issue with cached redirection to web accessible resources
Reported internally by @gwarser.

In rare occasion, a timing issue could cause uBO to redirect
to a web accessible resource meant to be used for another
network request. This is a regression introduced with the
following commit:

- 2e5d32e967

Additionally, I identified another issue which would cause
cached redirection to fail when a cache entry with redirection
to a web accessible resource was being reused, an issue which
could especially affect pages which are generated dynamically
(i.e. without full page reload).
2020-11-10 10:43:26 -05:00
Raymond Hill
fd419cf0a3 New revision for dev build 2020-11-10 08:59:34 -05:00
Raymond Hill
76ef4811a3 Fix queryprune for tabless requests
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/760#issuecomment-724693549
2020-11-10 08:58:39 -05:00
Raymond Hill
727aa95af0 Make Firefox dev build auto-update 2020-11-09 09:55:54 -05:00
Raymond Hill
876b9497e9 new revision for dev build 2020-11-09 07:00:04 -05:00
Raymond Hill
0196993828 Use buffer-like approach for filterUnits array
filterUnits is now treated as a buffer which is
pre-allocated and which will grow in chunks so as
to minimize memory allocations. Entries are never
released, just null-ed.

Additionally, move urlTokenizer into the static
network filtering engine, since it's not used
anywhere else.
2020-11-09 06:54:51 -05:00
Raymond Hill
76887c0716 Make Firefox dev build auto-update 2020-11-08 16:36:05 -05:00
Raymond Hill
db4f02199d Convert filterSequences into a const variable
Making filterSequences constant allows to no longer
mind how the array is accessed in loops.
2020-11-08 16:00:24 -05:00
Raymond Hill
b5e937a934 New revision for dev build 2020-11-08 15:03:38 -05:00
Raymond Hill
50da6706a4 Code review of static network filtering engine
- Convert this.categories Map() into an array;

- Fix case of potentially using an invalid UintArray32
  (regression from latest changes)
2020-11-08 13:50:36 -05:00
Raymond Hill
96bfe3c9a7 Convert filterUnits into a const variable
Making filterUnits constant allows to no longer
mind how the array is accessed in loops.
2020-11-08 10:30:47 -05:00
Raymond Hill
dd8cce48a1 Make Firefox dev build auto-update 2020-11-08 09:11:12 -05:00
Raymond Hill
efc449dc31 New revision for dev build 2020-11-08 08:47:27 -05:00
Raymond Hill
13f92756be Make json-prune scriptlet also trap Response.json() calls
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/jns1t4/white_screen_skip_ad_on_youtube/gbg4aq8/
2020-11-08 08:45:33 -05:00
Raymond Hill
87db640653 Make Firefox dev build auto-update 2020-11-07 13:40:59 -05:00
Raymond Hill
849990341c New revision for dev build 2020-11-07 13:29:29 -05:00
Raymond Hill
cb91d167d1 Fine tune static network filtering engine code
Notably, defer the post-load optimization operations
to a few seconds after the filters have been all
loaded in memory -- this is not a critical step for
the filtering engine to work properly, hence this
can be delayed in order to ensure readiness as soon
as possible.
2020-11-07 13:25:01 -05:00
Raymond Hill
efea83a825 Incrementally improve static filtering parser
Most notably, the `denyallow=` option now requires
the presence of a valid `domain=` option to not be
rejected.

Using `denyallow=` without narrowing down using the
`domain=` option leads to catastrophic blocking
behvior, hence the requirement for a valid `domain=`
option.
2020-11-07 13:20:02 -05:00
Raymond Hill
7da92d3ad1 Make Firefox dev build auto-update 2020-11-06 19:05:45 -05:00
Raymond Hill
76a8e1316f New revision for dev build 2020-11-06 18:31:15 -05:00
Raymond Hill
1d679143d2 Enable origin-hit coalescing optimisation for modifier filters
Related commit:
- b265f2644d

The optimization in the commit above was meant to
improve the performance of lookup operations of
modifier filters, but I forgot to enable the
optimisation for that class of filters.

This means this commit brings another significant
performance gain on top of the previous commit, as
shown by the built-in benchmark.

Additionally a few minor code rearrangements.
2020-11-06 18:24:46 -05:00
Raymond Hill
c38d7f5bf9 Make Firefox dev build auto-update 2020-11-06 13:55:39 -05:00
Raymond Hill
007d5a77ef New revision for dev build 2020-11-06 12:26:46 -05:00
Raymond Hill
13d1f9ede5 Drop CSS styles already define in common.css 2020-11-06 12:26:12 -05:00
Raymond Hill
b265f2644d Coallesce origin hit filters into their own bucket
Performance-related work.

There is a fair number of filters which can't be tokenized
in uBO's own filter lists. Majority of those filters also
declare a `domain=` option, examples:

    *$script,redirect-rule=noopjs,domain=...
    *$script,3p,domain=...,denyallow=...
    *$frame,3p,domain=...

Such filters can be found in uBO's asset viewer using the
following search expression:

    /^\*?\$[^\n]*?domain=/

Some filter buckets will contain many of those filters, for
instance one of the bucket holding untokenizable `redirect=`
filters has over 170 entries, which must be all visited when
collating all matching `redirect=` filters.

When a bucket contains many such filters, I found that it's
worth to extract all the non-negated hostname values from
`domain=` options into a single hntrie and perform a pre-test
at match() time to find out whether the current origin of a
network request matches any one of the collected hostnames,
so as to avoid iterating through all the filters.

Since there is rarely a match() for vast majority of network
requests with `domain=` option, this pre-test saves a good
amount of work, and this is measurable with the built-in
benchmark.
2020-11-06 12:04:03 -05:00
Raymond Hill
fe2c4a4914 Use secure.fanboy.co.nz instead of fanboy.co.nz
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/8166
2020-11-06 06:22:34 -05:00
Raymond Hill
d037d9dced Update Fanboy URLs
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/8166
2020-11-06 06:17:37 -05:00
Raymond Hill
1ef1e02b86 Fine tune CodeMirror search highlight rendering 2020-11-05 06:04:37 -05:00
Raymond Hill
7a48c9f187 Make Firefox dev build auto-update 2020-11-04 08:25:42 -05:00
Raymond Hill
c5db4c56f3 New revision for dev build 2020-11-04 07:52:06 -05:00
Raymond Hill
19331f1ab5 Fine tune latest changes for performance
Related commits:
- 157cef6034
- 1e2eb037e5
2020-11-04 07:50:51 -05:00
Raymond Hill
04b02f8044 Make Firefox dev build auto-update 2020-11-03 10:35:59 -05:00
Raymond Hill
881c066849 New revision for dev build 2020-11-03 09:31:27 -05:00
Raymond Hill
157cef6034 Re-classify redirect= option as a modifier option
This commit moves the parsing, compiling and enforcement
of the `redirect=` and `redirect-rule=` network filter
options into the static network filtering engine as
modifier options -- just like `csp=` and `queryprune=`.

This solves the two following issues:

- https://github.com/gorhill/uBlock/issues/3590
- https://github.com/uBlockOrigin/uBlock-issues/issues/1008#issuecomment-716164214

Additionally, `redirect=` option is not longer afflicted
by static network filtering syntax quirks, `redirect=`
filters can be used with any other static filtering
modifier options, can be excepted using `@@` and can be
badfilter-ed.

Since more than one `redirect=` directives could be found
to apply to a single network request, the concept of
redirect priority is introduced.

By default, `redirect=` directives have an implicit
priority of 0. Filter authors can declare an explicit
priority by appending `:[integer]` to the token of the
`redirect=` option, for example:

    ||example.com/*.js$1p,script,redirect=noopjs:100

The priority dictates which redirect token out of many
will be ultimately used. Cases of multiple `redirect=`
directives applying to a single blocked network request
are expected to be rather unlikely.

Explicit redirect priority should be used if and only if
there is a case of redirect ambiguity to solve.
2020-11-03 09:15:26 -05:00
Raymond Hill
1b44bf276a Make Firefox dev build auto-update 2020-11-02 08:20:41 -05:00
Raymond Hill
04b064cd38 New revision for dev build 2020-11-02 07:43:17 -05:00
Raymond Hill
9c43a48445 URLSearchParams() can't be iterated as a Map()
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/760#issuecomment-720434320
2020-11-02 07:41:21 -05:00
Raymond Hill
c05e78b886 Make Firefox dev build auto-update 2020-11-02 05:26:11 -05:00
Raymond Hill
d536c7ab11 Use const when value does not change 2020-11-02 04:57:42 -05:00
Raymond Hill
c7bed84ab8 New revision for dev build 2020-11-02 04:55:59 -05:00
Raymond Hill
5468b92643 Built-in redirect token none must be seen as valid
Related feedback:
- 1727585faa (commitcomment-43787843)
2020-11-02 04:52:47 -05:00
Raymond Hill
f76471f56b Fix bad pruning logic
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/760#issuecomment-720140135
2020-11-02 04:51:40 -05:00
Raymond Hill
76ea126c12 Make Firefox dev build auto-update 2020-11-01 06:35:29 -05:00
Raymond Hill
c9f8878921 New revision for dev build 2020-11-01 06:28:19 -05:00
Raymond Hill
c75b27c052 Fix top document partyness
Reported internally.

Regression from:
- 1e2eb037e5

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/760
2020-11-01 06:25:26 -05:00
Raymond Hill
ba57cdd096 Make Firefox dev build auto-update 2020-10-31 14:00:44 -04:00
Raymond Hill
d6c6071fc4 New revision for dev build 2020-10-31 13:48:44 -04:00
Raymond Hill
64dc5f7807 Fix wrongly reported network filter options in logger
Regression from:
- 1e2eb037e5

Related feedback:
- 1e2eb037e5 (commitcomment-43759481)
2020-10-31 13:47:35 -04:00
Raymond Hill
aae08d519f Make Firefox dev build auto-update 2020-10-31 11:30:30 -04:00
Raymond Hill
55b893e943 New revision for dev build 2020-10-31 11:09:00 -04:00
Raymond Hill
1e2eb037e5 Add new filter option queryprune=
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/760

The purpose of this new network filter option is to remove
query parameters form the URL of network requests.

The name `queryprune` has been picked over `querystrip`
since the purpose of the option is to remove some
parameters from the URL rather than all parameters.

`queryprune` is a modifier option (like `csp`) in that it
does not cause a network request to be blocked but rather
modified before being emitted.

`queryprune` must be assigned a value, which value will
determine which parameters from a query string will be
removed. The syntax for the value is that of regular
expression *except* for the following rules:

- do not wrap the regex directive between `/`
- do not use regex special values `^` and `$`
- do not use literal comma character in the value,
  though you can use hex-encoded version, `\x2c`
- to match the start of a query parameter, prepend `|`
- to match the end of a query parameter, append `|`

`queryprune` regex-like values will be tested against each
key-value parameter pair as `[key]=[value]` string. This
way you can prune according to either the key, the value,
or both.

This commit introduces the concept of modifier filter
options, which as of now are:

- `csp=`
- `queryprune=`

They both work in similar way when used with `important`
option or when used in exception filters. Modifier
options can apply to any network requests, hence the
logger reports the type of the network requests, and no
longer use the modifier as the type, i.e. `csp` filters
are no longer reported as requests of type `csp`.

Though modifier options can apply to any network requests,
for the time being the `csp=` modifier option still apply
only to top or embedded (frame) documents, just as before.
In some future we may want to apply `csp=` directives to
network requests of type script, to control the behavior
of service workers for example.

A new built-in filter expression has been added to the
logger: "modified", which allow to see all the network
requests which were modified before being emitted. The
translation work for this new option will be available
in a future commit.
2020-10-31 10:42:53 -04:00
Raymond Hill
ba2ef925e9 Fix incorrect reset value
This could cause spurious error messages in dev console of
content page.
2020-10-31 10:18:42 -04:00
Raymond Hill
eb7d60441b Make Firefox dev build auto-update 2020-10-29 08:25:18 -04:00
Raymond Hill
a8ddccb303 New revision for dev build 2020-10-29 06:56:41 -04:00
Raymond Hill
f406105238 New revision for dev build 2020-10-29 06:03:25 -04:00
Raymond Hill
2b88c8b545 Fix incorrect count in built-in benchmark 2020-10-29 06:01:04 -04:00
Raymond Hill
f5459d4546 Make Firefox dev build auto-update 2020-10-28 06:10:28 -04:00
Raymond Hill
ee3956f14b Import translation work from https://crowdin.com/project/ublock 2020-10-27 13:10:54 -04:00
Raymond Hill
4e5550f0c6 New revision for dev build 2020-10-27 13:08:27 -04:00
Raymond Hill
a1aa9bd54f Disable button until benchmark session is completed 2020-10-27 13:07:05 -04:00
Raymond Hill
4059a92838 Fine tune built-in benchmark
Additionally, add a button in the About pane
to launch benchmark sessions. The button will
be available only when advanced setting
`benchmarkDatasetURL` is set and pointing to
a valid dataset.
2020-10-27 12:59:31 -04:00
Raymond Hill
e5b932335c Make Firefox dev build auto-update 2020-10-25 13:25:32 -04:00
Raymond Hill
47c9ea039d New revision for dev build 2020-10-25 13:09:04 -04:00
Raymond Hill
0bbf5b52ab Improve token extraction from regex-based filters 2020-10-25 13:06:26 -04:00
Raymond Hill
ed2ad57dca Ensure no-large-element styling is removed 2020-10-25 08:05:26 -04:00
Raymond Hill
f122e0b34b Make Firefox dev build auto-update 2020-10-24 08:36:12 -04:00
Raymond Hill
7bed85fb6c Import translation work from https://crowdin.com/project/ublock 2020-10-24 08:29:45 -04:00
Raymond Hill
516696a60c Increase search style priority in CodeMirror editors 2020-10-24 08:26:38 -04:00
Raymond Hill
470a3bd55f New revision for dev build 2020-10-23 07:32:28 -04:00
Raymond Hill
a1a008098c More fine tuning of no-large-media-elements content script
Related issue:
- https://github.com/gorhill/uBlock/issues/1390
2020-10-23 07:29:14 -04:00
Raymond Hill
2b5a853d8c Fix regex to validate URL of imported lists
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1306
2020-10-23 06:25:08 -04:00
Raymond Hill
61ac9a5b6e Make Firefox dev build auto-update 2020-10-22 09:51:11 -04:00
Raymond Hill
37b195f61d Remove all event handlers from no-large-media-elements content scripts
Related issue:
- https://github.com/gorhill/uBlock/issues/1390
2020-10-22 09:01:59 -04:00
Raymond Hill
902fd51522 New revision for dev build 2020-10-22 08:48:44 -04:00
Raymond Hill
0628d2ec9f Improve interactivity of no-large-media-elements content scripts
Related issue:
- https://github.com/gorhill/uBlock/issues/1390#issuecomment-713174183
2020-10-22 08:44:55 -04:00
Raymond Hill
4d17458baf Make Firefox dev build auto-update 2020-10-21 15:36:13 -04:00
Raymond Hill
ad3ff7201c Import translation work from https://crowdin.com/project/ublock 2020-10-21 12:55:02 -04:00
Raymond Hill
38a88c828e New revision for dev build 2020-10-21 12:52:26 -04:00
Raymond Hill
b75758808e Ensure the bottom of dashboard panes is visible
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1304

On small displays, not being able to scroll down
could become a usability issue.
2020-10-21 12:50:24 -04:00
Raymond Hill
a33b44b0ff Make Firefox dev build auto-update 2020-10-20 06:05:22 -04:00
Raymond Hill
8fa9587944 new revision for dev build 2020-10-20 05:57:52 -04:00
Raymond Hill
ee059540f7 Cache element picker's optimized candidates for reuse
Optimized candidates computed for each depth are now
cached for reuse. This reduces the amount of work
done when moving the depth slider.
2020-10-20 05:37:07 -04:00
Raymond Hill
5de0ce9757 Improve fix for set-constant conflict
Related commit:
- 2546f39568
2020-10-20 05:23:10 -04:00
Raymond Hill
2546f39568 Avoid trapping already trapped properties
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/156#issuecomment-712249945

When the client code assigned a variable to itself, this
would cause the scriptlet to try to re-trap already
trapped properties.
2020-10-19 12:01:55 -04:00
Raymond Hill
62fd5da323 Make Firefox dev build auto-update 2020-10-19 09:45:37 -04:00
Raymond Hill
01b3981fd0 New revision for dev build 2020-10-19 09:08:21 -04:00
Raymond Hill
c21147414f Import translation work from https://crowdin.com/project/ublock 2020-10-19 09:07:44 -04:00
Raymond Hill
3ef41e1d78 Exclude cached resources from large-media-element blocking
Related feedback:
- https://github.com/gorhill/uBlock/issues/1390#issuecomment-187310719
2020-10-19 08:01:03 -04:00
Raymond Hill
e47f3c48aa Minor fine tuning of CSS 2020-10-19 08:00:38 -04:00
Raymond Hill
9931576022 Make Firefox dev build auto-update 2020-10-18 11:15:38 -04:00
Raymond Hill
cd29ebc7c0 New revision for dev build 2020-10-18 11:08:37 -04:00
Raymond Hill
927d55134d Remove discarding of assumed unoptimal selectors
This was a bad idea.

Related commit:
- 4c5197322f
2020-10-18 11:06:40 -04:00
Raymond Hill
81de306666 Make Firefox dev build auto-update 2020-10-18 10:25:51 -04:00
Raymond Hill
c71dab2ce4 New revision for dev build 2020-10-18 10:18:03 -04:00
Raymond Hill
53dd339d78 Improve interactivity for blocked large media elements
Related issues:
- https://github.com/gorhill/uBlock/issues/1390
- https://github.com/gorhill/uBlock/issues/2334

The deadline to interactively load a specific media
element has been extended from 2sec to 5sec.

Clicking over a blocked large media element will cause
uBO to lookup and handle all potentially blocked large
elements at the cursor position. This should take care
of being able to unblock media elements hidden under
other DOM object.

The CSS style applied to blocked large media elements
has been fine tuned to improve interactivity.

uBO will now remember the specific media elements which
were unblocked and keep them exempted from being
further blocked. This would be an issue when unblocking
a video and then a bit later seeking to another point
in the video, in which case uBO would again block
network requests for that video.
2020-10-18 10:07:46 -04:00
Raymond Hill
9947fcf4d5 Improve layout of popup panel when rendered in a tab
This brings back the ability to screenshot the whole
list of domains when the popup panel is opened in a
tab.
2020-10-18 10:00:55 -04:00
Raymond Hill
3bce80a7b6 Update link to uBO on Crowdin
The site changed it's main domain from crowdin.net
to crowdin.com.
2020-10-18 09:58:44 -04:00
Raymond Hill
d83af0d0e8 Make Firefox dev build auto-update 2020-10-17 12:25:44 -04:00
Raymond Hill
cd5e1b93c7 New revision for dev build 2020-10-17 12:07:56 -04:00
Raymond Hill
6a10319f21 Fix broken advanced property uiStyles
Related commit:
- e3a6d8465f
2020-10-17 12:05:03 -04:00
Raymond Hill
32b08dc732 Mind whitespaces when double-clicking to select filter option value 2020-10-16 17:13:55 -04:00
Raymond Hill
4c5197322f Improve specificity slider in element picker
The specificity slider will now be more intuitive
by ordering candidates by match count from highest
match count to the left to the lowest match count
to the right.

Candidates with same match counts will be discarded
and replaced with the shortest candidate.
2020-10-16 17:12:22 -04:00
Raymond Hill
97bff47131 Make Firefox dev build auto-update 2020-10-16 10:30:51 -04:00
Raymond Hill
0cc0792ed7 New revision for dev build 2020-10-16 10:24:58 -04:00
Raymond Hill
a9ef863487 Import translation work from https://crowdin.com/project/ublock 2020-10-16 10:24:04 -04:00
Raymond Hill
38e1bbbe68 Better word selection for static network filters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1134

Double-clicking on...

... a filter option will cause the option to be
wholly selected, including `=[value]` if present;

... a value assigned to a filter option will cause
the value to be wholly selected, except when the
value is a hostname/entity, in which case all the
labels from the cursor position to the right-most
label will be selected.
2020-10-16 10:06:00 -04:00
Raymond Hill
3059db77c4 Use proxy detection code path only on Firefox 79 and less
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/911

This was fixed in Firefox 80:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1618271
2020-10-14 13:37:09 -04:00
Raymond Hill
c227b8bd0c Make Firefox dev build auto-update 2020-10-14 11:45:53 -04:00
Raymond Hill
72cb4fcf7a New revision for dev build 2020-10-14 11:13:52 -04:00
Raymond Hill
319d195444 Import translation work from https://crowdin.com/project/ublock 2020-10-14 10:52:32 -04:00
Raymond Hill
a095b83250 Use a CodeMirror editor instance in element picker
This allows to bring in all the benefits of
syntax highlighting and enhanced editing
features in the element picker, like auto-
completion, etc.

This is also a necessary step to possibly solve
the following issue:

- https://github.com/gorhill/uBlock/issues/2035

Additionally, incrementally improved the behavior
of uBO's custom CodeMirror static filtering syntax
mode when double-clicking somewhere in a static
extended filter:

- on a class/id string will cause the whole
  class/id string to be   selected, including the
  prepending `.`/`#`.

- somewhere in a hostname/entity will cause all
  the labels from the cursor position to the
  right-most label to be selected (subject to
  change/fine-tune as per feedback of filter
  list maintainers).

Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1134#issuecomment-679421316
2020-10-14 10:21:30 -04:00
Raymond Hill
9994033629 On second thought, keep what has been working
Related commit:
- 30c38de9bc
2020-10-13 19:02:37 -04:00
Raymond Hill
30c38de9bc Fix local Google Analytics replacement script
Related issue:
- https://github.com/uBlockOrigin/uAssets/pull/4115
2020-10-13 18:53:11 -04:00
Raymond Hill
62c985fe4c Make Firefox dev build auto-update 2020-10-13 08:35:22 -04:00
Raymond Hill
415a3fa572 Ne wrevision for dev build 2020-10-13 08:26:09 -04:00
Raymond Hill
734456feca Use i18n for click-to-load placeholder 2020-10-13 08:23:56 -04:00
Raymond Hill
0082ac5069 Import translation work from https://crowdin.com/project/ublock 2020-10-13 08:20:56 -04:00
Raymond Hill
a211f5ef50 New revision for dev build 2020-10-13 07:30:24 -04:00
Raymond Hill
3da97673d9 Remove more remnants of obsolete pseudo user styles code
Related commit:
- 5c68867b92
2020-10-13 07:19:06 -04:00
Raymond Hill
a42c49d855 Make Firefox dev build auto-update 2020-10-12 12:21:02 -04:00
Raymond Hill
5c18133369 New revision for dev build 2020-10-12 11:02:23 -04:00
Raymond Hill
a08f33e09d Prevent only target (leaf) property from being overtaken
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/156#issuecomment-707095193

Related commit:
- 6e010ecc0f
2020-10-12 11:00:30 -04:00
Raymond Hill
b38f7b9899 Make Firefox dev build auto-update 2020-10-12 10:50:41 -04:00
Raymond Hill
8a50bfcedf New revision for dev build 2020-10-12 10:43:17 -04:00
Raymond Hill
6c7fb059e1 Import translation work from https://crowdin.com/project/ublock 2020-10-12 10:42:10 -04:00
Raymond Hill
6e010ecc0f Prevent set-constant properties from being overtaken
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/156#issuecomment-707095193

Additionally, while investigating the issue I removed
code which is no longer needed since content scripts
are now injected in `about:blank` frames since 1.29.0.
2020-10-12 10:08:51 -04:00
Raymond Hill
422e3f676f Make Firefox dev build auto-update 2020-10-11 09:16:14 -04:00
Raymond Hill
80effe6054 New revision for dev build 2020-10-11 09:07:19 -04:00
Raymond Hill
1727585faa Hightlight to warn about unknown redirect tokens
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1134
2020-10-11 08:59:44 -04:00
Raymond Hill
6ff72af4aa Only URLs in comments can be selected through double-click 2020-10-11 07:45:58 -04:00
Raymond Hill
376ef4645f Fine tune click-to-load visual 2020-10-11 07:45:16 -04:00
Raymond Hill
03596439ca Remove obsolete code to import content of localStorage
Months ago, usage of synchronous localStorage was replaced
with asynchronous extension storage. There was code for the
conversion to be seamless by importing the content of now
obsolete localStorage.

This code is no longer needed as majority of users are
assumed to use versions of uBO above 1.25.0.

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/899
2020-10-10 14:18:19 -04:00
Raymond Hill
7b2a64db2b Make Firefox dev build auto-update 2020-10-10 08:45:28 -04:00
Raymond Hill
9144fe9cbb New revision for dev build 2020-10-10 08:40:20 -04:00
Raymond Hill
2e5d32e967 Fine tune code related to click-to-load feature
The redirectable resource has been renamed
`click2load.html`, so as to avoid uses of dash
characters and to also allow for future different
click-to-load resources.
2020-10-10 08:36:30 -04:00
Raymond Hill
c54fb03414 Make Firefox dev build auto-update 2020-10-09 14:10:33 -04:00
Raymond Hill
f3012341e0 New revision for dev build 2020-10-09 14:04:19 -04:00
Raymond Hill
5916920985 Add support for click-to-load of embedded frames
Additionally, as a requirement to support click-to-load
feature, redirected resources will from now on no
longer be collapsed.

Related issues:
- https://github.com/gorhill/uBlock/issues/2688
- https://github.com/gorhill/uBlock/issues/3619
- https://github.com/gorhill/uBlock/issues/1899

This new feature should considered in its draft
stage and it needs to be fine-tuned as per
feedback.

Important: Only embedded frames can be converted
into click-to-load widgets, as only these can be
properly shieded from access by page content.

Examples of usage:

    ||youtube.com/embed/$3p,frame,redirect=clicktoload
    ||scribd.com/embeds/$3p,frame,redirect=clicktoload
    ||player.vimeo.com/video/$3p,frame,redirect=clicktoload
2020-10-09 13:50:54 -04:00
Raymond Hill
ba0b62ec97 Update to more accurate explanation 2020-10-08 10:15:33 -04:00
Raymond Hill
2d1d7e193e Make Firefox dev build auto-update 2020-10-08 09:55:44 -04:00
Raymond Hill
e1bf3c84c2 New revision for dev build 2020-10-08 09:52:14 -04:00
Raymond Hill
c3f267db8f Improve bad filter detection in element picker
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1280
2020-10-08 09:49:35 -04:00
Raymond Hill
11b9f88b38 Update urlhaus-filter URL
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1285
2020-10-08 07:25:15 -04:00
Raymond Hill
4f00c08f6b Fix detection of already present comment
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1281

Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1281#issuecomment-705081202
2020-10-07 14:23:57 -04:00
Raymond Hill
d84bfd3f35 Make Firefox dev build auto-update 2020-10-07 12:15:52 -04:00
Raymond Hill
5a956d4d5d New revision for dev build 2020-10-07 11:55:08 -04:00
Raymond Hill
a2ff2097ce New revision for dev build 2020-10-07 11:54:40 -04:00
Raymond Hill
46ec969411 Add ability to use full URL in auto-generated comment
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1281

New supported placeholder: `{{url}}`, which will be
replaced by the full URL of the page for which a filter
is created.
2020-10-07 11:52:38 -04:00
Raymond Hill
bfe5e2daa1 Limit width of picker dialog in large viewport 2020-10-07 11:04:16 -04:00
Raymond Hill
df604b414b Make Firefox dev build auto-update 2020-10-06 21:11:00 -04:00
Raymond Hill
80ca6dad85 New revision for dev build 2020-10-06 21:03:57 -04:00
Raymond Hill
04b11b4311 Fix restore backup feature
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1282
2020-10-06 21:02:51 -04:00
Raymond Hill
e2e51c4df6 Make Firefox dev build auto-update 2020-10-06 17:36:08 -04:00
Raymond Hill
956544661b New revision for dev build 2020-10-06 17:30:03 -04:00
Raymond Hill
778338fce8 Fix picker generating overly long candidate cosmetic filters
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/j5tx8x/understand_the_element_blocker_and_feedback/g7wf2q9/

Regression from:
- https://github.com/gorhill/uBlock/commit/9eb455ab5eb2
2020-10-06 17:26:28 -04:00
Raymond Hill
57048d57b2 Reject improper use of procedural operator in selector list
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/382#issuecomment-703725346
2020-10-06 12:39:05 -04:00
Raymond Hill
42c0f66c6e Make Firefox dev build auto-update 2020-10-05 14:35:29 -04:00
Raymond Hill
3e788a03d8 New revision for dev build 2020-10-05 14:22:29 -04:00
Raymond Hill
aff75b3527 Fix typo breaking the collapsing of placeholders
Related issue:
- https://github.com/gorhill/uBlock/issues/2848
2020-10-05 14:20:43 -04:00
Raymond Hill
fc0b5e4ef1 Link to the "My filters" wiki page
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1279#issuecomment-703700929
2020-10-05 11:38:30 -04:00
Raymond Hill
4521832148 Make Firefox dev build auto-update 2020-10-05 09:30:23 -04:00
Raymond Hill
a2f194f67a New revision for dev build 2020-10-05 09:14:28 -04:00
Raymond Hill
d97c46ffd3 Use a user stylesheet to implement the collapsing of placeholders
Related issue:
- https://github.com/gorhill/uBlock/issues/2848
2020-10-05 09:13:07 -04:00
Raymond Hill
f4aebc9390 Backup/restore only modified advanced settings
This reduces the size of the backup file and also
ensures that default values can be changed.
2020-10-03 12:34:21 -04:00
Raymond Hill
01de814483 Make Firefox dev build auto-update 2020-10-03 08:00:48 -04:00
Raymond Hill
1ff622e8be New revision for dev build 2020-10-03 07:20:11 -04:00
Raymond Hill
e3a6d8465f Add advanced setting to force a light/dark theme
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/401#issuecomment-703075797

Name: `uiTheme`
Default: `unset`
Values:
- `unset`: uBO will pick the theme according to
  browser's `prefers-color-scheme`
- `light`: force light scheme
- `dark`: force dark theme

This advanced setting is not to be documented yet as
it has not been decided this is a long term solution.
2020-10-03 07:13:40 -04:00
Raymond Hill
b179dc0268 Add more CSS variables for theming
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/401
2020-10-03 06:00:48 -04:00
Raymond Hill
0b37a02e00 Make Firefox dev build auto-update 2020-10-02 12:46:05 -04:00
Raymond Hill
5aca419603 Merge branch 'master' of github.com:gorhill/uBlock 2020-10-02 12:21:31 -04:00
pixeltris
75c58ec7af Update for twitch.tv #5184 (#3781) 2020-10-02 12:20:30 -04:00
Raymond Hill
002d1ece0d New revision for dev build 2020-10-02 12:19:37 -04:00
Raymond Hill
266a170beb Add more CSS variables in preparation of dark mode support
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/401
2020-10-02 12:18:13 -04:00
Raymond Hill
db0d200fcb Allow call to removeCSS in Chromium
Related discussion:
- https://github.com/gorhill/uBlock/issues/3588#issuecomment-702218677
2020-10-02 12:16:47 -04:00
Raymond Hill
bafbb7d62c Remove reference to resources.txt 2020-10-02 10:42:38 -04:00
Raymond Hill
e210eae4aa Make Firefox dev build auto-update 2020-10-01 12:20:39 -04:00
Raymond Hill
dc675de50d New revision for dev build 2020-10-01 10:12:31 -04:00
Raymond Hill
303240c713 Minor changes to dark theme
A whole lot more work needed across all of uBO's user
interface.
2020-10-01 10:09:59 -04:00
jeremyperkin
fba5f3d597 Update default.css
- Added values for dark mode
- Using the photon colors and reviewing material design - Put this together.
- Correct fieldset-header-ink
- Removed color variables already listed.
- Removal of !important and revert to some already approved colours.

Signed-off-by: Raymond Hill <rhill@raymondhill.net>
2020-09-30 12:34:52 -04:00
Raymond Hill
46aab2dcc2 Make Firefox dev build auto-update 2020-09-30 10:31:22 -04:00
Raymond Hill
68ac096b39 Import translation work from https://crowdin.com/project/ublock 2020-09-30 10:23:08 -04:00
Raymond Hill
b2f5f9b85a New revision for dev build 2020-09-30 10:06:25 -04:00
Raymond Hill
fef375a594 Minor improvements to syntax highlight of static filters
Double-cliking on a URL will cause the whole URL to be
selected, thus making it easier to navigate to this
URL (through your browser "Open in new tab" entry in
contextual menu).

Unrecognized scriptlet names will be highlighted so as
to warn that the filter is not going to be effective.
2020-09-30 10:01:10 -04:00
Raymond Hill
3693755e94 Add fall back URL for manual update of urlhaus-filter
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/j1ehm5/
2020-09-28 16:31:44 -04:00
Raymond Hill
dbec71fa09 new revision for stable release 2020-09-26 09:16:07 -04:00
Raymond Hill
846f606d92 Make Firefox dev build auto-update 2020-09-24 12:01:04 -04:00
Raymond Hill
3edec25be0 Import translation work from https://crowdin.com/project/ublock 2020-09-24 10:57:51 -04:00
Raymond Hill
8853d73879 New revision for release candidate 2020-09-24 10:56:16 -04:00
Raymond Hill
15e0778750 Prevent spurious instantiation of procedural filterer
Injecting declarative CSS `:style()` selector could cause
the instatiation of the procedural filterer, even when
there was no actual procedural cosmetic filter to
enforce.

This commit ensure that the procedural cosmetic filterer
is instantiated only when there are actual procedural
filters to enforce.
2020-09-24 10:53:18 -04:00
Raymond Hill
5df51d63d1 Do not syntax-highlight ... in "My rules" pane 2020-09-23 11:14:09 -04:00
Raymond Hill
872fbfc11a Make Firefox dev build auto-update 2020-09-23 09:46:08 -04:00
Raymond Hill
237b0aaf5b new revision for dev build 2020-09-23 09:41:41 -04:00
Raymond Hill
793e2c7896 Further fine tune new aost scriptlet 2020-09-23 09:41:00 -04:00
Raymond Hill
da1547f33f Make Firefox dev build auto-update 2020-09-23 07:21:04 -04:00
Raymond Hill
d2b00ddaa8 New revision for dev build 2020-09-23 06:58:19 -04:00
Raymond Hill
365b3f7f83 Changes to abort-on-stack-trace as per road testing
Related commit:
- https://github.com/gorhill/uBlock/commit/b735ac6b6aba
2020-09-23 06:54:44 -04:00
Raymond Hill
2caf9a193e Make Firefox dev build auto-update 2020-09-22 11:25:44 -04:00
Raymond Hill
6b917a5124 new revision for dev build 2020-09-22 11:19:27 -04:00
Raymond Hill
1e91fb8733 Fine tune regex used to detect inline script contexts
Related commit:
- b735ac6b6a
2020-09-22 11:18:12 -04:00
Raymond Hill
2533735c49 Make Firefox dev build auto-update 2020-09-22 10:15:20 -04:00
Raymond Hill
42193838a8 Import translation work from https://crowdin.com/project/ublock 2020-09-22 10:09:35 -04:00
Raymond Hill
24500e389b New revision for dev build 2020-09-22 10:07:35 -04:00
Raymond Hill
b735ac6b6a Add abort-on-stack-trace scriptlet
This new scriplet has become necessary as a
countermeasure to new bypass mechanisms by
some websites, as discussed with filter list
maintainers.

Also related discussion:
https://github.com/AdguardTeam/Scriptlets/issues/82

Scriptlet: abort-on-stack-trace

Alias: aost

Argument 1:
  The property to trap in order to launch the
  stack trace matching code, ex. Math.random

Argument 2:
  The string (needle) to match against the stack
  trace. If the empty string, always match. There
  is a special string which can be used to match
  inline script context, <inline-script>.

Argument 3:
Whether to log, and if so how:
  Empty string: do not log
  1: log stack trace for all access to trapped
     property
  2: log stack trace for defused access to trapped
     property
  3: log stack trace for non-defused access to
     trapped property
2020-09-22 09:59:04 -04:00
Raymond Hill
45bd8f5bf4 Make Firefox dev build auto-update 2020-09-21 07:40:27 -04:00
Raymond Hill
3a97494d98 New revision for release candidate 2020-09-21 07:27:36 -04:00
Raymond Hill
99f605d28a Minor code review of subscriber scriptlet 2020-09-21 07:25:24 -04:00
Raymond Hill
1cdffea618 Allow customization of some popup panel CSS properties
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1254

The advanced setting `uiStyles`[1] can be used to control
the minimum width of both the main and firewall panes
in the popup panel:

- `--popup-main-min-width`, default to `18em`
- `--popup-firewall-min-width`, default to `30em`

* * *

[1] https://github.com/gorhill/uBlock/wiki/Advanced-settings#uistyles
2020-09-21 07:18:11 -04:00
Raymond Hill
3c5f6ca101 Make Firefox dev build auto-update 2020-09-20 09:40:59 -04:00
Raymond Hill
b3b2fc3b42 Remove unused property 2020-09-20 09:29:17 -04:00
Raymond Hill
761850d21b Add clarification regarding validity of IP addresses 2020-09-20 09:26:29 -04:00
Raymond Hill
7464294b83 Import translation work from https://crowdin.com/project/ublock 2020-09-20 09:25:24 -04:00
Raymond Hill
bcbea83f84 New revision for release candidate 2020-09-20 09:00:28 -04:00
Raymond Hill
6b15e8c423 Fix highlighting of good/bad hostnames in "My rules" pane
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1249#issuecomment-695755743
2020-09-20 08:58:04 -04:00
Raymond Hill
5f8c63e96e Make Firefox dev build auto-update 2020-09-19 10:10:23 -04:00
Raymond Hill
7067ee904d Import translation work from https://crowdin.com/project/ublock 2020-09-19 10:05:12 -04:00
Raymond Hill
20b7ed068f New revision for release candidate 2020-09-19 10:02:40 -04:00
Raymond Hill
c181ab2911 Fix ability to set temporary cosmetic filter exceptions
Regression from:
- 35aefed926
2020-09-19 10:00:21 -04:00
Raymond Hill
07933b033d Make Firefox dev build auto-update 2020-09-18 10:41:15 -04:00
Raymond Hill
df42011345 Import translation work from https://crowdin.com/project/ublock 2020-09-18 10:30:55 -04:00
Raymond Hill
8b7049f256 New revision for release candidate 2020-09-18 10:26:43 -04:00
Raymond Hill
3f299ef623 Improve validation of hostname in domain= and denyallow options
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1249

For "exotic" hostname values, the browser's own API will be
used to ultimately validate hostname values.
2020-09-18 10:23:02 -04:00
Raymond Hill
7e906b33c5 Add more tests for domain= and denyallow= options 2020-09-18 09:18:32 -04:00
Raymond Hill
8d5086cfd5 Make Firefox dev build auto-update 2020-09-16 11:00:52 -04:00
Raymond Hill
e6201309d6 New revision for release candidate 2020-09-16 07:03:18 -04:00
Raymond Hill
7ed543db0d Fine tune visual of slider widgets in element picker
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/851
2020-09-16 07:01:16 -04:00
Raymond Hill
ec6ab74356 Import translation work from https://crowdin.com/project/ublock 2020-09-16 07:00:47 -04:00
Raymond Hill
ad7b1ae95d Make Firefox dev build auto-update 2020-09-14 15:56:14 -04:00
Raymond Hill
06ddc945cd Add fanboy.co.nz as valid location for subscription links 2020-09-14 15:46:24 -04:00
Raymond Hill
1b48dcba3a New revision for release candidate 2020-09-14 15:38:51 -04:00
Raymond Hill
bd949ca295 Add forums.lanik.us as a valid location for subscription links
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1246
2020-09-14 15:37:53 -04:00
Raymond Hill
a089310595 Make Firefox dev build auto-update 2020-09-14 15:11:16 -04:00
Raymond Hill
a19012b6af New revision for release candidate 2020-09-14 15:02:00 -04:00
Raymond Hill
328d6a09f4 Fix broken styling of selectors with pseudo elements
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/382

Additionally, fix minor parsing issues with AdGuard's
cosmetic filters.
2020-09-14 14:58:25 -04:00
Raymond Hill
601ec67ab6 Make Firefox dev build auto-update 2020-09-14 09:10:16 -04:00
Raymond Hill
06f476fb60 New revision for release candidate 2020-09-14 09:05:14 -04:00
Raymond Hill
d292c72a5a Import translation work from https://crowdin.com/project/ublock 2020-09-14 08:48:37 -04:00
Raymond Hill
fe9797cacc Add easylist.to as a valid target for subscriber content script 2020-09-14 08:43:51 -04:00
Raymond Hill
9ab105b400 Make Firefox dev build auto-update 2020-09-13 13:51:03 -04:00
Raymond Hill
7bc441b994 New revision for dev build 2020-09-13 13:42:41 -04:00
Raymond Hill
714f07dc25 Work around instances of over-encoded subscription URLs
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/763#issuecomment-691696716
2020-09-13 13:41:25 -04:00
Raymond Hill
066f06745b Make Firefox dev build auto-update 2020-09-13 11:55:33 -04:00
Raymond Hill
426655eb25 Import translation work from https://crowdin.com/project/ublock 2020-09-13 11:49:57 -04:00
Raymond Hill
212b44135f New revision for dev build 2020-09-13 11:47:38 -04:00
Raymond Hill
4c7635514a Fine tuning changes to click-to-subscribe code
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/763#issuecomment-691682195

Additionally, enable an existing subscription when
subscribing again to it.
2020-09-13 11:44:42 -04:00
Raymond Hill
59f491c500 Make Firefox dev build auto-update 2020-09-13 08:26:07 -04:00
Raymond Hill
075d39828f Import translation work from https://crowdin.com/project/ublock 2020-09-13 08:18:58 -04:00
Raymond Hill
1c101f7c6b New revision for dev build 2020-09-13 08:13:09 -04:00
Raymond Hill
e60042595c Revisit the behavior of the click-to-subscribe content script
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/763

Changes:

From now on, uBO will allow click-to-subscribe on only
a few select domains, currently:
- https://filterlists.com/
- https://github.com/
- https://github.io/

More domains can be added if and only the demonstration
is made that more than a marginal number of filter lists
can be subscribed from those domains.

The browser alert box is no longer used to confirm
subscription to a filter list. Instead, the asset
viewer has been expanded to serve that purpose. This
way, users can peruse at the content of a filter list
before subscribing to it.
2020-09-13 08:01:53 -04:00
Raymond Hill
da7ff2b382 Remove now pointless use of important in CSS styles
Now that the element picker user interface is isolated
frompage content world, there is no need to use the
`important` modifier for the element picker's own
CSS styles.
2020-09-12 11:36:30 -04:00
Raymond Hill
05893a6c16 Fix swipe right to exit zapper/picker on touch displays
Regression from:
- d23f9c6a8b
2020-09-12 11:29:39 -04:00
Raymond Hill
218f774ba0 Fix broken localized string in some languages
Reported as feedback at:
- https://crowdin.com/translate/ublock
2020-09-12 10:37:08 -04:00
Raymond Hill
3bf9c3c5e0 Make Firefox dev build auto-update 2020-09-12 08:35:55 -04:00
Raymond Hill
46cb227f28 New revision for dev build 2020-09-12 08:28:21 -04:00
Raymond Hill
b73b24ebb1 Fix slider's responsiveness to layout changes
Related commit:
- f01bda1159
2020-09-12 08:26:44 -04:00
Raymond Hill
e2a22f5b77 Make Firefox dev build auto-update 2020-09-12 07:50:22 -04:00
Raymond Hill
208122e61c New revision for dev build 2020-09-12 07:30:00 -04:00
Raymond Hill
f01bda1159 Rework visuals of element picker sliders
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/851
2020-09-12 07:28:46 -04:00
Raymond Hill
8f5931fc48 Make Firefox dev build auto-update 2020-09-11 08:40:32 -04:00
Raymond Hill
f7ad02abfb New revision for dev build 2020-09-11 08:33:46 -04:00
Raymond Hill
953ba1231f Object.values() may fail for unknown reasons
Work around this issue by using more reliable
Object.keys().
2020-09-11 08:30:11 -04:00
Raymond Hill
ead49e083a Fix delete key handling in element zapper
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1237#issuecomment-690897502
2020-09-11 08:12:45 -04:00
Raymond Hill
f0ef680a86 Remove pointless test for parent node presence
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1240
2020-09-11 07:58:01 -04:00
Raymond Hill
6a5016abde Make Firefox dev build auto-update 2020-09-10 10:56:16 -04:00
Raymond Hill
df83a0847f Forgot to commit last minute changes in element picker
Related commit:
- 260f762c83
2020-09-10 10:40:07 -04:00
Raymond Hill
6fd6f7f26b Import translation work from https://crowdin.com/project/ublock 2020-09-10 10:39:30 -04:00
Raymond Hill
d7d469f516 New revision for dev build 2020-09-10 10:37:24 -04:00
Raymond Hill
260f762c83 Add widget to control selector depth to element picker
Further iterating on the work done in following commit:
- 1268f0ae43

This commit adds a new widget to the element picker to
control the depth of a cosmetic filter selector. The
new widget is essentially just another way of selecting
the depth, which is still controllable through picking
one of the cosmetic filters in the list of candidates.
2020-09-10 10:32:53 -04:00
Raymond Hill
6f7801d433 Fix zapper not being able to remove SVG elements
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1237
2020-09-09 10:51:30 -04:00
Raymond Hill
57c7fd1900 Make Firefox dev build auto-update 2020-09-09 10:10:52 -04:00
Raymond Hill
d4182add6e Add ability to outright remove/ignore "really bad lists"
In addition to what is deemed really bad lists by consensus,
some lists will also be labelled "really bad list"
temporarily so as to force-remove them from the set of
filter lists.

This will be the case for filter lists which are not
necessarily "bad lists" but which were once part of
uBO's stock filter lists and have been removed since
then for various reasons.

This will ensure that the majority of users who do not
modifies uBO's default listset will still have a
configuration which matches the official default listset.
2020-09-09 09:57:29 -04:00
Raymond Hill
0c90cc6af7 new revision for dev build 2020-09-09 09:31:41 -04:00
Raymond Hill
1268f0ae43 Add element picker widget to control specificity
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/851

The ctrl key is no longer used to adjust specificity of
a candidate filter.

A new widget has been added to adjust the specificity of
a candidate filter to various level. The widget will be
visible as long as the candidate filter matches one entry
in the list of suggested candidate cosmetic filters.
2020-09-09 09:27:53 -04:00
Raymond Hill
016a774780 Make Firefox dev build auto-update 2020-09-07 08:50:54 -04:00
Raymond Hill
1d723f990e Import translation work from https://crowdin.com/project/ublock 2020-09-07 08:41:37 -04:00
Raymond Hill
44945a5c18 New revision for dev build 2020-09-07 08:34:25 -04:00
Raymond Hill
35aefed926 Add support to chain :style() to procedural operators
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/382

Additionally, remnant code for pseudo-user stylesheets
has been removed. Related commit:
- 5c68867b92
2020-09-07 08:28:01 -04:00
Raymond Hill
3a51ca0002 Add :style-based procedural operator 2020-09-05 09:58:54 -04:00
Raymond Hill
4ce3ff2e04 Remove code for unused message 2020-09-03 10:56:29 -04:00
Raymond Hill
5856fab2d7 Make Firefox dev build auto-update 2020-09-03 10:45:26 -04:00
Raymond Hill
86cbf2114d Merge branch 'master' of github.com:gorhill/uBlock 2020-09-03 10:36:16 -04:00
Raymond Hill
6c6a0d3613 New revision for dev build 2020-09-03 10:36:06 -04:00
Raymond Hill
d23f9c6a8b Isolate element picker's svg layers from page content
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1226

Related commit:
- 9eb455ab5e

In the previous commit, the element picker dialog was
isolated from the page content. This commit is to also
isolate the svg layers from the page content.

With this commit, there is no longer a need for an anonymous
iframe and the isolated world iframe is now directly
embedded in the page.

As a result, pages are now unable to interfere with any
of the element picker user interface. Pages can now only
see an iframe, but are unable to see the content of that
iframe. The styles applied to the iframe are from a user
stylesheet, so as to ensure pages can't override the
iframe's style properties set by uBO.
2020-09-03 10:27:35 -04:00
gwarser
3b9218ecc0 uBlock for firefox legacy is auto-updating (#3774)
from GitHub after [1.16.4.17](https://github.com/gorhill/uBlock-for-firefox-legacy/releases/tag/firefox-legacy-1.16.4.17).

Discussed on Reddit: https://www.reddit.com/r/uBlockOrigin/comments/ikbuog/does_ublock_for_firefox_legacy_update_itself/
2020-09-01 16:19:21 -04:00
Raymond Hill
c02bba3cfa Make Firefox dev build auto-update 2020-09-01 12:56:07 -04:00
Raymond Hill
d4f4f82872 New revision for dev build 2020-09-01 12:38:41 -04:00
Raymond Hill
9eb455ab5e Isolate element picker dialog from page content world
Related issues:
- https://github.com/gorhill/uBlock/issues/3497
- https://github.com/uBlockOrigin/uBlock-issues/issues/1215

To solve above issues, the element picker's dialog is now
isolated from the page content in which it is embedded.

The highly interactive, mouse-driven part of the element
picker is still visible by the page content.
2020-09-01 12:32:12 -04:00
Raymond Hill
43dba2bd0e StaticFilteringParser.analyzeExtra() has no argument 2020-09-01 09:57:38 -04:00
Raymond Hill
9ab631b4c4 Ensure port instance exists when waiting for connection requests 2020-09-01 09:53:35 -04:00
Raymond Hill
90743532f1 Add missing colon 2020-09-01 09:52:44 -04:00
Raymond Hill
db008f45dc Import translation work from https://crowdin.com/project/ublock 2020-08-30 07:56:11 -04:00
Raymond Hill
3bbed7be33 Do not use letter-spacing for non-bolded text
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1044#issuecomment-682920219
2020-08-29 08:32:40 -04:00
Raymond Hill
aadbdccbbe Make Firefox dev build auto-update 2020-08-28 15:40:55 -04:00
Raymond Hill
1369b137d5 Import translation work from https://crowdin.com/project/ublock 2020-08-28 15:34:14 -04:00
Raymond Hill
d2195b4246 Fix rule sorting quirk in "My rules" pane
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1055
2020-08-27 07:04:37 -04:00
Raymond Hill
45cce88d8b Import translation work from https://crowdin.com/project/ublock 2020-08-27 06:41:58 -04:00
Raymond Hill
8f308f9a82 New revision for dev build 2020-08-27 06:39:18 -04:00
Raymond Hill
ef62398fd9 Add translations for ne wsort widget in "My rules"
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1055
2020-08-27 06:36:29 -04:00
Raymond Hill
e9c496e858 Make Firefox dev build auto-update 2020-08-26 11:10:37 -04:00
Raymond Hill
fae6553416 New revision for dev build 2020-08-26 11:03:06 -04:00
Raymond Hill
405c3e1a84 Add visual hint for last selected entry in element picker
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/47
2020-08-26 11:01:37 -04:00
Raymond Hill
817b87e9fc Fine tune collapsed sections behavior 2020-08-25 14:26:44 -04:00
Raymond Hill
51ab3e6c52 Fix misaligned label 2020-08-25 13:46:36 -04:00
Raymond Hill
f459cf74bf Make Firefox dev build auto-update 2020-08-25 13:30:18 -04:00
Raymond Hill
05e0ae4d0e New revision for dev build 2020-08-25 13:25:18 -04:00
Raymond Hill
532ed5c390 Add ability to collpase unchanged rules in _My rules_ pane
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/604
2020-08-25 13:23:30 -04:00
Raymond Hill
5415b980b1 Make Firefox dev build auto-update 2020-08-24 14:50:48 -04:00
Raymond Hill
776438f6a6 New revision for dev build 2020-08-24 14:47:17 -04:00
Raymond Hill
fdbde27357 Fix default sort quirk
Related feedback:
- dd655473f6 (commitcomment-41730014)
2020-08-24 14:46:25 -04:00
Raymond Hill
e11e318026 Make Firefox dev build auto-update 2020-08-24 12:56:07 -04:00
Raymond Hill
2ea2e335fb New revision for dev build 2020-08-24 12:42:25 -04:00
Raymond Hill
0e9d4714e9 Mibor: better variable name 2020-08-24 12:40:36 -04:00
Raymond Hill
dd655473f6 Add ability to sort rules in _My rules_ pane
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1055
2020-08-24 12:39:07 -04:00
Raymond Hill
6284eca351 Fix ability to overwrite overquota'ed cloud storage
This commit fixes deleting all entries when cloud
storage usage is beyond allowed limit.

The issue would prevent pushing new data well within
quota limit because the old data beyond limit was
never removed in the first place.
2020-08-24 11:47:57 -04:00
Raymond Hill
63e2261ff7 Make Firefox dev build auto-update 2020-08-22 09:15:51 -04:00
Raymond Hill
7592ed3cca New revision for dev build 2020-08-22 09:08:42 -04:00
Raymond Hill
ef2159ba34 Use new download name for Crowdin package 2020-08-22 09:08:14 -04:00
Raymond Hill
e33642da66 Import translation work from https://crowdin.com/project/ublock 2020-08-22 09:07:20 -04:00
Raymond Hill
4150c17f4a Add concept of "really bad list" to badlists infrastructure
This commit adds concept of "really bad list" to the
badlists infrastructure. Really bad lists won't be
fetched from a remote server, while plain bad list
will be fetched but won't be compiled.

A really bad list is denoted by the `nofetch` token
following the URL.

Really bad lists can cause more serious issues such
as causing undue launch delays because the remote
server where a really bad list is hosted fails to
respond properly and times out.

Such an example of really bad list is hpHosts which
original server no longer exist.
2020-08-22 08:43:16 -04:00
Raymond Hill
3d048c999e Make Firefox dev build auto-update 2020-08-21 12:20:28 -04:00
Raymond Hill
9e861e8f1e New revision for dev build 2020-08-21 12:06:47 -04:00
Raymond Hill
23f08f0274 Add support for blocklist of filter lists
Many filter lists are known to cause serious filtering
issues in uBO and are not meant to be used in uBO.

Unfortunately, unwitting users keep importing these
filter lists and as a result this ends up causing
filtering issues for which the resolution is always
to remove the incompatible filter list.

Example of inconpatible filter lists:
- Reek's Anti-Adblock Killer
- AdBlock Warning Removal List
- ABP anti-circumvention filter list

uBO will use the following resource to know
which filter lists are incompatible:
- https://github.com/uBlockOrigin/uAssets/blob/master/filters/badlists.txt

Incompatible filter lists can still be imported into
uBO, useful for asset-viewing purpose, but their content
will be discarded at compile time.
2020-08-21 11:57:20 -04:00
Raymond Hill
57330d9c5d Make Firefox dev build auto-update 2020-08-21 09:30:40 -04:00
Raymond Hill
01bd786770 new revision for dev build 2020-08-21 09:19:37 -04:00
Raymond Hill
f6d1c6402f Add support for removal of cloud storage entries 2020-08-21 09:18:33 -04:00
Raymond Hill
db79672355 Fix layout issue with cloud storage widget
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1217
2020-08-21 08:57:47 -04:00
Raymond Hill
394a61570c Use modern popup panel in logger
The logger was still embedding the now deprecated popup
panel.
2020-08-21 08:23:36 -04:00
Raymond Hill
8275690e93 Fix https://github.com/uBlockOrigin/uAssets/issues/5696#issuecomment-675757755 2020-08-20 09:53:11 -04:00
Raymond Hill
b98b2fc52b Slightly improve nowoif scriptlet
Returns proxied self is no window object can
be returned.
2020-08-18 10:28:45 -04:00
Raymond Hill
e3d06268da Make Firefox dev build auto-update 2020-08-18 09:20:34 -04:00
Raymond Hill
89d4b67bac New revision for dev build 2020-08-18 09:12:25 -04:00
Raymond Hill
cb6486859c Further fine tune nowoif scriptlet 2020-08-18 09:11:40 -04:00
Raymond Hill
0598476b99 Make Firefox dev build auto-update 2020-08-17 10:10:39 -04:00
Raymond Hill
30d38ce7d4 New revision for dev build 2020-08-17 09:58:01 -04:00
Raymond Hill
d544543ab5 Add argument to nowoif scriptlet
When a 3rd argument was provided, the scriplet would
log information related to window popup operations,
regardless of the value of the argument.

The 3rd argument is now parsed in a formal manner. It
is meant to be one or more space-separated tokens which
are used to fine tune the behavior of the scriptlet.

Tokens:

log:
  Cause the scriptlet to log information regarding
  how window.open() is used by the page on which the
  scriptlet is used. Useful only to filter creators.

obj:
  Use an `object` element instead of `iframe` element
  (default) as a decoy to be used in place of a popup
  window, when the page requires a valid `window`
  instance to be returned.
2020-08-17 09:47:40 -04:00
Raymond Hill
a50c0a761e Make Firefox dev build auto-update 2020-08-16 17:25:27 -04:00
Raymond Hill
34294a53fe New revision for dev build 2020-08-16 17:19:22 -04:00
Raymond Hill
b33065e198 Fine tune nowoif scriptlet 2020-08-16 17:14:26 -04:00
Raymond Hill
f4bdee668c Make Firefox dev build auto-update 2020-08-16 13:35:23 -04:00
Raymond Hill
a546a5e1ba Fix typo 2020-08-16 13:24:10 -04:00
Raymond Hill
110e474a91 New revision for dev build 2020-08-16 13:21:28 -04:00
Raymond Hill
071b15cf94 Improve nowoif scriptlet
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/ 6019
2020-08-16 13:18:40 -04:00
Raymond Hill
29448a9294 Make Firefox dev build auto-update 2020-08-16 12:05:50 -04:00
Raymond Hill
dc1b483003 New revision for dev build 2020-08-16 12:02:49 -04:00
Raymond Hill
d8b6b31eca Add support for cloud storage compression
Cloud storage is a limited resource, and thus it
makes sense to support data compression before
sending the data to cloud storage.

A new hidden setting allows to toggle on
cloud storage compression:

name: cloudStorageCompression
default: false

By default, this hidden setting is `false`, and a
user must set it to `true` to enable compression
of cloud storage items.

This hidden setting will eventually be toggled
to `true` by default, when there is good confidence
a majority of users are using a version of uBO
which can properly handle compressed cloud storage
items.

A cursory assessment shows that compressed items
are roughly 40-50% smaller in size.
2020-08-16 11:59:27 -04:00
Raymond Hill
de6a9e311f Make Firefox dev build auto-update 2020-08-16 06:11:16 -04:00
Raymond Hill
27d2a7383a New revision for dev build 2020-08-16 06:05:02 -04:00
Raymond Hill
6dca8969b0 Revert latest changes
Related commit:
- d39b6d058a
- 94650e260e
2020-08-16 06:03:34 -04:00
Raymond Hill
d39b6d058a Fix cases of illegal invocation with nowoif 2020-08-15 10:31:48 -04:00
Raymond Hill
7362d526fb Make Firefox dev build auto-update 2020-08-14 15:40:20 -04:00
Raymond Hill
0435257c16 Be sure pageStoreFromTabId() is defined before message handlers 2020-08-14 15:32:08 -04:00
Raymond Hill
668ab72305 New revision for dev build 2020-08-14 15:31:53 -04:00
Raymond Hill
2afcc13ca6 Add widget to convey the amount of sync storage in use 2020-08-14 15:29:25 -04:00
Raymond Hill
ba833d3391 Use EasyList as nominal reference for filter creation 2020-08-14 10:15:14 -04:00
Raymond Hill
94650e260e Fix nowoif decoy
Related issue:
- https://github[.]com/uBlockOrigin/uAssets/issues/6019
2020-08-14 09:52:20 -04:00
Raymond Hill
8dd500357d Make Firefox dev build auto-update 2020-08-13 09:45:46 -04:00
Raymond Hill
929bfa710a New revision for dev build 2020-08-13 09:41:46 -04:00
Raymond Hill
24ef0cb753 Fix typo in comment 2020-08-13 09:40:43 -04:00
Raymond Hill
00b790ce72 Add support for more !#if pre-parser directive tokens
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1205
2020-08-13 09:32:34 -04:00
Raymond Hill
45f26d7319 Better parsing of hosts file system addresses
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/877
2020-08-10 10:56:28 -04:00
Raymond Hill
673971875d Fix bad test cases 2020-08-10 10:45:46 -04:00
Raymond Hill
411eda1d4c Remove duplicate 2020-08-10 10:40:57 -04:00
Raymond Hill
c68a7da9ff Add more test patterns
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/877
2020-08-10 10:35:21 -04:00
Raymond Hill
cf11228432 Make Firefox dev build auto-update 2020-08-10 09:05:25 -04:00
Raymond Hill
48e64b349d New revision for dev build 2020-08-10 08:34:59 -04:00
Raymond Hill
b01cc6ca4f Fix cloud storage errors not reported in user interface
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/i6e7lr/
2020-08-10 08:30:52 -04:00
Raymond Hill
3bcd970e07 New revision for stable release 2020-08-09 10:43:45 -04:00
Raymond Hill
7e91d0c840 Make Firefox dev build auto-update 2020-08-07 09:25:52 -04:00
Raymond Hill
887e0fa1f7 New revision for release candidate 2020-08-07 08:43:25 -04:00
Raymond Hill
79ccd23ccf Also remove references to remove scriptlets
Related commit:
- 7c22a31294
2020-08-06 11:40:18 -04:00
Raymond Hill
7c22a31294 Remove experimental click-to-load disqus scriptlets
As per AMO reviewer:

> We will need you to remove the remote scripts in
>
> web_accessible_resources\disqus_embed.js - line 48
> web_accessible_resources\disqus_forums_embed.js - line 44

Related issue:
- https://github.com/gorhill/uBlock/issues/1899
2020-08-06 09:30:34 -04:00
Raymond Hill
c892718021 Make Firefox dev build auto-update 2020-08-06 09:16:16 -04:00
Raymond Hill
2bbaa11541 New revision for dev build 2020-08-06 09:06:58 -04:00
Raymond Hill
f574a7e74d Remove more cases of svg/use
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1196
2020-08-06 09:05:10 -04:00
Raymond Hill
47ee4979c8 Make Firefox dev build auto-update 2020-08-05 13:31:12 -04:00
Raymond Hill
f2fb90231d New revision for dev build 2020-08-05 13:22:28 -04:00
Raymond Hill
290f3d124f Fix stray <symbol> in path attribute
Related commit:
- 12be265e7d
2020-08-05 12:10:03 -04:00
Raymond Hill
b51f25d032 Make Firefox dev build auto-update 2020-08-05 11:50:36 -04:00
Raymond Hill
0ab73ee276 New revision for dev build 2020-08-05 11:41:04 -04:00
Raymond Hill
12be265e7d Fix performance issue with SVG-based icons in dashboard
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1196

For yet unknown reasons, in Chromium 84 the rendering of
`svg/use`-based icons in the dashboard causes page load
stall and undue high memory usage when the dashboard is
opened, especially the Filter list pane.

The fix in this commit is to avoid using `svg/use` and to
directly create and insert the `path` element defining an
icon.
2020-08-05 11:36:54 -04:00
Raymond Hill
4bc1e1f708 Merge branch 'master' of github.com:gorhill/uBlock
Fixed bad commit message.
2020-08-04 16:01:10 -04:00
Raymond Hill
dae25b0bae Fix regression breaking filters with --prefixed pseudo-elements
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/89#issuecomment-668701495
2020-08-04 16:00:22 -04:00
Raymond Hill
dad6599138 Fix regression causing preventing using --prefixed pseudo-elements
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/89#issuecomment-668701495
2020-08-04 15:58:32 -04:00
Raymond Hill
2fd63b61a0 Make Firefox dev build auto-update 2020-08-04 12:00:50 -04:00
Raymond Hill
b53c7ea949 New revision for dev build 2020-08-04 11:52:25 -04:00
Raymond Hill
4c6ee1e0d3 Fix broken :spath operators starting with >
Related feedback:
- 7dd48a6c8c (r41180568)

Regression from:
- 7dd48a6c8c
2020-08-04 11:30:04 -04:00
Raymond Hill
49aa9ba549 New revision for dev build 2020-08-04 10:28:30 -04:00
Raymond Hill
0d266218d0 Import translation work from https://crowdin.com/project/ublock 2020-08-04 10:28:09 -04:00
Raymond Hill
e44af458c0 Fine tune visuals of CodeMirror's search feature
Added a dotted box around found text occurrences,
as just pale yellow to highlight the text is not
enough to visually distinguish from surrounding text.

Iterating through found text occurrences will now
ensure they are vertically positioned in the middle
of the editor.
2020-08-04 10:14:38 -04:00
Raymond Hill
59496cfa45 Restore visual of input field on Firefox 2020-08-03 14:30:30 -04:00
Raymond Hill
9c653341c1 Make Firefox dev build auto-update 2020-08-03 10:45:34 -04:00
Raymond Hill
811852bda2 New revision for dev build 2020-08-03 10:41:06 -04:00
Raymond Hill
c8127ec3bf Fix typo as per https://github.com/uBlockOrigin/uBlock-issues/issues/1191 2020-08-03 10:39:17 -04:00
C0rn3j
3fed25a52d Use ISO8061 dates in filter comments 2020-08-03 10:30:36 -04:00
Raymond Hill
50bf999a12 Fine tune CodeMirror editor's search widget
Code review following latest changes.

Also, move the input field to the left so that it
renders properly on smaller displays and does not
jump around when the result position/count numbers
change.

This also makes it easier to add more functionality
to the editor's toolbar in the future.
2020-08-03 08:55:02 -04:00
Raymond Hill
6f4e12ac5d Make Firefox dev build auto-update 2020-08-02 13:05:34 -04:00
Raymond Hill
eba9f82dcc New revision for dev build 2020-08-02 12:49:05 -04:00
Raymond Hill
d654a5d6cf Fix search operation broken by search worker going away
Related commit:
- 23332400f5

Since the search worker can go away after its time-to-live
elapsed, we may need to pass again the haystack on which
search operations are performed.
2020-08-02 12:46:52 -04:00
Raymond Hill
cff589637c Make Firefox dev build auto-update 2020-08-02 12:40:49 -04:00
Raymond Hill
128c6174a3 New revision for dev build 2020-08-02 12:32:40 -04:00
Raymond Hill
23332400f5 Improve annotations for search operations in CodeMirror editor
Before this commit, CodeMirror's add-on for search occurrences
was limited to find at most 1000 first occurrences, because of
performance considerations.

This commit removes this low limit by having the search
occurrences done in a dedicated worker. The limit is now
time-based, and highly unlikely to ever be hit under normal
condition.

With this change, all search occurrences are gathered,
and as a result:

- All occurrences are reported in the scrollbar instead of
just the 1,000 first

- The total count of all occurrences is now reported, instead
of capping at "1000+".

- The current occurrence rank at the cursor or selection
position is now reported -- this was not possible to report
this before.

The number of occurrences is line-based, it's not useful to
report finer-grained occurences in uBO.
2020-08-02 12:18:01 -04:00
Raymond Hill
90c7e79f4f Consolidate filter list reverse lookup code into a single file
Since it's possible to execute specific code paths according
to whether the context is that of a worker or not, it's possible
to keep the main/thread code in a single file. Keeping the
main/worker code paths into a single file is more convenient
for both code maintenance and code review.
2020-08-01 10:32:40 -04:00
Raymond Hill
7dd48a6c8c Allow :upward() operator to select html element
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/hvwwj0/element_hiding_by_url_not_by_domain_is_it_possible/fyzykw0/
2020-07-30 11:58:49 -04:00
Raymond Hill
2931b4181f Make Firefox dev build auto-update 2020-07-29 09:40:48 -04:00
Raymond Hill
eddfbf9a18 New revision for dev build 2020-07-29 09:27:13 -04:00
Raymond Hill
aa37166ae7 Code review re. content scripts in about:blank frames
Related commit:
- 3b72c7cb04
2020-07-29 07:38:49 -04:00
Raymond Hill
3632c1821e Tabs opened from about:newtab are not popup candidates
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1184
2020-07-29 07:13:08 -04:00
Raymond Hill
188ccb4a04 Make Firefox dev build auto-update 2020-07-27 13:40:56 -04:00
Raymond Hill
9a8f1678e5 New revision for dev build 2020-07-27 13:34:35 -04:00
Raymond Hill
9447829eb1 Fix regression causing logger to fail to report cosmetic filters
Related commit:
- 5c68867b92
2020-07-27 13:30:57 -04:00
Raymond Hill
7506c5dd70 Make Firefox dev build auto-update 2020-07-27 10:50:52 -04:00
Raymond Hill
5d9a3efd17 New revision for dev build 2020-07-27 10:40:27 -04:00
Raymond Hill
7c63f252d0 Add more cases to static filtering checklist 2020-07-27 10:32:55 -04:00
Raymond Hill
3df978ffd5 Make usage of space more strict in network filter patterns
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1118

Usage of space in network filter patterns will now be
strictly interpreted as the filter being a hosts file
entry.

Usage of space in any other scenario will cause the
pattern of the network filter to be rejected as
erroneous.
2020-07-27 10:20:11 -04:00
Raymond Hill
44ecb302bf Make Firefox dev build auto-update 2020-07-24 19:20:28 -04:00
Raymond Hill
4568ab89ff New revision for dev build 2020-07-24 19:15:26 -04:00
Raymond Hill
e98ea7ea9b Instantiate procedural filterer instance on demand only
The procedural filterer will be instantiated only when
needed, i.e. only when there are actual procedural
filters to enforce.
2020-07-24 19:08:48 -04:00
Raymond Hill
3b72c7cb04 Ensure about: frames use proper origin
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/688

`about:` frames need to lookup and use the inherited
origin from their parent browsing context for proper
lookup of cosmetic filters.
2020-07-24 18:50:12 -04:00
Raymond Hill
779fde8f3a Make Firefox dev build auto-update 2020-07-24 12:51:06 -04:00
Raymond Hill
72cfc3218a Import translation work from https://crowdin.com/project/ublock 2020-07-24 12:42:21 -04:00
Raymond Hill
17e5a150fb New revision for dev build 2020-07-24 12:38:49 -04:00
Raymond Hill
39190ff469 Add Chromium detection for Chromium-based MS Edge
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1174
2020-07-24 12:32:47 -04:00
Raymond Hill
5c68867b92 Deprecate pseudo user styles code
The pseudo user styles code served only browsers based
on Chromium 65 and earlier -- Chromium 66 supports
native user styles and was first released more than two
years ago.

In Chromium-based browsers, the pseudo user styles code
is being unconditionally injected in every page/frame
just in case the browser is version 65 or earlier.

Removing pseudo user styles reduce uBO's main content
script in Chromium-based browsers by more than 20K.

Related thread:
- https://github.com/NanoAdblocker/NanoCore/issues/348#issuecomment-653646507
2020-07-22 10:21:16 -04:00
Raymond Hill
603bd2da8b Make Firefox dev build auto-update 2020-07-21 08:10:29 -04:00
Raymond Hill
3839d05a99 Auto-update most obsolete asset first
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1165
2020-07-21 07:50:36 -04:00
Raymond Hill
4832552950 New revision for dev build 2020-07-21 07:15:27 -04:00
Raymond Hill
f55c891d54 Avoid returning a value when injected as content script 2020-07-20 17:28:33 -04:00
Raymond Hill
bf01fc737d urlhaus blocklist CDNs: remove githack, add github, gitlab 2020-07-20 12:52:41 -04:00
Raymond Hill
c805950ecf Fix the logging of cosmetic filters in about:blank frames
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1164
2020-07-20 08:27:00 -04:00
Raymond Hill
85aef306d1 vAPI.tabs.executeScript() can't throw
Related commit:
- aed850978e

No need to mind rejected promise after all,
vAPI.tabs.executeScript() is designed to
not fail -- I had forgotten about this.
2020-07-19 18:38:35 -04:00
Raymond Hill
8d0f84b37a Make Firefox dev build auto-update 2020-07-19 17:55:36 -04:00
Raymond Hill
e200d9c31c New revision for dev build 2020-07-19 17:49:10 -04:00
Raymond Hill
aed850978e Mind discarded status of tabs when internally handling them
Related discussion:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1652925#c19

Content scripts should not be injected in discarded tabs, and
a discarded tab should treated as if it does not exist.
2020-07-19 17:41:13 -04:00
Raymond Hill
3b46b2532d Make Firefox dev build auto-update 2020-07-19 09:15:22 -04:00
Raymond Hill
a400799115 New revision for dev build 2020-07-19 09:09:19 -04:00
Raymond Hill
221983646e Injects user styles and content scripts in about:blank frames
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/688
- https://github.com/uBlockOrigin/uBlock-issues/issues/1164

`match_about_blank` is now used for content scripts and
user styles.
2020-07-19 09:06:19 -04:00
Raymond Hill
fb0a442a9a Fix improperly initialized counter
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1167

Related commit:
- feabfe3793
2020-07-19 09:01:45 -04:00
Raymond Hill
c33de41660 Support multiple trappers to same property in set-constant
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/156
- https://github.com/uBlockOrigin/uBlock-issues/issues/1162

Take into account that a trapped property may have been
already trapped, and if so honour previous trapper
getter/setter.
2020-07-19 08:16:40 -04:00
Raymond Hill
9880b9c18f Fix too small magnifier
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1092

As a result of earlier redesign, the magnifier ended
up being too small. The size of the magnifier will now
be dependent on the default font size instead of the
parent font size.
2020-07-18 09:50:59 -04:00
Raymond Hill
0549bfaf00 Do not implicitly strict-block when pattern contains no token char
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1147
2020-07-18 09:40:38 -04:00
Raymond Hill
90868e873c Make Firefox dev build auto-update 2020-07-18 08:26:08 -04:00
Raymond Hill
f69231d2c2 Import translation work from https://crowdin.com/project/ublock 2020-07-18 07:59:43 -04:00
Raymond Hill
0c955f57b9 New revision for dev build 2020-07-18 07:49:13 -04:00
Raymond Hill
feabfe3793 Do let grow subframe dictionary grow unbound
Related discussion:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1652925

It's not clear the code here will fix the reported
issue, but I did identify that the subframe
dictionary of a very long-lived web page can
theoretically grow unbound.
2020-07-18 07:44:26 -04:00
Raymond Hill
cf31d83acf Remove infinite iframe creation
Bad idea after all, this can cause bandwidth
abuse to GitHub.
2020-07-17 21:16:38 -04:00
Raymond Hill
bc60e6c4a2 Shorten URL 2020-07-17 20:27:17 -04:00
Raymond Hill
3e55ffff13 Add infinite iframe-creation test
Location:
https://gorhill.github.io/uBlock/tests/infinite-iframe-creation.html

The test is useful to ensure no runaway memory consumption
in uBO's main process, and is also useful as rough performance
assessment, i.e. we want uBO's main process to be low CPU, etc.

Useful to use with Chromium's Task Manager, which reports both
memory and CPU usage.

Typically to be used with uBO with default settings/lists.
2020-07-17 16:03:49 -04:00
Raymond Hill
6516834051 Add test cases to static filtering checklist 2020-07-17 10:16:40 -04:00
Raymond Hill
3789259fc9 Consider an empty pattern with anchors to be dubious
Related issue:
- https://github.com/ryanbr/fanboy-adblock/issues/1384
2020-07-17 10:08:08 -04:00
Raymond Hill
7b55f0fbf1 Make Firefox dev build auto-update 2020-07-16 16:45:35 -04:00
Raymond Hill
321eae7417 Remove stray empty line 2020-07-16 16:39:07 -04:00
Raymond Hill
219bd1bbf9 New revision for dev build 2020-07-16 16:33:24 -04:00
Raymond Hill
3aed2497a3 Use AdGuard French as in-place replacement of Liste FR
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/379

Related recent discussion:
- 529643bdce
2020-07-16 16:29:24 -04:00
Raymond Hill
975d894419 Stringify argument using implicit rather than explicit conversion
Reported internally by team.

Explicit conversion was causing an exception to be
thrown when the type argument was not supporting
`toString()`, for example when `type` argument was
literal `null`.
2020-07-16 09:55:06 -04:00
Raymond Hill
a22d4cdd54 Make Firefox dev build auto-update 2020-07-15 16:15:52 -04:00
Raymond Hill
39cca287b8 New revision for dev build 2020-07-15 16:07:28 -04:00
Raymond Hill
947651427d Use tabs instead of whitespaces 2020-07-15 16:06:39 -04:00
Raymond Hill
dacf83b5c0 Add cdn.jsdelivr.net mirror for urlhaus blocklist 2020-07-13 15:50:13 -04:00
Raymond Hill
d93f32e882 Remove repo.or.cz from list of CDNs for urlhaus blocklist
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1152
2020-07-13 15:34:07 -04:00
Raymond Hill
ab1ba2bc7e Make Firefox dev build auto-update 2020-07-13 12:05:52 -04:00
Raymond Hill
21f8a06ba4 New revision for dev build 2020-07-13 11:52:02 -04:00
Raymond Hill
d5dcf4e9b6 Fix improper handling of srcset in element picker
Regression from:
- 16727d68c8

The issue was causing the element picker to being
unable to select elements with no valid `srcset`
property.

Test case -- trying to select one of the embedded
frames in the following page would fail:
- http://raymondhill.net/ublock/tiles1.html
2020-07-13 11:46:38 -04:00
Raymond Hill
9183e42a40 Make Firefox dev build auto-update 2020-07-13 09:45:36 -04:00
Raymond Hill
852ea15d0d New revision for dev build 2020-07-13 09:40:00 -04:00
Raymond Hill
d49a9dce66 Fix spurious rejection of some AdGuard redirect filters
Lines in AdGuard filter lists have trailing `\r`
characters, and these caused the redirect engine
compile code to reject as invalid the redirect
token.

This is trivially fixed by trimming the raw option
strings before parsing it in the redirect engine.
2020-07-13 09:33:38 -04:00
Raymond Hill
ba0d4f8a38 Fix the reporting of invalid static extended filters in the logger
This is a regression caused by the re-factoring necessary
to support the new static filtering parser code.
2020-07-12 13:00:18 -04:00
Raymond Hill
2eec28520f Fix improper rejecting fitlers with $all,~document options
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1134#issuecomment-657122472
2020-07-12 10:39:57 -04:00
Raymond Hill
1a9ad29503 Make Firefox dev build auto-update 2020-07-11 10:50:56 -04:00
Raymond Hill
73db4d3e71 New revision for dev build 2020-07-11 10:35:30 -04:00
Raymond Hill
fc84a30cce Mind \b in regex-based filters when trying to extract token
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1145#issuecomment-657036902
2020-07-11 10:32:04 -04:00
Raymond Hill
16e066e844 Update README.md 2020-07-11 07:32:14 -04:00
Raymond Hill
c99238d3ca Update README.md 2020-07-11 07:31:53 -04:00
Raymond Hill
ab8a888dfd Make Firefox dev build auto-update 2020-07-10 08:25:29 -04:00
Raymond Hill
dc7757e777 New revision for dev build 2020-07-10 08:17:24 -04:00
Raymond Hill
e44a568278 Add CoreMirror's code-folding ability to list editor/viewer
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1134

CodeMirror's code folding reference:
- https://codemirror.net/doc/manual.html#addon_foldcode

This commit adds support for code-folding to the filter
list editor/viewer.

The following blocks of code are foldable by clicking the
corresponding marker in the gutter:

- !#if/#endif blocks
- !#include blocks

Addtionally, the following changes:

- The `!#include` line is now preserved when importing a
  sublist
- The `!#if` directives will be syntax-colored according
  to whether they evaluate to true or false on the current
  platform
- Double-clicking on a foldable line in the gutter will
  select the content of the foldable block
- Minor visual improvement to matching brackets
2020-07-10 08:01:39 -04:00
Raymond Hill
f955d502c3 Extend timeout of Firefox publish script to 60 minutes 2020-07-10 07:44:17 -04:00
Raymond Hill
ebf7fb145e Fine tune auto-completion for !#if directives
Auto-completion will work only for uBO's own
tokens, compatibility-related tokens[1] will not be
taken into account for auto-completion.

The reason is to not have the compatibility-related
tokens get in the way of auto-completion in order
to not inconvenience uBO's filter list maintainers.

[1] `adguard_ext_chromium`, `adguard_ext_firefox`,
    etc.
2020-07-09 08:09:51 -04:00
Raymond Hill
a11571c666 Make Firefox dev build auto-update 2020-07-08 18:53:08 -04:00
Raymond Hill
4197defe6e Remove reference to no longer used resources.txt 2020-07-08 10:51:26 -04:00
Raymond Hill
835785b19c New revision for dev build 2020-07-08 09:59:06 -04:00
Raymond Hill
83c01fb352 Add syntax highlighting/auto-completion for preparsing directives
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1134

Invalid values for `!#if ...` will be highlighted as errors.

Auto completion is now supported for both the directives
themselves and the valid values for `!#if ...`.

For examples, when pressing ctrl-space:

- `!#e` will auto-complete to `!#endif`
- `!#i` will offer to choose between `!#if ` or `!#include `
- `!#if fir` will auto-complete to `!#if env_firefox`

Additionally, support for some of AdGuard preparsing
directives, i.e. `!#if adguard` is now a valid and will be
honoured -- it always evaluate to `false` in uBO.
2020-07-08 09:52:27 -04:00
Raymond Hill
4c89c16401 Fix cdn.statically.io-based URL for urlhaus lists
Related feedback:
- a13ac92089 (commitcomment-40399574)
2020-07-06 11:06:59 -04:00
Raymond Hill
46e205d61a Fix incorrect list name for newly added urlhaus list 2020-07-06 09:43:44 -04:00
Raymond Hill
0162d64c01 Make Firefox dev build auto-update 2020-07-06 09:35:33 -04:00
Raymond Hill
4fe3e9bbd5 New revision for dev build 2020-07-06 09:21:56 -04:00
Raymond Hill
a13ac92089 Replace seemingly abandoned malware lists with urlhaus list
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1116
- https://github.com/uBlockOrigin/uBlock-issues/issues/984

It has been found that the two malware lists uBO uses by
default appear to be essentially no longer maintained.

urlhaus list[1] has been identified by the community as
being well maintained and as being actually useful as a
default malware-related list in uBO, since it's being updated
every day from a database of top domains and specific URLs
identified as serving malicious content. Additionally, the
maintainer of urlhaus list has taken steps to increase
compatibility with uBO[2].

The decision has been to replace the current two malware-
related lists with urlhaus list, which will be enabled by
default in uBO -- and this means that list will be part of
uBO's package from now on.

For those who have the two removed malware lists enabled,
these will be moved to the custom lists section -- they
will still be enabled. It is suggested users remove them from
their selection of lists as their usefulness at this point
is questionable.

[1] https://gitlab.com/curben/urlhaus-filter
[2] 859dfd03c6
2020-07-06 09:03:20 -04:00
Raymond Hill
18a5f41a04 Better processing of Expires directive in filter list
In case of invalid `Expires` value -- i.e. `NaN` -- do
not use `1` as default value, just let uBO pick the
value according to the global default (which is `5` as
of commit time).
2020-07-06 08:31:53 -04:00
Raymond Hill
dc64cfbd97 Fix properly reporting invalid filter options
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1134

Specifically;

- `beacon`, `ping`, and `websocket` cannot be redirected;
- it's ok to not specify a type when redirecting to `empty`
  resource;
- `csp=` option can't be mixed with other types, redirec
  directives, and more `csp=` options.
2020-07-05 14:11:15 -04:00
Raymond Hill
2476f5f830 Add static filter parser checklist
To be used to validate the static filtering parser code in
uBO. Over time I expect that all theparsing will be done
by the static filtering parser, and thus the list here will
become useful to detect breaking code changes.
2020-07-05 13:24:04 -04:00
Raymond Hill
cd1a3d22cd Or just simplify by combining both conditions... 2020-07-05 09:17:06 -04:00
Raymond Hill
37f5b3d642 Minor code review re. element picker
Avoid potentially adding element twice to the
resultset.
2020-07-05 09:12:45 -04:00
Raymond Hill
d6fcfeb620 Make Firefox dev build auto-update 2020-07-05 09:00:53 -04:00
Raymond Hill
290e5195be New revision for dev build 2020-07-05 08:50:17 -04:00
Raymond Hill
16727d68c8 Fix parsing of srcset attribute in element picker
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1071

Additionally, match unconditionally against `srcset` attribute
when trying to find matching elements in the page. For example,
sometimes an img element may set both `src` and `srcset`
properties, they should not be deemed mutually exclusive.
2020-07-05 08:44:14 -04:00
Raymond Hill
35acc70f76 Make Firefox dev build auto-update 2020-07-04 16:25:41 -04:00
Raymond Hill
0c4d59db9d New revision for dev build 2020-07-04 16:17:39 -04:00
Raymond Hill
a7bedb46a0 Add more types to other filter expression in logger
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/584

`csp` and `doc` have been added to "other" filter expression
in the logger.
2020-07-04 15:14:08 -04:00
Raymond Hill
0da34f7edf Handle properly Unicode characters in static network filters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/772

Unicode characters inside hostname part of a filter will
be converted to punycode.

Unicode characters anywhere else in the pattern will be
percent-encoded.

Unicode characters which cannot be encoded will cause a
filter to be invalid.
2020-07-04 14:47:33 -04:00
Raymond Hill
a85a908f09 Compile scriptlet filters to their canonical, unaliased name
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1031
2020-07-04 11:02:31 -04:00
Raymond Hill
66c237f529 Make Firefox dev build auto-update 2020-07-04 10:20:29 -04:00
Raymond Hill
a9454eb1bd New revision for dev build 2020-07-04 10:13:58 -04:00
Raymond Hill
000886002d Fix regression in reverse lookup of cosmetic filters
Related commit:
- d1715fb19f
2020-07-04 10:11:53 -04:00
Raymond Hill
5e949981e0 Make Firefox dev build auto-update 2020-07-04 07:26:15 -04:00
Raymond Hill
6d5f882128 New revision for dev build 2020-07-04 06:30:00 -04:00
Raymond Hill
a5ba668c38 Fix infinitely appending style property
Related issue:
- https://github.com/NanoAdblocker/NanoCore/issues/348
2020-07-03 15:07:52 -04:00
Raymond Hill
d1715fb19f Fix logger's reverse-lookup of selectors with no \w characters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1139
2020-07-03 14:32:12 -04:00
Raymond Hill
941898e54e Fix highligthing of FQDN match in logger
Related feedback:
- https://github.com/uBlockOrigin/uAssets/issues/7619#issuecomment-653010310

Also fixed strict-blocking of URL using FQDN.
2020-07-03 14:28:03 -04:00
Raymond Hill
324b4fe9c1 Make Firefox dev build auto-update 2020-07-03 09:06:00 -04:00
Raymond Hill
ab45466445 Fix bad extension name as a result of Crowdin mixup
Not sure how this happened.
2020-07-03 08:55:06 -04:00
Raymond Hill
3adb239443 Use "Trusted sites" instead of "Whitelist"
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1114

For now I picked "Trusted sites", unless someone comes up with
a better expression to refer to sites onwhich uBO is disabled.
2020-07-03 08:50:49 -04:00
Raymond Hill
aab3812089 Ignore !#include directives within inactive !#if/!#endif blocks
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1113
2020-07-03 08:43:40 -04:00
Raymond Hill
ae57affea5 New revision for dev build 2020-07-02 12:40:51 -04:00
Raymond Hill
a6355cecea Output built-in benchmark results regardless of consoleLogLevel 2020-07-02 12:39:40 -04:00
Raymond Hill
8f3d8cde7a Add support to compare delay against literal Number.NaN in nossif/nostif
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1136
2020-07-02 11:47:49 -04:00
Raymond Hill
dd6f41aaa9 New revision for stable build 2020-06-30 17:00:16 -04:00
Raymond Hill
a358e70ab6 Make Firefox dev build auto-update 2020-06-28 08:45:33 -04:00
Raymond Hill
ad04b7c7e3 New revision for release candidate 2020-06-28 08:39:09 -04:00
Raymond Hill
c6397e3d30 Fix handling of non-punycodable Unicode characters
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1118#issuecomment-650730158
2020-06-28 08:28:29 -04:00
Raymond Hill
13ded677f6 Make Firefox dev build auto-update 2020-06-27 08:20:30 -04:00
Raymond Hill
7b08012854 New revision for release candidate 2020-06-27 08:12:51 -04:00
Raymond Hill
a08cdd721a Fix edge case involving filter with a single wildcard
This fix the case of the following filter:

    trk*.vidible.tv

Not matching:

    https://trk.vidible.tv/trk/.vidible.tv

The wildcard is supposed to match any number of
characters, including zero characters. The issue
is that the code was not matching zero characters.

This is due to an incorrect comparison in
BidiTrieContainer.indexOf(), causing the code to
bail out before testing for the zero character
condition.
2020-06-27 07:58:46 -04:00
Raymond Hill
ca0c48717b Make Firefox dev build auto-update 2020-06-26 10:21:18 -04:00
Raymond Hill
1760294741 New revision for release candidate 2020-06-26 10:12:59 -04:00
Raymond Hill
f433932d86 Add support for wildcard/array in json-prune
Add support for specially-named properties:

`[]`, to iterate through all elements in an array, in
order to deal more graciously with cases where the
property to remove is an element in an array. An
actual case:

    +js(json-prune, playlist.movies.0.adserver playlist.movies.1.adserver ...)

Can be now converted to:

    +js(json-prune, playlist.movies.[].adserver)

`*`, to iterate through all own properties of an object,
in order to deal with random-named properties. For
example (not an actual case):

    +js(json-prune, playlist.*.adserver)

Where `adserver` would be a property member of an
object which is itself a property of `playlist`, but
which name is unknown or is variable.
2020-06-26 10:03:48 -04:00
Raymond Hill
da6cdf977e Make Firefox dev build auto-update 2020-06-25 17:35:33 -04:00
Raymond Hill
b4a06e9fe8 Import translation work from https://crowdin.com/project/ublock 2020-06-25 17:28:51 -04:00
Raymond Hill
726f03febc new revision for release candidate 2020-06-25 17:26:53 -04:00
Raymond Hill
db198b0904 Fix regression in pure hostname filters with wildcard
The regression broke filters of the form:

    ||trk*.vidible.tv^

The new parser will eventually interpret differently
wildcard characters when they are used in a manner
meant to represent only hostname-valid characters,
but this will come in a future version -- for now
the default meaning must be preserved until the
static network filtering engine is modified to
enforce the new interpretation.
2020-06-25 17:13:42 -04:00
Raymond Hill
c4d39d3763 Fix cookie removal on subdomains of base domain
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1126
2020-06-24 17:18:14 -04:00
Raymond Hill
d95bab1e43 Make Firefox dev build auto-update 2020-06-21 13:45:22 -04:00
Raymond Hill
730fa92d18 New revision for release candidate 2020-06-21 13:33:23 -04:00
Raymond Hill
ec4de80345 Revert "Reject downloaded lists which are deemed truncated"
This reverts commit de219dae26.
2020-06-21 13:31:13 -04:00
Raymond Hill
22864cc3a9 Make Firefox dev build auto-update 2020-06-21 08:25:24 -04:00
Raymond Hill
63f1b866e7 Import translation work from https://crowdin.com/project/ublock 2020-06-21 08:17:18 -04:00
Raymond Hill
7405455419 New revision for release candidate 2020-06-21 08:13:46 -04:00
Raymond Hill
86d28b57c3 Outright reject patterns with more than one space character
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1118

This is not a complete fix for the reported issue, but this
should catch many reported cases of invalid filters in the
wild.
2020-06-21 08:08:18 -04:00
Raymond Hill
2ea6769065 Make Firefox dev build auto-update 2020-06-19 11:51:17 -04:00
Raymond Hill
178d006873 New revision for stable build 2020-06-19 11:39:02 -04:00
Raymond Hill
de219dae26 Reject downloaded lists which are deemed truncated
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/hbpo86/

For unknown reasons at this point, it appears some users
end up with a truncated version of EasyList, leading to
improper blocking in uBO.

This commit adds a heuristic to discard a downloaded list
when its new size is more than 25% smaller than the
currently cached version.
2020-06-19 11:35:44 -04:00
Raymond Hill
774fb15ebb Make Firefox dev build auto-update 2020-06-18 11:41:08 -04:00
Raymond Hill
1bbacb0864 New revision for release candidate 2020-06-18 11:34:56 -04:00
Raymond Hill
64cfc5779d Use default_public_interface_only in Chromium-based browser
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/hbea3z/

It appears the implementation of the `disable_non_proxied_udp`
setting changed in Chromium, leading to WebRTC becoming
wholly unfunctional. Fall back to use `default_public_interface_only`
in Chromium-based browsers.
2020-06-18 11:30:05 -04:00
Raymond Hill
f889dc6e11 Make Firefox dev build auto-update 2020-06-18 08:36:18 -04:00
Raymond Hill
05c040ab8b New revision for release candidate 2020-06-18 08:30:55 -04:00
Raymond Hill
5295bd2280 Import translation work from https://crowdin.com/project/ublock 2020-06-18 08:00:53 -04:00
Raymond Hill
3f9c5b9bc4 Fix regression in syntax highlighting
Specifically, fix trailing comments improperly
rendered as filter option.

Regression from:
- https://github.com/gorhill/uBlock/commit/6d8b310d9422#diff-fb99537d908d0afc8d76e7c98bbc9fea
2020-06-17 12:32:52 -04:00
Raymond Hill
d9dc098d58 Make Firefox dev build auto-update 2020-06-17 08:30:49 -04:00
Raymond Hill
73f83b8333 New revision for release candidate 2020-06-17 08:15:15 -04:00
Raymond Hill
bbf1cb22a0 Improve auto-completion heuristics
Related commit:
- 3e72a47c1f
2020-06-17 08:12:47 -04:00
Raymond Hill
001e1ea21e Fix syntax-highlighting of regex-based filters
Regression from:
- https://github.com/gorhill/uBlock/commit/6d8b310d9422#diff-fb99537d908d0afc8d76e7c98bbc9fea
2020-06-16 18:56:26 -04:00
Raymond Hill
4dc920484c Make Firefox dev build auto-update 2020-06-16 11:00:37 -04:00
Raymond Hill
9056f1923b New revision for dev build 2020-06-16 10:50:32 -04:00
Raymond Hill
aa000e282e Add auto-completion for procedural operators
Related commit:
- 3e72a47c1f
2020-06-16 08:59:55 -04:00
Raymond Hill
de8d217983 Make Firefox dev build auto-update 2020-06-15 19:15:49 -04:00
Raymond Hill
42df661d9b New revision for dev build 2020-06-15 19:08:39 -04:00
Raymond Hill
c9cfd62c21 Add auto-completion capability for filter options
Related commit:
- 3e72a47c1f

Use ctrl-space to auto-complete filter options and
`redirect=` resources in _"My filters"_ pane.
2020-06-15 19:05:39 -04:00
Raymond Hill
5cb2283736 Make Firefox dev build auto-update 2020-06-15 09:31:09 -04:00
Raymond Hill
2a167586c6 Import translation work from https://crowdin.com/project/ublock 2020-06-15 09:22:41 -04:00
Raymond Hill
775f676883 New revision for dev build 2020-06-15 09:20:06 -04:00
Raymond Hill
3e72a47c1f Add support for auto-completion in _My filters_ pane
This commit adds CodeMirror's auto-completion capability
to the _My filters_ pane.

Currently, auto-completion is available for scriptlet
tokens: pressing ctrl-space while the text cursor is
positioned where a scriptlet token should appear will
cause auto-completion to kick-in. In case of ambiguity,
CodeMirror's widget to pick a specific scriptlet will
appear.
2020-06-15 09:15:13 -04:00
Raymond Hill
f8b0ee0fdc Fix validation of redirect rules with empty resource
The `empty` resource is a special case, it does not
require a network type to be present to be valid.
2020-06-15 07:40:18 -04:00
Raymond Hill
cb5437b161 Support redirect rules with no pattern
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/977

No pattern will imply `*` for the redirect destination
part of the rule.
2020-06-14 15:09:35 -04:00
Raymond Hill
7e4b920bc7 Make Firefox dev build auto-update 2020-06-14 14:21:10 -04:00
Raymond Hill
11a2d2123e New revision for dev build 2020-06-14 14:04:20 -04:00
Raymond Hill
0e32e4391d Add ability to comment out block of filters
Pressing Tab in _My filters_ will toggle the
commenting out of filters in the current
selection or current line if no selection.
2020-06-14 14:02:33 -04:00
Raymond Hill
84e53541aa Make Firefox dev build auto-update 2020-06-14 12:20:36 -04:00
Raymond Hill
75e364083b New revision for dev build 2020-06-14 12:13:52 -04:00
Raymond Hill
6d8b310d94 Minor code review of static filtering parser
Rename `l` property to `len`, to avoid ambiguity as
`l` could mean _left_ or _length_. Typically `l` is
to be used for _left_ (whereas `r` is to be used for
_right_).

Additionally, add CodeMirror's bracket-matching and
bracket auto-closing to _My filters_ pane and and
bracket-matching to asset viewer page.
2020-06-14 12:05:42 -04:00
Raymond Hill
2523959f20 Better handling of separator errors in domain lists
Specifically, do not invalidate valid hostnames when
there are extraneous separators: that sort of error
will be visually highlighted but will not otherwise
prevent a filter from being properly enforced.
2020-06-13 17:04:42 -04:00
Raymond Hill
875a33e381 Make Firefox dev build auto-update 2020-06-13 13:00:43 -04:00
Raymond Hill
f04d5cd71a New revision for dev build 2020-06-13 12:56:15 -04:00
Raymond Hill
a211c2c95d Convert selector compiler closured code into standalone class
This ensures proper garbage collection once the parser
is no longer referenced -- this is important now that
the parser is instantiated on-demand only.
2020-06-13 12:53:49 -04:00
Raymond Hill
0ec4c911dd Fix improper handling of regex flags in search widget
Reported internally.

Potential regex flags are passed as is to RegExp contructor,
and in case of failure the query is deemed a plain text one.

Related commit:
- 8de67d22bd (diff-3f4aa453cefa49f6431f1bba3bb53a8e)
2020-06-13 11:13:48 -04:00
Raymond Hill
99a162f925 Make Firefox dev build auto-update 2020-06-13 09:05:32 -04:00
Raymond Hill
1d5800629a New revision for dev build 2020-06-13 08:57:49 -04:00
Raymond Hill
1a082e0581 Expand parser's ability to process static extended filtering
This commit moves some of the parsing logic of static
extended filtering into the static filtering parser; this
allows better syntax highlighting and creation-time
error-catching for cosmetic, HTML, and scriptlet filters.
2020-06-13 08:48:56 -04:00
Raymond Hill
681bd70116 Fix reverse lookup of generic cosmetic exception filters
Reported internally.
2020-06-11 07:18:45 -04:00
Raymond Hill
89fcdc6a11 Update URL for EasyList Lithuania
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1106
2020-06-10 16:28:31 -04:00
Raymond Hill
d775a58712 Make Firefox dev build auto-update 2020-06-10 12:35:34 -04:00
Raymond Hill
bfa6493abe Import translation work from https://crowdin.com/project/ublock 2020-06-10 12:29:22 -04:00
Raymond Hill
b292fa738f New revision for dev build 2020-06-10 12:25:29 -04:00
Raymond Hill
6926030b68 Expand static parser to better detect invalid syntax
Specifically:

There can't be more than one `redirect` or `csp`
option.

There can be no type specified when there is a
`csp` option.

There must be one single network-related type when
there is a `redirect` option. Since `empty` and
`mp4` imply a `redirect` and a network-related
type, these can't be used along another `redirect`
or network-related type.

Related commit:
- 01b1ed9a98
2020-06-10 12:15:50 -04:00
Raymond Hill
d784fda98b Fix matching of filters with trailing ^|
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/h08132/can_we_enable_javascript_on_the_homepage_but/ftkxvc5/

The right bound of the match needs to be incremented
when a trailing `^` matches a character.
2020-06-10 09:53:21 -04:00
Raymond Hill
bc7f149252 Minor code review of static parser code 2020-06-09 11:58:27 -04:00
Raymond Hill
410ef862a4 Make Firefox dev build auto-update 2020-06-08 12:55:30 -04:00
Raymond Hill
577d023d47 New revision for dev build 2020-06-08 12:46:28 -04:00
Raymond Hill
afd3443e4b Merge branch 'master' of github.com:gorhill/uBlock 2020-06-08 12:40:33 -04:00
Raymond Hill
08eca13364 Visually emphasize regex-based pattern
To help prevent mistakenly creating regex-based
patterns.
2020-06-08 12:39:31 -04:00
Raymond Hill
c7a9977b09 Update README.md 2020-06-08 10:57:25 -04:00
Raymond Hill
ccbfd046c5 Update README.md 2020-06-08 10:52:34 -04:00
Raymond Hill
994342506b Make Firefox dev build auto-update 2020-06-08 09:10:22 -04:00
Raymond Hill
a36e8e9e88 New revision for dev build 2020-06-08 08:57:21 -04:00
Raymond Hill
58c6baf0ba Syntax highlight dubious patterns
Network filters with dubious patterns are discarded
by the static network filtering engine.
2020-06-08 08:53:29 -04:00
Raymond Hill
5752ad58b8 Code review of option iterator code
Related commit:
- 01b1ed9a98

Reuse returned item each time the iterator is
restarted.
2020-06-07 19:30:30 -04:00
Raymond Hill
41523d21db Prepare static parser to better detect invalid filters
Additionally, syntax-color invalid regular expression.
2020-06-07 11:55:27 -04:00
Raymond Hill
d2d19b747c Make Firefox dev build auto-update 2020-06-07 09:00:20 -04:00
Raymond Hill
28db661ce0 New revision for dev build 2020-06-07 08:54:41 -04:00
Raymond Hill
7dc962281f Set max token length on parser for consistent compilation
Reported internally. The issue could cause the logger
to be unable to successfully reverse-lookup a filter
list for a filter which had tokens longer than 6
characters followed by wildcard.

Regression from:
- 01b1ed9a98
2020-06-07 08:50:20 -04:00
Raymond Hill
15657a3f1e Make Firefox dev build auto-update 2020-06-07 07:51:13 -04:00
Raymond Hill
49258bcbea New revision for dev build 2020-06-07 07:44:04 -04:00
Raymond Hill
f869348d1f Fix string slice extraction from parser
Reported internally.

Regression from:
- 01b1ed9a98

The regression was made apparent be the fact that
AdGuard filter lists have lines ending with the
CR character.
2020-06-07 07:40:00 -04:00
Raymond Hill
5408e10a95 Make Firefox dev build auto-update 2020-06-06 17:50:47 -04:00
Raymond Hill
c75324803b New revision for dev build 2020-06-06 17:43:49 -04:00
Raymond Hill
0d1a532bfa Disregard possible trailing carriage return characters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1101
2020-06-06 17:42:21 -04:00
Raymond Hill
b34e6da6ec Split fetching settings/storage used in Settings pane
Computing storage-used figures can take longer than
usual sometimes when a lot of filter lists are enabled,
and this can cause the Settings pane to take longer to
be filled the first time it is opened. Fetching
settings and storage-used figures separately removes
that potential delay (they were fetched together in
a single Promise.all() call).
2020-06-06 08:45:24 -04:00
Raymond Hill
ec2670903b Make Firefox dev build auto-update 2020-06-05 10:35:02 -04:00
Raymond Hill
a3e13718aa New revision for dev build 2020-06-05 10:01:10 -04:00
Raymond Hill
2ba4312a8b Minor fine-tuning of CSS color 2020-06-05 10:00:35 -04:00
Raymond Hill
6633e2635d Fix dealing with trailing newline characters
Regression from:
- 01b1ed9a98

The new parser needs to be able to deal with trailing
newline characters, which if present will be interpreted
as trailing spaces.
2020-06-05 09:57:48 -04:00
Raymond Hill
cef034f650 Remove Armenian translation from Opera build
Opera requires that there is a valid translated
description for the specific locale to be accepted.
2020-06-04 08:38:44 -04:00
Raymond Hill
5f32859eb0 Make Firefox dev build auto-update 2020-06-04 08:00:59 -04:00
Raymond Hill
8faa6dd47c New revision for dev build 2020-06-04 07:33:14 -04:00
Raymond Hill
f075ba388f Import translation work from https://crowdin.com/project/ublock 2020-06-04 07:32:07 -04:00
Raymond Hill
01b1ed9a98 Add a new static filtering parser
A new standalone static filtering parser is introduced,
vAPI.StaticFilteringParser. It's purpose is to parse
line of text into representation suitable for
compiling filters. It can additionally serves for
syntax highlighting purpose.

As a side effect, this solves:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1038

This is a first draft, there are more work left to do
to further perfect the implementation and extend its
capabilities, especially those useful to assist filter
authors.

For the time being, this commits break line-continuation
syntax highlighting -- which was already flaky prior to
this commit anyway.
2020-06-04 07:18:54 -04:00
Raymond Hill
e8c8fab8c8 Make Firefox dev build auto-update 2020-05-31 07:20:45 -04:00
Raymond Hill
65454dcf6a New revision for dev build 2020-05-31 07:12:43 -04:00
Raymond Hill
46197a11c5 Possibly fix popup document not being found
This is a blind fix attempt, related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1085
2020-05-31 07:08:24 -04:00
Raymond Hill
0fb669d0d4 Make Firefox dev build auto-update 2020-05-29 07:30:53 -04:00
Raymond Hill
72e6ccce8a Import translation work from https://crowdin.com/project/ublock 2020-05-29 07:24:41 -04:00
Raymond Hill
e9dca26571 New revision for dev build 2020-05-29 07:22:02 -04:00
Raymond Hill
3508d476ff Fix bad logger output for miss set of hostnames
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1076
2020-05-29 07:19:23 -04:00
Raymond Hill
5924cab7b3 Make Firefox dev build auto-update 2020-05-27 08:05:50 -04:00
Raymond Hill
748442cf64 New revision for dev build 2020-05-27 08:01:29 -04:00
Raymond Hill
fd90776a25 Import translation work from https://crowdin.com/project/ublock 2020-05-27 07:47:23 -04:00
Raymond Hill
4b07d3b983 New revision for dev build 2020-05-27 07:44:21 -04:00
Raymond Hill
a974562f7e Expand HTML entities in title attribute
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1074
2020-05-27 06:54:11 -04:00
Raymond Hill
f6d664ba34 Import translation work from https://crowdin.com/project/ublock 2020-05-26 09:36:17 -04:00
Raymond Hill
faffb63234 easylist.to server is fixed, revert a79e0c8f40 2020-05-26 08:14:08 -04:00
Raymond Hill
a79e0c8f40 Use secure.fanboy.co.nz/easylist.txt for the time being
Related discussion:
- https://twitter.com/gorhill/status/1264689513475039232
2020-05-25 07:32:02 -04:00
Raymond Hill
972f949ffd Make Firefox dev build auto-update 2020-05-25 07:21:05 -04:00
Raymond Hill
cd1fef2d5c On re-consideration, remove popupPanelGodMode
`filterAuthorMode` is sufficient to enable the
ability to create _allow_ rules from popup panel.
2020-05-25 07:08:02 -04:00
Raymond Hill
903616f9a8 New revision for dev build 2020-05-25 07:05:53 -04:00
Raymond Hill
8310e91e0e Fix mixing hostname and entity in domain= option
Reported internally.

Related commit:
- 3c67d2b89f
2020-05-25 07:02:49 -04:00
Raymond Hill
b2d0e95b4f Make Firefox dev build auto-update 2020-05-24 11:20:31 -04:00
Raymond Hill
234eabe68b New revision for dev build 2020-05-24 11:10:51 -04:00
Raymond Hill
b61ce3600a Import translation work from https://crowdin.com/project/ublock 2020-05-24 11:10:17 -04:00
Raymond Hill
3c67d2b89f Add support for entity-matching in domain= filter option
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1008

This commit adds support entity-matching in the filter
option `domain=`. Example:

    pattern$domain=google.*

The `*` above is meant to match any suffix from the Public
Suffix List. The semantic is exactly the same as the
already existing entity-matching support in static
extended filtering:

- https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#entity

Additionally, in this commit:

Fix cases where "just-origin" filters of the form `|http*://`
were erroneously normalized to `|http://`. The proper
normalization of `|http*://` is `*`.

Add support to store hostname strings into the character
buffer of a hntrie container. As of commit time, there are
5,544 instances of FilterOriginHit, and 732 instances of
FilterOriginMiss, which filters require storing/matching a
single hostname string. Those strings are now stored in the
character buffer of the already existing origin-related
 hntrie container. (The same approach is used for plain
patterns which are not part of a bidi-trie.)
2020-05-24 10:46:16 -04:00
Raymond Hill
56a3aff857 Make Firefox dev build auto-update 2020-05-23 20:06:11 -04:00
Raymond Hill
2fc4113011 new revision for dev build 2020-05-23 19:50:49 -04:00
Raymond Hill
196746386c Double-tap ctrl key to toggle god mode in popup panel
After many feedback:
- https://github.com/gorhill/uBlock/commit/aec2f81884c5#commitcomment-39385794

This is convenient enough and this still fulfill
the idea of not being able to create mindlessly
allow_ rules.
2020-05-23 19:48:28 -04:00
Raymond Hill
a018937792 Use ctrl-spacebar instead of spacebar to toggle god mode
Related feedback:
- https://github.com/gorhill/uBlock/commit/aec2f81884c5#commitcomment-39385794
2020-05-23 09:26:21 -04:00
Raymond Hill
aec2f81884 Add ability to toggle god mode in popup panel
Pressing spacebar will toggle god mode in popup
panel.

This capability shouldn't encourage people to
misuse _allow_ rules as having to press the
space bar act as an extra necessary step which
purpose is to make the creation of _allow_ rules
more mindful.
2020-05-23 06:37:04 -04:00
Raymond Hill
9270f50fe3 Fix dev build version number as per current stable 1.27.6 2020-05-22 12:38:45 -04:00
Raymond Hill
66e114cee9 Make Firefox dev build auto-update 2020-05-22 11:55:45 -04:00
Raymond Hill
75eb791116 New revision for dev build 2020-05-22 11:51:38 -04:00
Raymond Hill
162e537270 Make the creation of _allow_ rules in panel an opt-in feature
There have been too many examples out there of users
opting-in to "I am an advanced user" and yet still misusing
dynamic filtering by creating _allow_ rules where _noop_
rules should be used.

Creating _allow_ rules has serious consequences as these
override blocking static filters and can potentially
disable other advanced filtering ability such as
HTML filtering and scriptlet injection -- often used
to deal with anti-blocker mechanisms.

The ability to point-and-click to create _allow_ rules
from the popup panel is no longer allowed by default.

An new advanced setting has been added to enable
the ability to create _allow_ rules from the popup
panel, `popupPanelGodMode`, which default to `false`.
Set to `true` to restore ability to set _allow_ rules
from popup panel.

Since the creation of _allow_ rules is especially useful
to filter list authors, to diagnose and narrow down site
breakage as a result of problematic blocking filter,
the creation of _allow_ rules will still be available
when the advanced setting `filterAuthorMode` is `true`.

This change is probably going to be problematic to all
those users who were misusing dynamic filtering by
creating _allow_ rules instead of _noop_ rules -- but
the breakage is going to bring their misusing to their
attention, a positive outcome.
2020-05-22 11:35:44 -04:00
Raymond Hill
7b140a139e Import translation work from https://crowdin.com/project/ublock 2020-05-22 10:14:08 -04:00
Raymond Hill
5f4e6d80e0 Add ability to lock firewall height to basic pane height
New advanced setting: `popupPanelHeightMode`.
Default value: 0

Set to 1 to force the height of the firewall pane
to be no more than the height of the basic pane.

Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/785#issuecomment-622327450
2020-05-22 08:47:51 -04:00
Raymond Hill
735c2ffae2 Make Firefox dev build auto-update 2020-05-20 14:06:06 -04:00
Raymond Hill
ae93c6eb31 Import translation work from https://crowdin.com/project/ublock 2020-05-20 13:53:22 -04:00
Raymond Hill
2764826597 New revision for dev build 2020-05-20 13:46:39 -04:00
Raymond Hill
a5a447186b Fix computing the path of nested lists
Regression from:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1034

Nested lists must have their path computed from their
parent list path, not from the path of the root list.
2020-05-20 12:38:41 -04:00
Raymond Hill
229bc8c0bf Make Firefox dev build auto-update 2020-05-19 11:40:45 -04:00
Raymond Hill
910dfdb123 New revision for dev build 2020-05-19 11:33:21 -04:00
Raymond Hill
238d31c319 Import translation work from https://crowdin.com/project/ublock 2020-05-19 11:31:00 -04:00
Raymond Hill
9f7e5b621d Add new advanced setting: uiStyles
Default to `unset`.

To allow users to bypass uBO's default CSS styles in
case they are causing issues to specific users. It is
the responsibility of the user to ensure the value of
`uiStyles` contains valid CSS property declarations.
uBO will assign the value to `document.body.style.cssText`.

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

For example, in the case of the issue above, one could
set `uiStyles` to `font-family: sans-serif` to force uBO
to the system font for its user interface.
2020-05-19 10:33:36 -04:00
Raymond Hill
5229e0c810 Ensure either .desktop or .mobile class is set
One of these must always be present. This commit
fixes a theoretical case where neither of these
classes are set on the body element.
2020-05-19 10:29:09 -04:00
Raymond Hill
e9f9b5f622 Remove unused CSS file 2020-05-19 10:28:40 -04:00
Raymond Hill
481f0b44e8 Make Firefox dev build auto-update 2020-05-18 15:40:46 -04:00
Raymond Hill
2ee9fb1815 New revision for dev build 2020-05-18 15:31:45 -04:00
Raymond Hill
f0a445b4e9 Import translation work from https://crowdin.com/project/ublock 2020-05-18 15:15:28 -04:00
Raymond Hill
458f364e3e Prevent more/less buttons from wrapping
The text of the more/less buttons was spotted
as wrapping in ja locale.
2020-05-18 09:08:11 -04:00
Raymond Hill
5e8f65920d Make Firefox dev build auto-update 2020-05-18 08:31:22 -04:00
Raymond Hill
01e9231786 New revision for release candidate 2020-05-18 08:25:49 -04:00
Raymond Hill
4c9963afc7 New revision for dev build 2020-05-18 08:24:28 -04:00
Raymond Hill
a760ae3e3c Import translation work from https://crowdin.com/project/ublock 2020-05-18 08:15:17 -04:00
Raymond Hill
cb2ce0676b More fine tuning of desktop panel as per feedback
Reduce height of more/less button. Related feedback:

https://github.com/uBlockOrigin/uBlock-issues/issues/1027#issuecomment-629867784

Use more concise text string for blocked requests
statistics. Related feedback:

https://github.com/uBlockOrigin/uBlock-issues/issues/1027#issuecomment-630015625

Fix issue with overly long hostnames, and spurious
spacing when using undocumented advanced setting.
Related feedback:

https://github.com/uBlockOrigin/uBlock-issues/issues/1027#issuecomment-630104078
2020-05-18 08:09:26 -04:00
Raymond Hill
2a1572982b Remove stray extra top/bottom thin gap in tool icons
I can't remember the reason for the added thin gap,
there is no benefit from this for the desktop panel,
probably stray CSS code from some earlier fiddlings.
2020-05-17 17:35:01 -04:00
Raymond Hill
a66cda167c Make Firefox dev build auto-update 2020-05-17 12:40:27 -04:00
Raymond Hill
79f8962732 New revision for dev build 2020-05-17 12:33:29 -04:00
Raymond Hill
ddc03154d7 Fix inconsistent spacing in panel's statistics section 2020-05-17 12:30:04 -04:00
Raymond Hill
9c3e9eff1c Make Firefox dev build auto-update 2020-05-17 09:20:37 -04:00
Raymond Hill
2b15a9fbfd New revision for dev build 2020-05-17 09:00:53 -04:00
Raymond Hill
8169614b46 Import translation work from https://crowdin.com/project/ublock 2020-05-17 09:00:08 -04:00
Raymond Hill
2237d97466 Even more fine tuning of UI as per feedback
Fix unstyled checkbox in "Filter lists" pane.
Related feedback:

https://github.com/uBlockOrigin/uBlock-issues/issues/1027#issuecomment-629780098

Hopefully fix glitchy popup panel when opened
from the extension icon. By default the panel is
configured to be rendered in landscape. It will be
toggled programmatically to portrait mode when
either the environment is mobile or the viewport
is horizontally constrained. Related feedback:

https://github.com/uBlockOrigin/uBlock-issues/issues/1027#issuecomment-629712393

New layout for rendering the statistics text
strings in landscape mode, so as to avoid text
wrapping and to allow a slightly narrower basic
pane. Related discussion:

https://github.com/uBlockOrigin/uBlock-issues/issues/1027#issuecomment-629785966
2020-05-17 08:49:37 -04:00
Raymond Hill
4edbc8d456 Make Firefox dev build auto-update 2020-05-16 18:05:41 -04:00
Raymond Hill
07918ac2ef New revision for dev build 2020-05-16 18:00:07 -04:00
Raymond Hill
5c7aa850dc More fine tuning of new UI as per feedback
Position the backup/restore/reset buttons at the
bottom in Settings pane. Related feedback:

https://github.com/gorhill/uBlock/commit/5bee33253f45#commitcomment-39221329

Use a fixed with for the fireall pane. Related
feedback:

https://github.com/uBlockOrigin/uBlock-issues/issues/1027#issuecomment-629668065

Fall back to a polyfill compact notation when
rednering large numbers in popup panel when the
required Intl.NumberFormat API is not fully
supported, at the expense of not being i18n-
compliant. Related discussion:

https://github.com/uBlockOrigin/uBlock-issues/issues/1027#issuecomment-629696676
2020-05-16 17:51:01 -04:00
Raymond Hill
99c46fc774 Make Firefox dev build auto-update 2020-05-16 09:55:40 -04:00
Raymond Hill
b0f83b641a New revision for dev build 2020-05-16 09:44:42 -04:00
Raymond Hill
009b939d7a Import translation work from https://crowdin.com/project/ublock 2020-05-16 09:43:58 -04:00
Raymond Hill
ed49b42959 Minor fine tuning of CSS in new popup panel
Hopefully these will address some of the glitches
mentioned in the feedback comments:

https://github.com/uBlockOrigin/uBlock-issues/issues/1027#issuecomment-629636210
2020-05-16 09:30:48 -04:00
Raymond Hill
8859d4352f Restore ability to set popup panel font size in advanced settings
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/397

Issue above will require non-trivial changes, so for
now users who prefer smaller/larger popup panel can
fall back on advanced setting `popupFontSize`:

https://github.com/gorhill/uBlock/wiki/Advanced-settings#popupfontsize
2020-05-16 07:36:03 -04:00
Raymond Hill
565680e4e5 Make Firefox dev build auto-update 2020-05-15 21:30:32 -04:00
Raymond Hill
0c4eaf56a4 New revision for dev build 2020-05-15 21:25:22 -04:00
Raymond Hill
80a6ab018c Merge branch 'master' of github.com:gorhill/uBlock 2020-05-15 20:55:59 -04:00
Raymond Hill
1a766530d3 Remove the use of CSS max
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1035

It's not supported on
- Chromium 78 and older
- Firefox 74 and older

Reference:
- https://developer.mozilla.org/en-US/docs/Web/CSS/max
2020-05-15 20:55:40 -04:00
Raymond Hill
c1434e6dfe Remove the use of CSS max
It's not supported on
- Chromium 78 and older
- Firefox 74 and older

Reference:
- https://developer.mozilla.org/en-US/docs/Web/CSS/max
2020-05-15 20:54:33 -04:00
Raymond Hill
a8acd64f96 Make Firefox dev build auto-update 2020-05-15 19:35:34 -04:00
Raymond Hill
7ba8a7c4d7 New revision for dev build 2020-05-15 19:23:58 -04:00
Raymond Hill
6fea9f9e5c Minor fine tuning new panel
The "blocked since install" row has been moved
in last position, so that figures that represent
the current site are grouped together.

Do not prevent wrapping the count text strings,
use a minimum width instead -- those count text
strings can be more verbose in some locale, and
by allowing the text to wrap this result in a
less wide main panel.
2020-05-15 19:16:54 -04:00
Raymond Hill
d65d4e34af Make Firefox dev build auto-update 2020-05-15 18:16:02 -04:00
Raymond Hill
ae4105a3f2 New revision for dev build 2020-05-15 18:11:01 -04:00
Raymond Hill
8ceed3d4ca Fix !#include directive when loading from packaged lists
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1034
2020-05-15 18:06:14 -04:00
Raymond Hill
0d5f8e8fb2 Use fixed width for ruleset tools containers
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1033
2020-05-15 15:31:04 -04:00
Raymond Hill
6c9a43b99a Remove stray test case from popup panel HTML code
Related feedback:
- https://github.com/gorhill/uBlock/commit/9a6feb34d546#r39207667
2020-05-15 13:45:00 -04:00
Raymond Hill
839b107841 Make Firefox dev build auto-update 2020-05-15 12:25:49 -04:00
Raymond Hill
bb873cc776 Import translation work from https://crowdin.com/project/ublock 2020-05-15 12:13:54 -04:00
Raymond Hill
3f749b9938 New revision for dev build 2020-05-15 12:09:28 -04:00
Raymond Hill
4fa5c6b88e Fix uselessly allocating one extra WASM page
spotted as a result of stepping in the code. The issue
is that a uBP "page size" might differ from a WASM
page size, which is always 65536 bytes.
2020-05-15 12:03:05 -04:00
Raymond Hill
2ded039b98 Increase min-width of #main pane in popu panel
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/gjyt4a/ubo_redesigned/fqps9ad/

As per feedback, Firefox is not causing large numbers
to be rendered in a compact form with German locale.

In Chromium, the number 40712345 renders as "40,71 Mio."
for the German locale, while in Firefox the same renders
as "40.710.000".
2020-05-15 11:49:48 -04:00
Raymond Hill
f060bb5382 Replace FilterPlainHostname with composite filter
FilterPlainHostname, an atomic filter unit, has been
removed and is being replaced with a composite filter
made of a pattern filter and a filter which test
hostname boundaries.

Doing so enables filters formerly being represented
by FilterPlainHostname to be now represented as a
plain pattern, and thus to be potentially stored in
a bidi-trie.

Comparing the new filter histogram with the previous
one:

FilterPatternPlain      24612   26432    1820
FilterComposite         17656   17125    -531
FilterPlainTrie Content 12977   13519     542
FilterPlainHostname      2904       0   -2904
FilterBucket             2121    1961    -160
FilterPlainTrie          1418    1578     160

Which means:
- An extra 542 patterns could be stored in bidi-tries
- There are 531 less composite filters needed
- An extra 160 buckets could be aggregated into 160
  bidi-trie

Memory-wise, it's a marginal gain (as per Chromium's
Javascript VM instance figure) -- i.e. not worth
talking about). CPU-wise, no measurable difference.

The benefit is that I consider this conceptually
simplifies slightly the static network filtering
code base.
2020-05-15 11:00:16 -04:00
Raymond Hill
edc55034d7 Add missing ;
Related feedback:
- https://github.com/gorhill/uBlock/commit/e917213e81d4#commitcomment-39192290
2020-05-15 09:39:48 -04:00
Raymond Hill
35091e6d87 New revision for stable release 2020-05-13 08:42:00 -04:00
Raymond Hill
cb08358449 Import translation work from https://crowdin.com/project/ublock 2020-05-13 07:53:08 -04:00
Raymond Hill
3d3cd58d9f Properly auto-toggle on firewall pane [regression]
... when enabling advanced user mode. A regression
caused the pane to be toggled to hidden state instead
of being toggled to shown state.
2020-05-12 12:08:32 -04:00
Raymond Hill
91b00caa46 Make Firefox dev build auto-update 2020-05-12 10:31:06 -04:00
Raymond Hill
5d4ec45a78 New revision for release candidate 2020-05-12 10:19:17 -04:00
Raymond Hill
1b54c5eccd Import translation work from https://crowdin.com/project/ublock 2020-05-12 10:18:26 -04:00
Raymond Hill
19e6936ed9 Do not show per-site switches at first install time
I meant to not show the per-site switches by default
at first install. I caught this misconfiguration after
testing a first-install scenario.
2020-05-12 10:11:24 -04:00
Raymond Hill
3d4d41206d Clarify passage regarding using other blockers along uBO
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/gi0i1u/
2020-05-12 09:08:10 -04:00
Raymond Hill
b9b940912f Make Firefox dev build auto-update 2020-05-11 18:00:58 -04:00
Raymond Hill
d9c1fe6931 New revision for release candidate 2020-05-11 17:54:11 -04:00
Raymond Hill
8eab156901 Don't block on default Inter font loading 2020-05-11 17:50:53 -04:00
Raymond Hill
b906dbedcf Make Firefox dev build auto-update 2020-05-11 08:30:34 -04:00
Raymond Hill
d78f85454d Merge branch 'master' of github.com:gorhill/uBlock 2020-05-11 08:08:17 -04:00
Raymond Hill
bb8945a629 Import translation work from https://crowdin.com/project/ublock 2020-05-11 08:07:52 -04:00
Raymond Hill
14b4865d7e New revision for release candidate 2020-05-11 08:07:18 -04:00
Raymond Hill
f842ab6d3c Add new scriptlet to allow blocking Amazon's apstag.js
Related issues:
- https://github.com/NanoMeow/QuickReports/issues/3717
- https://www.reddit.com/r/uBlockOrigin/comments/ghjqph/

The specific issue on the mentioned site is that the
site's code expect `window.apstag.fetchBids` to call
client-supplied function. The new scriptlet defuse this
by calling the client code with an empty array.
2020-05-11 07:57:14 -04:00
Raymond Hill
2b955fab59 Make Firefox dev build auto-update 2020-05-10 07:50:46 -04:00
Raymond Hill
176fe14f93 New revision for release candidate 2020-05-10 07:43:59 -04:00
Raymond Hill
cb719f9280 Import translation work from https://crowdin.com/project/ublock 2020-05-10 07:43:30 -04:00
Raymond Hill
b94b2834d7 Fire tune CSS in new popup panel 2020-05-10 07:39:59 -04:00
Raymond Hill
6ba38f33aa Make Firefox dev build auto-update 2020-05-08 09:30:49 -04:00
Raymond Hill
a4aa5c15df New revision for release candidate 2020-05-08 09:21:08 -04:00
Raymond Hill
c42f23c131 Rerrange popup panel layout initializing code
Specifically, the sticky controls box is re-parented
pre-emptively instead of waiting for the decision as
to whether the panel must be toggled into a vertical
layout mode.
2020-05-08 09:16:20 -04:00
Raymond Hill
d8bf72a435 Minor fine-tuning of visual of select elements
Additionally, have the width of the page selector
in the logger proportional to the width of the
logger -- this should improve usability on small
screen devices.
2020-05-08 06:38:23 -04:00
Raymond Hill
6d51c9fb6c Make Firefox dev build auto-update 2020-05-07 15:50:36 -04:00
Raymond Hill
4540b7d19c Import translation work from https://crowdin.com/project/ublock 2020-05-07 15:47:08 -04:00
Raymond Hill
365e0a6ad9 New revision for release candidate 2020-05-07 15:44:36 -04:00
Raymond Hill
b226873bdb Wait a bit longer before testing viewport width 2020-05-07 15:42:30 -04:00
Raymond Hill
2d960cf530 Test against window.innerWidth to toggle vertical layout 2020-05-07 15:24:39 -04:00
Raymond Hill
7fb3ee67d6 Make Firefox dev build auto-update 2020-05-06 20:40:22 -04:00
Raymond Hill
ae1f014e14 New revision for release candidate 2020-05-06 20:35:22 -04:00
Raymond Hill
80b758e18d Let the platform pick the default suspend state at launch
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1004

The fix is trivial enough that I feel confident to make
it part of current RC cycle. There are many reports of
block page at launch on Chromium.

The fix is to let the platform pick it's natural suspend
state rather than force it. Once advanced settings are
read, the suspend state will for toggled only if
`suspendTabsUntilReady` is either `yes` or `no`. This
there should no longer be blocked page on Chromium at
launch when using default settings.

Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/gac2h8/
2020-05-06 20:30:58 -04:00
Raymond Hill
e59ec0cdd0 Make Firefox dev build auto-update 2020-05-06 18:45:27 -04:00
Raymond Hill
4aefbaa1d4 New revision for release candidate 2020-05-06 18:39:57 -04:00
Raymond Hill
1a4e7a33b7 Simplify max-width rule of popup panel
Maybe it will help avoid the spurious
fall-into-vertical-layout issue. Maybe not.
2020-05-06 18:38:05 -04:00
Raymond Hill
e785017808 Make Firefox dev build auto-update 2020-05-06 11:55:17 -04:00
Raymond Hill
3adeaeecdc New revision for release candidate 2020-05-06 11:45:15 -04:00
Raymond Hill
104a1af6c2 Opacity transition probably not needed after all
Originally the idea was to hide from view the
popup panel layout seemingly being recalculated
by the browser at open time, causing visuals in
the popup panel to slightly move around. Possibly
no longer an issue now that the popup panel
initialization code has been modified since then
to use animation frames.
2020-05-06 11:24:07 -04:00
Raymond Hill
65d9e3f820 Shorten transition duration 2020-05-06 11:19:45 -04:00
Raymond Hill
f676b8bc9f Make Firefox dev build auto-update 2020-05-06 10:50:44 -04:00
Raymond Hill
ec0e182744 new revision for release candidate 2020-05-06 10:45:06 -04:00
Raymond Hill
6c9f01bf9f Import translation work from https://crowdin.com/project/ublock 2020-05-06 10:44:15 -04:00
Raymond Hill
563ba9136c Improve heuristic to toggle panel to vertical layout
By using a larger tolerance.

Also, ensure that the hover visuals are still
being used in vertical layout mode on non-mobile
devices.
2020-05-06 10:39:03 -04:00
Raymond Hill
88e92544fa Make Firefox dev build auto-update 2020-05-05 15:00:40 -04:00
Raymond Hill
7ae05e353b New revision for release candidate 2020-05-05 14:36:44 -04:00
Raymond Hill
40b0d3a6b4 Minor visual adjustment in "Filter lists" pane 2020-05-05 14:35:38 -04:00
Raymond Hill
374901f605 Merge in some changes from dark branch 2020-05-05 10:03:11 -04:00
Raymond Hill
6c90cdae3a Avoid fractional pixel in viewport height
Fractional pixel could lead to minor scrollbar
glitch -- reported internally.
2020-05-05 07:08:38 -04:00
Raymond Hill
b69d802f17 Override font size of select on desktop
Regression, related commit:
- c7d196d472
2020-05-04 14:08:03 -04:00
Raymond Hill
6103bc76a2 Make Firefox dev build auto-update 2020-05-04 13:00:18 -04:00
Raymond Hill
e75d2ff9aa New revision for dev build 2020-05-04 12:54:41 -04:00
Raymond Hill
56ac0bdd68 Minor fine tuning of popup panel visual
Specifically:
- Comply with Firefox iconography's size: multiple
  of 16px

Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1005
2020-05-04 12:50:44 -04:00
Raymond Hill
c7d196d472 Re-design document-blocked page as per feedback
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1005

There is probably more work to do regarding the
shown URL -- it might be better to truncate it
on small screen display since it can be quite
long sometimes.
2020-05-04 12:41:10 -04:00
Raymond Hill
a1ef8b3ec8 Fix power button not rendering on Firefox 68 ESR
Related feedback:
- https://github.com/gorhill/uBlock/commit/1f91e527464b#commitcomment-38930600

Looking through MDN documentation, I am unable to
understand why this was broken on Firefox 68 ESR while
this worked fine on Firefox 75.
2020-05-04 11:34:21 -04:00
Raymond Hill
6497d37ead Make Firefox dev build auto-update 2020-05-03 13:05:58 -04:00
Raymond Hill
f9cb23d3df New revision for dev build 2020-05-03 12:58:34 -04:00
Raymond Hill
e2e1558d57 Import translation work from https://crowdin.com/project/ublock 2020-05-03 12:57:42 -04:00
Raymond Hill
5be0be7881 Report popup/popunder when using 'other' filter in logger
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1007
2020-05-03 12:53:13 -04:00
Raymond Hill
002a825891 Add tolerance to popup panel when checking viewport width
I meant to add this to last commit:
- a54718862c
2020-05-03 09:26:19 -04:00
Raymond Hill
a54718862c Maybe fix rare spurious viewport width test in popup panel
In rare instances -- though it definitely happens
eventually -- the popup panel viewport width is seen as
insufficiently wide enough and as a result the popup panel
is toggled into vertical-layout mode.

The added code uses animation frames to delay the
code testing the viewport width. Hopefully this will
work.
2020-05-03 09:18:53 -04:00
Raymond Hill
1f91e52746 Simplify HTML a bit 2020-05-02 19:00:44 -04:00
Raymond Hill
30c7c15108 Make Firefox dev build auto-update 2020-05-02 18:41:01 -04:00
Raymond Hill
f2ab319c50 Import translation work from https://crowdin.com/project/ublock 2020-05-02 18:31:37 -04:00
Raymond Hill
4689e47ae8 New revision for dev build 2020-05-02 18:29:27 -04:00
Raymond Hill
42dedfbd90 Fine tune power button; fix no-popups switch visual regression 2020-05-02 18:27:53 -04:00
Raymond Hill
c56607fe27 Use encodeURIComponent() instead of encodeURI()
Related issue:
- https://github.com/NanoAdblocker/NanoCore/issues/325
2020-05-02 07:20:17 -04:00
Raymond Hill
fb85bb20c8 Make Firefox dev build auto-update 2020-05-01 19:55:46 -04:00
Raymond Hill
0270c50b8b New revision for dev build 2020-05-01 19:50:20 -04:00
Raymond Hill
38cdb42348 Allow hiding blocked count since install in popup panel
Also, more fine tuning of visuals.

Two new advanced settings, to be left undocumented as
"purposefully undocumented setting".
2020-05-01 19:47:01 -04:00
Raymond Hill
040253d586 Make Firefox dev build auto-update 2020-05-01 08:06:04 -04:00
Raymond Hill
206d217e14 Fix persist/revert tools not being shown after changes
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/733#issuecomment-621933750
2020-05-01 07:51:45 -04:00
Raymond Hill
49dea50286 new revision for dev build 2020-05-01 07:46:36 -04:00
Raymond Hill
fd08531b27 Import translation work from https://crowdin.com/project/ublock 2020-05-01 07:45:46 -04:00
Raymond Hill
435c888c67 Add gap between power and ruleset buttons 2020-05-01 07:43:11 -04:00
Raymond Hill
2a5dfc20e1 Fine tune CSS of new popup panel 2020-05-01 07:30:22 -04:00
Raymond Hill
eeae4b2cab Add ability to open the dashboard with a keyboard shortcut
Related feedback:
- https://github.com/gorhill/uBlock/commit/9a6feb34d546#commitcomment-38852663
2020-04-30 10:31:23 -04:00
Raymond Hill
1a0cded43f Make popup panel more/less buttons easier to click 2020-04-30 09:32:32 -04:00
Raymond Hill
8f01f71add Make Firefox dev build auto-update 2020-04-30 08:20:43 -04:00
Raymond Hill
0538d8ba76 New revision for dev build 2020-04-30 08:06:59 -04:00
Raymond Hill
2f912773b5 Import translation work from https://crowdin.com/project/ublock 2020-04-30 07:35:47 -04:00
Raymond Hill
b295d4a0d0 Make the new "fenix" popup panel the default one
The old "classic" popup panel will still be used
when at least one of the following is true:

- advanced setting `uiFlavor` is set to `classic`; or
- the browser is Chromium 65 or older; or
- the browser is Firefox 67 or older

The default configuration of the new popup panel
at installation time is to show the power button,
statistics and the basic tool icons, i.e. access
to dashboard, logger, pickers.

For existing installations, the new popup panel
will be configured by respecting the existing
configuration of the classic one.

The new popup panel is currently already in use
on Firefox for Android, and the visual redesign
was made according to suggestions and feedback
from <https://github.com/brampitoyo> to be
optimal for Firefox for Android.

The new popup panel will allow closing the following
pending issues:

- https://github.com/uBlockOrigin/uBlock-issues/issues/255
- https://github.com/uBlockOrigin/uBlock-issues/issues/178
2020-04-30 06:54:51 -04:00
Raymond Hill
557e06f454 Make Firefox dev build auto-update 2020-04-29 10:10:24 -04:00
Raymond Hill
647c248f15 new revision for dev build 2020-04-29 10:04:25 -04:00
Raymond Hill
018265272d Import translation work from https://crowdin.com/project/ublock 2020-04-29 10:03:41 -04:00
Raymond Hill
23633b388d Fix reported "Storage used:" when info is not available 2020-04-29 10:00:58 -04:00
Raymond Hill
3efee017cf Fix own-rule text color
Related fedback:
- https://github.com/gorhill/uBlock/commit/db9c32185538#commitcomment-38818960
2020-04-29 06:16:59 -04:00
Raymond Hill
d364eb9668 Minor code review 2020-04-28 18:39:31 -04:00
Raymond Hill
90be78d7a2 Make Firefox dev build auto-update 2020-04-28 11:36:08 -04:00
Raymond Hill
06063373a8 new revision for dev build 2020-04-28 11:25:20 -04:00
Raymond Hill
848edbbdf6 Import translation work from https://crowdin.com/project/ublock 2020-04-28 11:24:42 -04:00
Raymond Hill
5227013a8e Add uBO: prefix to logged output in some scriptlets
As per request.
2020-04-28 11:19:26 -04:00
Raymond Hill
d462b50cec Improve presentation of advanced settings page
Specifically:

- Fix exception being thrown when createing an
  empty line

- Syntax-color invalid setting names

- Syntax-color non-default values
2020-04-28 11:07:00 -04:00
Raymond Hill
578594bbd7 Improve logging capabilities of json-prune scriptlet
Specifically:

- Log entries as received by client code
- Prettier and more readable console output
- Ability to only log entries matching a
  specific needle

As per internal discussion at
<https://github.com/uBlockOrigin/uAssets>; limited
logging capabilities of json-prune originally raised
by <https://github.com/gwarser>.
2020-04-28 09:47:03 -04:00
Raymond Hill
96343ecf1a Make Firefox dev build auto-update 2020-04-27 19:15:28 -04:00
Raymond Hill
b0f6df8f87 New revision for dev build 2020-04-27 19:10:15 -04:00
Raymond Hill
9a6feb34d5 Re-order sections in the new popup panel
The blocking-stuff button icons have been brought
closer to the power button.

The go-somewhere button icons have been moved at
the bottom.

The hostname of the current site is now shown below
the power button. The base domain is bolded.

This re-ordering is for a few reasons:

- The blocking-stuff button icons are now closer
  to the revert/persist/reload transient buttons
  which show up when modifying the blocking
  behavior of uBO.

- The makes it easier to potentially bring in a
  very basic view where only the power button and
  the statistics are shown and all the button
  icons are hidden from view.
2020-04-27 19:01:16 -04:00
Raymond Hill
bdf9030a98 Fix hostname extraction when URL has port
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1001

The issue affected only the uncloaking of canonical
names, when the authority part of a URL contained
port information.
2020-04-27 18:30:49 -04:00
Raymond Hill
6259f88598 Add an alias for window.open-defuser scriptlet
As per request from filter list maintainers.

The alias is `nowoif`, in line with other such
defusing scriplets.
2020-04-27 11:24:41 -04:00
Raymond Hill
363d56ebde Make Firefox dev build auto-update 2020-04-27 10:51:12 -04:00
Raymond Hill
7a8899573d New revision for dev build 2020-04-27 10:45:14 -04:00
Raymond Hill
f7c838ef27 Import translation work from https://crowdin.com/project/ublock 2020-04-27 10:44:44 -04:00
Raymond Hill
db9c321855 More work toward re-hauling the user interface
This commit specifically address bringing the
desktop version of the new popup panel's look
and feel more inline with the classic one:

- Hide tool captions on desktop

- Bring back no-popups switch on desktop

- Bring back tooltips on desktop (though they
  are now rendered natively by the browser)

- Use the Photon icons suggested by @brampitoyo
  for the no-popups and no-remote-fonts
  switches
2020-04-27 10:33:49 -04:00
Raymond Hill
a733944624 Add statically.io as CDN provider
As of commit time, the provider caches resources
for at most 24 hours.
2020-04-26 09:59:51 -04:00
Raymond Hill
b08673a471 Make Firefox dev build auto-update 2020-04-26 09:26:11 -04:00
Raymond Hill
37b22d0142 Import translation work from https://crowdin.com/project/ublock 2020-04-26 09:07:52 -04:00
Raymond Hill
cdf7ac33ec New revision for dev build 2020-04-26 09:04:51 -04:00
Raymond Hill
43357e4a4d Mind that checkbox can be in a flex container 2020-04-26 09:02:30 -04:00
Raymond Hill
8ed60af0f9 Fine tune material design-based checkbox code
Summary:
- Make checkbox nodes self-contained
  (a > b) instead of (a + b)
- Revisit logger to use new checkboxes
2020-04-26 08:44:00 -04:00
Raymond Hill
fefc7e21b2 Unbreaking checkbox in logger settings
Related commit:
- f9b385ffb1

The real fix is not trivial, so this is a workaround
until the real fix. The logger's setting dialog is
also suffering from small visual issues due to all
the CSS changes elsewhere recently, this will be fixed
at the same time.
2020-04-25 18:57:36 -04:00
Raymond Hill
533f0e5969 Make Firefox dev build auto-update 2020-04-25 15:30:34 -04:00
Raymond Hill
bedaf87399 Import translation work from https://crowdin.com/project/ublock 2020-04-25 15:24:37 -04:00
Raymond Hill
debd840dea New revision for dev build 2020-04-25 15:22:11 -04:00
Raymond Hill
f9b385ffb1 Standardize checkbox visual to material design
Motivation:
- To align with Firefox Preview's own design
- To uniformize checkbox look and behavior
  across all platforms
2020-04-25 15:19:07 -04:00
Raymond Hill
525eb9f922 Lint HTML files using tidy 2020-04-25 11:31:42 -04:00
Raymond Hill
c6099d174d Fix typos in HTML code
Related feedback:
- https://github.com/gorhill/uBlock/commit/01ab072f07f8#r38739334

Will `tidy` from now on.
2020-04-25 11:20:36 -04:00
Raymond Hill
dde8965580 Make Firefox dev build auto-update 2020-04-25 10:46:11 -04:00
Raymond Hill
bbdb379608 New revision for dev build 2020-04-25 10:30:19 -04:00
Raymond Hill
3afe286124 Translation work from https://crowdin.com/project/ublock 2020-04-25 10:27:04 -04:00
Raymond Hill
fe94aa331a Replace CodeMirror resize code with CSS flex 2020-04-25 10:19:08 -04:00
Raymond Hill
468f4d6b8e Fix power button color in classic popup panel
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/g7i95t/
2020-04-25 08:03:34 -04:00
Raymond Hill
01ab072f07 Add localized strings for contributions in About pane
Additionally, an entry for filter list
contributors has been added.
2020-04-24 20:17:21 -04:00
Raymond Hill
9845e4d61a Replace old resizing code with CSS flex 2020-04-24 20:10:35 -04:00
Raymond Hill
c02349979c Make Firefox dev build auto-update 2020-04-24 10:05:29 -04:00
Raymond Hill
ee2d7bfa17 Import translation work from https://crowdin.com/project/ublock 2020-04-24 09:54:48 -04:00
Raymond Hill
7396dd2c91 New revision for dev build 2020-04-24 09:48:06 -04:00
Raymond Hill
f16d77ef03 Avoid applying CSS filter twice 2020-04-24 09:46:44 -04:00
Raymond Hill
d2897db2b6 More fine tuning of user interface
Noteworthy:
- Make new popup panel better resize in desktop
  environment
- Fix button visuals in "My rules" pane
- Keep "Update now" button visible until update
  is completed
- Renaming CSS variables for consistency
2020-04-24 09:33:44 -04:00
Raymond Hill
201308217f Make Firefox dev build auto-update 2020-04-23 14:40:33 -04:00
Raymond Hill
578de5adbe New revision for dev build 2020-04-23 14:30:36 -04:00
Raymond Hill
98f19facec More fine tuning as per feedback
Better constrast for warning color. Related feedback:
- 5bee33253f (commitcomment-38700085)

Revisit how large numbers are rendered in a
compact form in the new popup panel. Feedback
from https://crowdin.com/project/ublock pointed
out that the string to translate was flawed for
Chinese locale (and possibly in some other
locales as well).
2020-04-23 14:19:41 -04:00
Raymond Hill
0a73c767cf Make Firefox dev build auto-update 2020-04-23 10:40:47 -04:00
Raymond Hill
f70078b943 New revision for dev build 2020-04-23 10:25:13 -04:00
Raymond Hill
ed383bd470 Import translation work from https://crowdin.com/project/ublock 2020-04-23 10:16:56 -04:00
Raymond Hill
fea02031c1 Mind possibly too long abbreviation 2020-04-23 10:08:06 -04:00
Raymond Hill
0afe7c2231 More fine tuning of user interface
The rendering of the total number of blocked
requests will now be abbreviated using `M` and
`G` when the block count is respectively above
1 million and 1 billion.

The storage used figure in the Settings pane
will be rendered using KB, MB or GB.
2020-04-23 08:45:43 -04:00
Raymond Hill
04c07f3e10 Use large units for large values in Settings pane
Shorten "Storage used" values using large
units, i.e. shorten rendered values using
KB, MB, and GB for large figures.
2020-04-22 16:30:23 -04:00
Raymond Hill
64cb7fa843 Import translation work from https://crowdin.com/project/ublock 2020-04-22 16:29:57 -04:00
Raymond Hill
ffb6c9c319 Make Firefox dev build auto-update 2020-04-22 11:30:33 -04:00
Raymond Hill
550a9637d1 New revision for dev build 2020-04-22 11:18:34 -04:00
Raymond Hill
b277b084d5 More fine tuning of latest UI changes 2020-04-22 11:17:58 -04:00
Raymond Hill
5b82966cd1 Make Firefox dev build auto-update 2020-04-22 10:45:54 -04:00
Raymond Hill
5ce7f0d9d6 New revision for dev build 2020-04-22 10:42:35 -04:00
Raymond Hill
4eef5432a9 More fine tuning of UI 2020-04-22 09:56:37 -04:00
Raymond Hill
6bcc371d05 Make Firefox dev build auto-update 2020-04-21 16:51:10 -04:00
Raymond Hill
cfb2461263 New revision for dev build 2020-04-21 16:39:52 -04:00
Raymond Hill
5bee33253f More work toward redesigning the UI
As per email feedback from Mozilla's
https://github.com/brampitoyo

This is yet another incremental step toward
redesigning the UI, much more is left to do.
The idea is to align uBO's UI to that of
Firefox Preview.

Additionally, code has been added to reset
the new popup panel to vertical layout should
the viewport be not wide enough to
accomodate the horizontal layout.

Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/g4ufvi/
2020-04-21 16:33:08 -04:00
Raymond Hill
a213c89eaa Make Firefox dev build auto-update 2020-04-20 10:00:57 -04:00
Raymond Hill
e59f1f4185 New revision for dev build 2020-04-20 09:56:19 -04:00
Raymond Hill
b5b72059eb Import translation work from https://crowdin.com/project/ublock 2020-04-20 09:51:30 -04:00
Raymond Hill
8a6dc8ee88 Minor fine tuning of some dashboard visuals
More left to do as per reference documentation:
- https://protocol.mozilla.org/
- https://material.io/
2020-04-20 09:45:18 -04:00
Raymond Hill
7f999b759f Fix broken DOM inspector [regression]
Regression from:
- 0bcf04d3dd

Related feedback:
- https://github.com/gorhill/uBlock/commit/0bcf04d3dda2#commitcomment-38594585

The DOM inspector client code is injected as
content script, thus it must be categorized as
non-privileged code.
2020-04-19 08:33:09 -04:00
Raymond Hill
7adf1515ed Make Firefox dev build auto-update 2020-04-18 10:01:28 -04:00
Raymond Hill
9cb701105a New revision for dev build 2020-04-18 09:55:06 -04:00
Raymond Hill
15c5b48326 New revision for dev build 2020-04-18 09:54:25 -04:00
Raymond Hill
21d7c7ee3d More fine tuning of various visuals
Summarily:
- Bring back horizontal layout for fenix popup panel
  to be used in desktop environment
- Address feedback from
  https://github.com/gorhill/uBlock/commit/54b68ebd9426#commitcomment-38549940
- Allow future dark theme to be enabled programmatically
2020-04-18 09:48:53 -04:00
Raymond Hill
d95b27915f Bring fingerprint2.js scriptlet up to date
Related issue:
- https://github.com/uBlockOrigin/uAssets/pull/4961
2020-04-18 09:45:07 -04:00
Raymond Hill
db5967731d Update information about Microsoft Edge version 2020-04-17 07:29:54 -04:00
Raymond Hill
64a82880dc Make Firefox dev build auto-update 2020-04-16 09:35:58 -04:00
Raymond Hill
08be3a0558 Add CDN URLs for "uBlock filters -- Unbreak" 2020-04-16 09:03:29 -04:00
Raymond Hill
bc62892928 New revision for dev build 2020-04-16 08:53:33 -04:00
Raymond Hill
54b68ebd94 Fine tune various visuals
Related feedback:
- e917213e81 (commitcomment-38533349)
2020-04-16 08:49:34 -04:00
Raymond Hill
0bcf04d3dd Centralize access to browser.storage.local('localStorage')
Related commit:
- 2ac288397c

Instead of having the `localStorage` data being accessed
from different locations, all accesses are now funnelled
to the main process.

Doing so simplifies the code in auxiliary processes and
also remove the need for browser.storage.local.onChanged()
listeners.

No longer using an onChanged() listener also happens to
remove spurious warnings from the Firefox console.
2020-04-15 15:55:29 -04:00
Raymond Hill
572750584c Make Firefox dev build auto-update 2020-04-15 10:40:26 -04:00
Raymond Hill
9ca43e186e New revision for dev build 2020-04-15 10:36:15 -04:00
Raymond Hill
1de0e820b8 Replace requestAnimationFrame-if.js with no-requestAnimationFrame-if.js
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/981

To be consistent with no-setTimeout-if.js.

requestAnimationFrame-if.js is deprecated and must no longer be
used, it will be removed in the near future when it's no longer
in use in default filter lists.

no-requestAnimationFrame-if.js is aliased to norafif.js.
2020-04-15 10:06:53 -04:00
Raymond Hill
042935b22a Ensure element picker's height is not affected by web sites
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/987
2020-04-15 09:46:12 -04:00
Raymond Hill
ea87ccfa0d Make Firefox dev build auto-update 2020-04-14 18:32:13 -04:00
Raymond Hill
64ef9cec5b New revision for dev build 2020-04-14 11:59:35 -04:00
Raymond Hill
efa3c140ab Fix typo in last commit
Related commit:
- 36711a7c07
2020-04-14 11:57:59 -04:00
Raymond Hill
676fff6843 Make Firefox dev build auto-update 2020-04-14 09:27:21 -04:00
Raymond Hill
e11c59e310 New revision for dev build 2020-04-14 09:20:26 -04:00
Raymond Hill
8c1a055bfe Import translation work from https://crowdin.com/project/ublock 2020-04-14 09:19:31 -04:00
Raymond Hill
b20e33ff18 Fine tune CSS to restore intended visuals on fenix 2020-04-14 09:15:36 -04:00
Raymond Hill
36711a7c07 Fix denyallow thrown away with pure hostname patterns 2020-04-14 09:10:59 -04:00
Raymond Hill
ab324b1374 Make Firefox dev build auto-update 2020-04-13 16:51:04 -04:00
Raymond Hill
a399676664 New revision for dev build 2020-04-13 16:42:44 -04:00
Raymond Hill
7f55e5d54d Fine tune CSS and fix CSS regressions in last commit
Related commit:
- e917213e81

Specifically, intended font size was no longer
set properly for mobile in popup panel.
2020-04-13 16:40:12 -04:00
Raymond Hill
051cb27f9b Fix syntax highlighting of line continuation
Thix fixes an exception being thrown when the
line being continued is the last one.
2020-04-13 14:26:17 -04:00
Raymond Hill
94935a4b9e Pure origin filters can't have denyallow option
This fixes filters of the form:

  *$[...],denyallow=[...],domain=[...]
  |http://$[...],denyallow=[...],domain=[...]
  |https://$[...],denyallow=[...],domain=[...]
2020-04-13 14:22:21 -04:00
Raymond Hill
415035b42d Make Firefox dev build auto-update 2020-04-13 09:41:08 -04:00
Raymond Hill
b5d8b0a9f0 Import translation work from https://crowdin.com/project/ublock 2020-04-13 09:31:22 -04:00
Raymond Hill
a0465c93a0 new revision for dev build 2020-04-13 09:27:24 -04:00
Raymond Hill
e917213e81 Sixth pass to re-design the dashboard
Related commits:
- 0662767dd6
- 99b2a0a761
- a8e3118fea
- 453f5450b6
- a45a21f337

This commit focuses on implementing the use of
CSS `var(...)` throughout so as to make it easy
to create themes -- a requirement for uBO to
support a dark theme.

There is still work to do regarding converting
uBO's CSS to completely support `var(...)` but
being able to start using theming will help
complete and fine tune CSS `var(...)` support.

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/401
2020-04-13 09:19:58 -04:00
Raymond Hill
cb08c978f0 Make Firefox dev build auto-update 2020-04-11 12:00:40 -04:00
Raymond Hill
2b04434fb7 New revision for dev build 2020-04-11 11:53:20 -04:00
Raymond Hill
e4065ec05c Import translation work from https://crowdin.com/project/ublock 2020-04-11 11:41:33 -04:00
Raymond Hill
0662767dd6 Fifth pass to re-design the dashboard
Related commits:
- 99b2a0a761
- a8e3118fea
- 453f5450b6
- a45a21f337

Fine tuned previous work.

Started the use of variable-based color values.
2020-04-11 11:32:43 -04:00
Raymond Hill
1d1f4ce0b9 Make Firefox dev build auto-update 2020-04-10 18:41:12 -04:00
Raymond Hill
9aab96bfda New revision for dev build 2020-04-10 18:31:20 -04:00
Raymond Hill
ebf7ade6b1 Import translation work from https://crowdin.com/project/ublock 2020-04-10 18:27:48 -04:00
Raymond Hill
99b2a0a761 Fourth pass to re-design the dashboard
Related commits:
- a8e3118fea
- 453f5450b6
- a45a21f337

Roughly, the changes in this commit:
- Make it easier to implement a dark theme eventually:
  - Flatten the look of buttons
  - Remove the use of `opacity` style property as a
    color modifier
- Some work toward removing dependency on FontAwesome
  font
2020-04-10 18:17:12 -04:00
Raymond Hill
a7dc0de98f Update kbd shortcuts only if kbd shortcuts pane is enabled
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/386#issuecomment-611806957
2020-04-10 17:25:36 -04:00
Raymond Hill
9e7dd7a2c3 Make Firefox dev build auto-update 2020-04-09 10:15:46 -04:00
Raymond Hill
c4652e7af7 Restore old version; just ignore travis spurious warnings
Trying to be nice and mind travis warnings just
broke everything. Whoever who can make sense
of travis build stuff is welcome to fix all this.
2020-04-09 10:04:06 -04:00
Raymond Hill
5d5545e733 Attempt to unbreak after last changes... 2020-04-09 09:58:57 -04:00
Raymond Hill
4ca602e9dc Attempt to unbreak after last changes 2020-04-09 09:55:32 -04:00
Raymond Hill
bc500a5fe8 New revision for dev build 2020-04-09 09:37:23 -04:00
Raymond Hill
b1cf3c46a7 Import translation work from https://crowdin.com/project/ublock 2020-04-09 09:36:34 -04:00
Raymond Hill
a8e3118fea Third pass to re-design the dashboard
Related commits:
- 453f5450b6
- a45a21f337

This commit fixes parts of the re-design not
rendering as intended as per <https://github.com/brampitoyo>'s
feedback screenshots.

The dashboard tab buttons have been converted to
`span` tags (from `a` tags), thus eliminating
the unwanted side effect of the text being
rendered as unvisited links (blueish).

The font size intended for touch screens was not
taking effect due to bad cut & paste.

Other minor adjustments to improve consistency
in spacing.
2020-04-09 09:20:29 -04:00
Raymond Hill
923e9fd8f6 Fix travis config file to eliminate warnings 2020-04-09 09:19:53 -04:00
Raymond Hill
c17afddb28 Make Firefox dev build auto-update 2020-04-08 11:00:53 -04:00
Raymond Hill
6c1d5ccb93 New revision for dev build 2020-04-08 10:30:16 -04:00
Raymond Hill
03739ab96b Add minimal-scale in meta tag 2020-04-08 10:23:40 -04:00
Raymond Hill
5a2e5cfe86 Import translation work from https://crowdin.com/project/ublock 2020-04-08 10:22:38 -04:00
Raymond Hill
bf2d38ccf3 Add CDN URLS for ublock-filters
Related commit:
- 4687c60bf9
2020-04-08 10:12:50 -04:00
Raymond Hill
4687c60bf9 Support fetching assets from CDNs when auto-updating
This commit add the ability to fetch from CDN servers
when an asset is fetched as a result of auto-update.

If an asset has a `cdnURLs` entry in `assets.json`,
the asset will be auto-updated using one of those
CDN URLs. When many CDN URLs are specified, those
URLs will be shuffled in order to spread the bandwidth
across all specified CDN servers. If all specified CDN
servers fail to respond, uBO will fall back to usual
`contentURLs` entry.

The `cdnURLs` are used only when an asset is
auto-updated, this ensures a user will get the more
recent available version of an asset when manually
updating.

The motivation of this new feature is to relieve
GitHub from acting as a CDN (which it is not) for
uBO -- an increasing concern with the growing adoption
of uBO along with the growing size of key uBO assets.
2020-04-08 09:57:55 -04:00
Raymond Hill
2b5e281c31 Make Firefox dev build auto-update 2020-04-06 14:40:28 -04:00
Raymond Hill
e879d3463c New revision for dev build 2020-04-06 14:24:01 -04:00
Raymond Hill
e8a9997de8 Import translation work from https://github.com/gorhill/uBlock 2020-04-06 14:05:16 -04:00
Raymond Hill
a45a21f337 Second pass to re-design the dashboard
Related commit:
- 453f5450b6

The changes in this commit are mostly related
to the "Filter lists" pane.

An eye icon has been added, which purpose is
to view the content of a list. Clicking on the
name of the list will toggle the list's
checkbox.
2020-04-06 14:00:19 -04:00
Raymond Hill
8629ae2961 Make Firefox dev build auto-update 2020-04-05 19:51:10 -04:00
Raymond Hill
598576826e New revision for dev build 2020-04-05 19:40:30 -04:00
Raymond Hill
64d8904998 Fine tune font size for reworked dashboard UI
Related feedback:
- https://github.com/gorhill/uBlock/commit/453f5450b6e6#commitcomment-38305932

The larger font size is best justified for
touchscreen to allow tapping -- less justified
on devices with a mouse which allow for more
accurate selection.
2020-04-05 19:37:23 -04:00
Raymond Hill
d87d3278b0 Make Firefox dev build auto-update 2020-04-05 15:35:30 -04:00
Raymond Hill
ce6797191e New revision for dev build 2020-04-05 15:27:18 -04:00
Raymond Hill
453f5450b6 First pass to Re-design the dashboard
This is a first pass in which only the dashboard
navigation widget and the "Settings" pane have
been revisited.

Reference work:
- https://app.abstract.com/share/54f1465e-8d1c-4e7b-9ae4-f37e21bef7fe
2020-04-05 15:19:07 -04:00
Raymond Hill
20332c65b4 No need for "Shortcuts" pane in Firefox 74 and above
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/386
2020-04-05 09:47:22 -04:00
Raymond Hill
34a2ef6c42 Remove Disconnect Malvertising from stock filter lists
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/973

The list appears no longer maintained and has seen mostly
only removed entries over years.
2020-04-05 08:24:05 -04:00
Raymond Hill
263a1e799c Make Firefox dev build auto-update 2020-04-04 11:46:14 -04:00
Raymond Hill
14975e1b16 New revision for dev build 2020-04-04 11:38:38 -04:00
Raymond Hill
df08b12d48 Fix race condition at browser launch re. cosmetic filtering
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/974

Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/fuscia/

The race condition was that a content script could
query the main process to retrieve cosmetic filters
while the cosmetic filters had not been yet fully
loaded into memory. The fix ensure that an already
injected content script will re-query once the
cosmetic filters are fully loaded in memory at
browser launch time.
2020-04-04 11:34:43 -04:00
Raymond Hill
1295e25961 Remove unused property 2020-04-03 09:07:22 -04:00
Raymond Hill
37d739bc38 New revision for release candidate 2020-04-03 09:04:15 -04:00
Raymond Hill
cc3152e803 Import translation work from https://crowdin.com/project/ublock 2020-04-03 09:02:55 -04:00
Raymond Hill
81413b4076 Remove hpHosts from stock filter lists
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/971
2020-04-01 07:41:52 -04:00
Raymond Hill
98d7de0502 Make Firefox dev build auto-update 2020-03-26 10:14:38 -04:00
Raymond Hill
044a1dd6ee Fix :style exception filters not being reported in logger
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/962

Regression from:
- 72bb700568
2020-03-26 09:19:02 -04:00
Raymond Hill
06b7e29efe New revision for release candidate 2020-03-26 08:44:04 -04:00
Raymond Hill
0078cea6a0 Import translation work from https://crowdin.com/project/ublock 2020-03-26 08:43:30 -04:00
Raymond Hill
2f927847f2 Discard :style() filters chained to procedural operators
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/961
2020-03-26 08:38:22 -04:00
Raymond Hill
8c6fc09262 Make Firefox dev build auto-update 2020-03-24 12:25:32 -04:00
Raymond Hill
151ff5326a Import translation work from https://crowdin.com/project/ublock 2020-03-24 12:18:33 -04:00
Raymond Hill
74fab19548 New revision for dev build 2020-03-24 12:11:52 -04:00
Raymond Hill
5ea6dcee23 Merge branch 'master' of github.com:gorhill/uBlock 2020-03-24 10:04:59 -04:00
Raymond Hill
2fcc41f641 Improve disqus_embed.js scriptlet
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/959

The problematic site does not declare the expected
`disqus_shortname` global variable, so the scriptlet
has been extended to deal with such occurrence.
2020-03-24 10:02:20 -04:00
Raymond Hill
58ccb9a26d Improve disqus_embed.js scriptlet
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/773

The problematic site does not declare the expected
`disqus_shortname` global variable, so the scriptlet
has been extended to deal with such occurrence.
2020-03-24 09:59:42 -04:00
Raymond Hill
11d24abea0 Move proxy-detection code to Firefox-specific code
Related commit:
- https://github.com/uBlockOrigin/uBlock-issues/issues/911

The motivation is to avoid executing code which is
unnecessary on platforms not supporting the browser.dns
API.
2020-03-23 13:31:43 -04:00
Raymond Hill
5d804f5d78 Make Firefox dev build auto-update 2020-03-23 12:30:47 -04:00
Raymond Hill
4ac016d891 New revision for dev build 2020-03-23 12:24:34 -04:00
Raymond Hill
0c30bee3e3 Fix typo in proxy-detecting code
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/911

Related commit:
- https://github.com/gorhill/uBlock/commit/3f7ece94691f
2020-03-23 12:23:05 -04:00
Raymond Hill
b34ea197ed Make Firefox dev build auto-update 2020-03-22 15:10:29 -04:00
Raymond Hill
869356cb39 New revision for dev build 2020-03-22 14:59:54 -04:00
Raymond Hill
3f7ece9469 Do not cname-uncloak when a proxy is in use
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/911

Since cname-uncloaking is available only on Firefox
at the moment, the fix is relevant only to Firefox.

By default uBO will no longer cname-uncloak when it
detects that network requests are being being proxied.

This default behavior can be overriden by setting the
new advanced setting `cnameUncloakProxied` to `true`.
The new setting default to `false`, i.e. cname-uncloaking
is disabled when uBO detects that a proxy is in use.

This new advanced setting may disappear once the
following Firefox issue is fixed:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1618271
2020-03-22 14:52:58 -04:00
Raymond Hill
f5204235b7 Use prime number to generate cache-bypass token
Related discussion:
- https://github.com/gorhill/uBlock/commit/048bfd251c9b#r37972005

From <https://github.com/gwarser>:

> I think this should be "modulo prime", not 12.
> If someone always turn on PC in "8am" there is
> a slight chance to hit cache.
2020-03-22 11:31:06 -04:00
Raymond Hill
086aece6bd Make Firefox dev build auto-update 2020-03-19 13:51:02 -04:00
Raymond Hill
a3475721fa New revision for dev build 2020-03-19 13:44:15 -04:00
Raymond Hill
381498daa2 Reorganize filter instances deduplication code
Related commit:
- https://github.com/gorhill/uBlock/commit/ab629b9e1093
2020-03-19 13:42:06 -04:00
Raymond Hill
a36566b348 Allow empty needle in BidiTrieContainer.lastIndexOf()
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/882

Related commit:
- https://github.com/gorhill/uBlock/commit/7c0294bd5f54

The changes in the commit above have been reverted, and
the new fix is to add the ability to handle an empty
needle in BidiTrieContainer.lastIndexOf() -- in which
case the method will return the end of the currently
matched pattern.
2020-03-19 13:16:41 -04:00
Raymond Hill
c2f0cae2cc Make Firefox dev build auto-update 2020-03-18 09:50:26 -04:00
Raymond Hill
49d9929191 Add remove-class scriptlet (alias: rc)
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/935

Arguments are similar to that of remove-attr
scriptlet.
2020-03-18 09:44:18 -04:00
Raymond Hill
2af198d959 New revision for dev build 2020-03-18 09:22:36 -04:00
Raymond Hill
20a32e881a Import translation work from https://crowdin.com/project/ublock 2020-03-18 09:21:57 -04:00
Raymond Hill
ab629b9e10 Add filter instance deduplicater in static net filtering engine
Provide a way to optionally deduplicate filter
instances, useful for filter instances with:

- high likelihood of duplication; and
- non-trivial memory footprint per instance
  - For examples, filter instances to implement
    `domain=`, `denyallow=`, `csp=`.

Cursory tests show this helps further reduce
uBO's memory footprint.
2020-03-18 09:06:33 -04:00
Raymond Hill
8b69af0dda Remove "Adblock Warning Removal​" from stock filter lists
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/951
​​​​​
2020-03-18 09:02:22 -04:00
Raymond Hill
5bf15d6c50 Make Firefox dev build auto-update 2020-03-16 09:25:51 -04:00
Raymond Hill
ec70fba948 Import translation work from https://crowdin.com/project/ublock 2020-03-16 09:17:59 -04:00
Raymond Hill
5eef6bfc41 New revision for dev build 2020-03-16 09:14:14 -04:00
Raymond Hill
85cf8f5807 Fix last commit re. set-constant scriptlet
Related commit:
- https://github.com/gorhill/uBlock/commit/40ea9d69d5d0

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

Restore intended behavior with original commit:
- https://github.com/gorhill/uBlock/commit/14ebfbea279c

The purpose of the original change was to be able to
trap properties which values were `null`.
2020-03-16 09:09:48 -04:00
Raymond Hill
a9688cd670 Make Firefox dev build auto-update 2020-03-16 08:55:42 -04:00
Raymond Hill
9be7b8eb7f New revision for dev build 2020-03-16 08:50:32 -04:00
Raymond Hill
40ea9d69d5 Fix regression in set-constant scriptlet
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/947

`Object.prototype` is not an instance of `Object`, but
yet is still a JS object; thus the solution is to
additionally compare against `typeof`.
2020-03-16 08:47:34 -04:00
Raymond Hill
ab6fdf43ed Make Firefox dev build auto-update 2020-03-15 12:55:58 -04:00
Raymond Hill
24bc8f812f New revision for dev build 2020-03-15 12:51:34 -04:00
Raymond Hill
c3bc2c741d Add support for cname type and denyallow option
This concerns the static network filtering engine.

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

* * *

New static network filter type: `cname`

By default, network requests which are result of
resolving a canonical name are subject to filtering.
This filtering can be bypassed by creating exception
filters using the `cname` option. For example:

    @@*$cname

The filter above tells the network filtering engine
to except network requests which fulfill all the
following conditions:

- network request is blocked
- network request is that of an unaliased hostname

Filter list authors are discouraged from using
exception filters of `cname` type, unless there no
other practical solution such that maintenance
burden become the greater issue. Of course, such
exception filters should be as narrow as possible,
i.e. apply to specific domain, etc.

* * *

New static network filter option: `denyallow`

The purpose of `denyallow` is bring
default-deny/allow-exceptionally ability into static
network filtering arsenal. Example of usage:

    *$3p,script, \
        denyallow=x.com|y.com \
        domain=a.com|b.com

The above filter tells the network filtering engine that
when the context is `a.com` or `b.com`, block all
3rd-party scripts except those from `x.com` and `y.com`.

Essentially, the new `denyallow` option makes it easier
to implement default-deny/allow-exceptionally in static
filter lists, whereas before this had to be done with
unwieldy regular expressions[1], or through the mix of
broadly blocking filters along with exception filters[2].

[1] https://hg.adblockplus.org/ruadlist/rev/f362910bc9a0

[2] Typically filters which pattern are of the
    form `|http*://`
2020-03-15 12:23:25 -04:00
Raymond Hill
84d4111c05 Import translation work from https://crowdin.com/project/ublock 2020-03-15 09:34:34 -04:00
Raymond Hill
85c9e74999 Do not repeat filter content in reverse lookup dialog
No need to repeat content of filter when reverse
lookup fails in logger's dialog.
2020-03-15 09:27:38 -04:00
Raymond Hill
17886abcda Centralize break-all CSS property
So that both asset viewer and "My filters" inherit
the property for filter list rendering.
2020-03-15 09:25:18 -04:00
Raymond Hill
bc700e691c Fix srcset handling in element picker
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/923

Use current page's hostname instead of that of
image URLs to decide whether to reset pattern
union with previous picker sessions.

The fixed issue arose from the fact that the
page uses URLs from different origins in a
single srcset attribute.
2020-03-15 08:45:17 -04:00
Raymond Hill
ca80d2826b Add indentation requirement for line continuation
Related commit:
- https://github.com/gorhill/uBlock/commit/703c525b01aa

This adds an indentation requirement for line
continuation to take place. The conditions are now
as follow:
- Current line ends with ` \`: ASCII space + backslash
- Next line starts with `    `: four ASCII spaces
2020-03-15 08:15:17 -04:00
Raymond Hill
703c525b01 Support line continuation in filter lists
If a line in a filter list ends with a space
(ASCII code 32) followed by a backslash
(ASCII code 92), those two characters will be
removed, the line will be trimmed and the next
line will be trimmed and concatenated to form
a new, longer line.

The purpose is to give filter list authors
a way to visually break apart unduly long
filters and thus make maintenance easier.

When line continuation is used, it is suggested
that the extra lines are prepended with four
space so as to make it more visually obvious that
the extra line(s) are the continuation of a
previous line.

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

The filter referenced in the above issue was the
motivation to implement this feature:
- https://hg.adblockplus.org/ruadlist/rev/f362910bc9a0

I verified and could not find any instance in major
filter lists of lines ending with ` \`, thus the
change should be safe.
2020-03-14 13:34:13 -04:00
Raymond Hill
1400b146ec Add 32- & 64-pixel icon entries in manifest
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/939
2020-03-14 13:05:46 -04:00
Raymond Hill
2cbbc30084 Also remove text node in :remove() operator
Related discussion:
- https://github.com/gorhill/uBO-Extra/issues/119#issuecomment-537842967

As an incidental side effect, this may or may not
prevent execution of the content of some inline
script tags.
2020-03-09 11:34:49 -04:00
Raymond Hill
0f33f2386d Expand log output of window.open-defuser 2020-03-09 10:09:40 -04:00
Raymond Hill
425c12af54 Make Firefox dev build auto-update 2020-03-09 08:21:05 -04:00
Raymond Hill
ca0a3b3090 New revision for dev build 2020-03-09 07:57:46 -04:00
Raymond Hill
b27848a060 Improve window.open-defuser scriptlet
The new syntax deprecate the old syntax, though the
old syntax will still be supported until it's no
longer used in mainstream filter lists.

The new syntax is:

    example.com##+js(window.open-defuser, pattern, seconds)

`pattern`:

A pattern to match for the defusing to take place.
Patterns which starts and ends with `/` will be
interpreted as regular expressions. To NOT match a
pattern, prefix with `!`.

`seconds`:

If not present, no window will be opened and the
scriptlet will return `null`.

If present and a valid integer value, the defuser
will return a valid window object even though no
popup window is opened. The returned window object
will cease to be valid after the specified number
of seconds.
2020-03-08 16:15:58 -04:00
Raymond Hill
1d9421b8b2 Improve validation of CSS selector-based cosmetic filters
Reported internally. The following invalid filter was not
discarded by uBO:

    123tvnow.com##.123tv-ads

The correct form should be:

    123tvnow.com##.\31 23tv-ads

Not discarding invalid CSS selector-based cosmetic
filter may break CSS selector-based cosmetic
filtering.
2020-03-08 10:55:19 -04:00
Raymond Hill
30ab587b95 New revision for dev build 2020-03-07 14:40:20 -05:00
Raymond Hill
72bb700568 Add procedural cosmetic operators remove() and upward()
***

New procedural cosmetic operator: `:remove()`

Related issue:
- https://github.com/gorhill/uBlock/issues/2252

The purpose is to outright remove elements from the
DOM tree. Since `:remove()` is an "action" operator,
it must only be used as a trailing operator (just
like the `:style()` operator).

AdGuard's cosmetic filter syntax `{ remove: true; }`
will be converted to uBO's `:remove()` operator
internally.

***

New procedural cosmetic operator: `:upward(...)`

The purpose is to lookup an ancestor element.

When used with an integer argument, it is synonym of
`:nth-ancestor()`, which will be deprecated and which
will no longer be supported once no longer used in
mainstream filter lists.

Filter lists maintainers must only use `:upward(int)`
instead of `:nth-ancestor(int)` once the new operator
become available in all stable releases of uBO.

`:upward()` can also accept a CSS selector as argument,
in which case the nearest ancestor which matches the
CSS selector will be selected.
2020-03-07 14:25:06 -05:00
Raymond Hill
14ebfbea27 Improve set-constant.js scriptlet
The scriptlet will now still try to trap a specific
property if a segment of the chain is not undefined
while yet not an object either.

For example, this now allows to set a value on
`document.body.onselectstart` when `document.body` has
not been instantiated yet by the browser parser,
whereas this would previously fail because
`document.body` would be `null` while the scriptlet
was testing against `undefined`.
2020-03-07 14:16:54 -05:00
Raymond Hill
04021424d0 New revision for stable build 2020-03-06 08:02:04 -05:00
Raymond Hill
7442463a87 Fix spurious v-scrollbar when hovering bottom-most cells 2020-03-04 13:34:50 -05:00
Raymond Hill
6041a1c894 Make Firefox dev build auto-update 2020-03-03 11:46:05 -05:00
Raymond Hill
d69ab86c30 New revision for release candidate 2020-03-03 11:41:21 -05:00
Raymond Hill
08d370d32e Catch possible exceptions when accessing window.localStorage
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/899

This is a code review of previous commits related to
the above issue.
2020-03-03 11:31:14 -05:00
Raymond Hill
39dc88b8f5 Make Firefox dev build auto-update 2020-03-02 15:51:15 -05:00
Raymond Hill
13f3fcbcbd New revisiom for release candidate 2020-03-02 15:40:06 -05:00
Raymond Hill
891f45d440 Fix hidden hyphen location in DA translation 2020-03-02 15:39:32 -05:00
Raymond Hill
e77a869651 Make Firefox dev build auto-update 2020-03-02 13:00:38 -05:00
Raymond Hill
16869539a1 New revision for release candidate 2020-03-02 12:36:47 -05:00
Raymond Hill
bef9eedf73 Support hidden hyphen HTML entity in translation work
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/907#issuecomment-590804054
2020-03-02 12:34:50 -05:00
Raymond Hill
ea2da021ba Make Firefox dev build auto-update 2020-02-28 14:45:34 -05:00
Raymond Hill
e40b23bc88 New revision for release candidate 2020-02-28 14:35:07 -05:00
Raymond Hill
a1dabf3c1a Use disable_non_proxied_udp for webRTCIPHandlingPolicy
The stricter mode `disable_non_proxied_udp` is preferable
to `default_public_interface_only` to prevent local IP
address leakage through WebRTC.

This mode is properly supported since Firefox 70, so the
less strict `default_public_interface_only` will now be
used only for Firefox 69 and older.
2020-02-28 14:30:40 -05:00
Rory O’Kane
be111c4036 In Element Zapper, support Mac keyboards’ Delete key (#3770)
Override the Backspace key, not just the Delete key, as Mac keyboards have Backspace as the only delete key and label it Delete.

Source of key value: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values#Editing_keys

More background on Mac keyboard shortcuts: Mac keyboards can emulate Delete using fn+Delete, meaning Forward Delete, but Mac software does not use it except in text editing. When deletion is dangerous, Mac software requires holding a modifier key in conjuction with Delete, but I think it’s better to make deletion easy in this case.

This new binding has a potential downside: if the user Backspace key normally goes Back in history (which can differ across OSs and browsers), this will change the behavior to delete the selected element instead. If the user really wants to go back in history, they will have to press Escape to leave the mode and then press Backspace, or they will have to press an alternative keyboard shortcuts such as Alt+Left. I think the user will rarely want to go back in history in the middle of picking an element, though.

That downside could be mitigated by conditioning the key check on `runtime.PlatformOs` (https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/PlatformOs). But that would complicate the code a lot compared to the importance of this feature, and such detection would still fail to capture the user’s intent accurately in all cases. I think it’s better to unconditionally accept both Backspace (Delete) and Delete (Forward Delete).
2020-02-28 14:28:00 -05:00
Raymond Hill
8780ef2413 Remove no longer maintained KOR list
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/914
2020-02-28 08:10:42 -05:00
Raymond Hill
fa5a082582 Make Firefox dev build auto-update 2020-02-27 10:36:10 -05:00
Raymond Hill
cad5048744 new revision for dev build 2020-02-27 10:01:54 -05:00
Raymond Hill
c40df88bc6 Make row slightly taller on mobile 2020-02-27 10:01:09 -05:00
Raymond Hill
cf084e1db7 Import translation work from https://crowdin.com/project/ublock 2020-02-27 09:58:55 -05:00
Raymond Hill
c4caa5539d Move refresh button to the right of the power button 2020-02-27 09:29:14 -05:00
Raymond Hill
3ca25ef200 Make Firefox dev build auto-update 2020-02-25 11:10:50 -05:00
Raymond Hill
af40de0a06 New revision for dev build 2020-02-25 11:03:50 -05:00
Raymond Hill
da71c3a499 Force console output when explicitly requested from dev tools
Related feedback:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1617666#c0

Not being able to see benchmark results when explicitly
requesting benchmark results is not very user-friendly;
this commit fixes this.
2020-02-25 11:00:58 -05:00
Raymond Hill
953e0c3197 Use getItemAsync() instead of getItem
Related commit:
- da0ef9454a

vAPI.localStorage.getItemAsync() was added after
the above commit.
2020-02-25 07:37:12 -05:00
Raymond Hill
44dfb8fbad Make Firefox dev build auto-update 2020-02-24 13:50:29 -05:00
Raymond Hill
3feede646d New revision for dev build 2020-02-24 13:43:14 -05:00
Raymond Hill
034c915f3b Allow re-entrance in abort-current-inline-script
Related feedback:
- https://github.com/DandelionSprout/adfilt/issues/7#issuecomment-590391877

If a property is already trapped with a getter/setter,
propagate to these after validation succeed.
2020-02-24 13:40:17 -05:00
Raymond Hill
60348c4624 Make Firefox dev build auto-update 2020-02-24 10:45:19 -05:00
Raymond Hill
ba2fabdb54 New revision for dev buil build 2020-02-24 10:34:09 -05:00
Raymond Hill
c17a9c8a93 Fix spurious warning when force-reloading the dashboard
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/905

Additionally, minor changes to avoid spurious errors in
browser console.
2020-02-24 09:59:35 -05:00
Raymond Hill
7634604aa8 Make element picker mind that network filters are case-insensitive
Related discussion:
- https://github.com/easylist/easylist/pull/4950#issuecomment-590064744
2020-02-24 09:24:54 -05:00
Raymond Hill
c13060aadc Make Firefox dev build auto-update 2020-02-23 12:35:48 -05:00
Raymond Hill
b55991d346 Import translation work from https://crowdin.com/project/ublock 2020-02-23 12:26:07 -05:00
Raymond Hill
c3160be1eb New revision for dev build 2020-02-23 12:24:11 -05:00
Raymond Hill
3621792f16 Rework/remove remnant of code dependent on localStorage
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/899
2020-02-23 12:18:45 -05:00
Raymond Hill
d16ac963ef Use correct element id fenix popup panel 2020-02-23 12:16:50 -05:00
Saitama
84635ad38d mvps list secure protocol http => https (#3769) 2020-02-23 06:57:03 -05:00
Raymond Hill
ece5734375 Make Firefox dev build auto-update 2020-02-22 13:46:17 -05:00
Raymond Hill
64d9f90e8e New revision for dev build 2020-02-22 13:39:58 -05:00
Raymond Hill
15470bcbdc Ensure disableWebAssembly setting is loaded before use
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/899

WASM modules are now loaded on demand rather than at
script evaluation time.
2020-02-22 13:36:22 -05:00
Raymond Hill
78dd56b7a9 Make Firefox dev build auto-update 2020-02-21 15:46:02 -05:00
Raymond Hill
f3eb8970ac New revision for dev build 2020-02-21 15:41:52 -05:00
Raymond Hill
2ac288397c Remove usage of synchronous localStorage API
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/899

browser.storage.local is now used to store non-critical
local settings.

These settings are all collated under the key
`localStorage`, and vAPI.localStorage is an API to
handle access to these values stored under this key.

vAPI.localStorage.getItem() is still synchronous but
its purpose is to return internally cached values --
this minimizes code changes throughout uBO.
2020-02-21 15:34:54 -05:00
Raymond Hill
5da3aaaabf Properly test for WebAssembly presence before use
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/900
2020-02-21 15:21:25 -05:00
Raymond Hill
d2b65d0cef Make Firefox dev build auto-update 2020-02-21 08:30:48 -05:00
Raymond Hill
d04c1b29ba New revision from dev build 2020-02-21 08:27:37 -05:00
Raymond Hill
ddc2b11657 Fail graciously if no benchmark dataset found 2020-02-21 08:13:15 -05:00
Raymond Hill
b784b7d569 Support loading of benchmark dataset in published versions
New advanced setting: `benchmarkDatasetURL`
Default value: `unset`

To specify a URL from where the benchmark dataset will be
fetched. This allows to launch benchmark operations from
within published versions of uBO, rather than from just
a locally built version.
2020-02-21 08:06:52 -05:00
Raymond Hill
4f75a07b9c Work toward removing use of localStorage
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/899
2020-02-21 07:48:45 -05:00
Raymond Hill
1a79a53bfd Make Firefox dev build auto-update 2020-02-20 16:51:02 -05:00
Raymond Hill
7188bf4ed2 New revision for dev build 2020-02-20 16:45:13 -05:00
Raymond Hill
5ccf435754 Add edge-scheme to default whitelist directives
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/879
2020-02-20 16:43:56 -05:00
Raymond Hill
da0ef9454a Neutralize localStorage access on mobile platform
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/899

window.localStorage is synchronous and thus should be
avoided at launch time. Currently the avoidance is only
for mobile platforms.
2020-02-20 16:40:29 -05:00
Raymond Hill
c0947200e5 Import translation work from https://crowdin.com/project/ublock 2020-02-20 10:59:03 -05:00
Raymond Hill
ba7d24a338 Wrap long hostnames in popup panel 2020-02-20 08:29:33 -05:00
Raymond Hill
11037fc669 New revision for stable build 2020-02-19 11:05:14 -05:00
Raymond Hill
a74403e8be Import translation work from https://crowdin.com/project/ublock 2020-02-19 08:09:56 -05:00
Raymond Hill
8faadae506 Make Firefox dev build auto-update 2020-02-18 11:46:13 -05:00
Raymond Hill
81f91e4fd4 Put back erroneously removed background color 2020-02-18 11:35:07 -05:00
Raymond Hill
6802e6d32f Minor color adjustment 2020-02-18 11:31:24 -05:00
Raymond Hill
4c51e595b1 New revision for release candidate 2020-02-18 10:11:10 -05:00
Raymond Hill
69a7c6771b Fine tune fenix UI as per Bram's feedback 2020-02-18 09:53:20 -05:00
Raymond Hill
40d4a4df25 Make Firefox dev build auto-update 2020-02-17 09:45:25 -05:00
Raymond Hill
eb0dc81407 New revision for release candidate 2020-02-17 09:36:40 -05:00
Raymond Hill
7a93301d78 Fine tune UI of "fenix" popup panel 2020-02-17 09:35:58 -05:00
Raymond Hill
e123c96bbc Import translation work from https://crowdin.com/project/ublock 2020-02-17 09:02:52 -05:00
Raymond Hill
6cdb1092dd Import translation work from https://crowdin.com/project/ublock 2020-02-15 09:43:27 -05:00
Raymond Hill
f0c8009da7 Make Firefox dev build auto-update 2020-02-14 12:15:26 -05:00
Raymond Hill
784a78ad00 Remove useless manifest entry for Opera build
Opera's dashboard warns that the `file:///` permission
is not needed.
2020-02-14 12:08:00 -05:00
Raymond Hill
7f10c13d26 New revision for release candidate 2020-02-14 12:07:10 -05:00
Raymond Hill
3fab7bfdb4 Add support for "specific-generic" cosmetic filters
A specific cosmetic filter of the following form...

    *##.selector

... will be unconditionally injected into all web pages,
whereas a cosmetic filter of the form...

    ##.selector

... would be injected only when uBO's DOM surveyor finds
at least one matching element in a web page.

The new specific-generic form will also be disabled when a
web page is subject to a `generichide` exception filter,
since the filter is essentially a generic one -- the only
difference from the usual generic form is that the filter
is injected unconditionally instead of through the DOM
surveyor.

Specific-generic cosmetic filters will NOT be discarded
when checking the "Ignore generic cosmetic filters"
option in the "Filter lists" pane -- since the purpose
of this option is primarily to disable the DOM surveyor.

Specific-generic cosmetic filters should be used
parcimoniously and only when using a normal specific
filter is really impractical.

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/803
2020-02-14 11:51:05 -05:00
Raymond Hill
32b9db67af Make Firefox dev build auto-update 2020-02-10 08:31:09 -05:00
Raymond Hill
3b7ac5d99a New revision for dev build 2020-02-10 08:16:27 -05:00
Raymond Hill
8adad98a0d New way to convey IDN and CNAME info in popup panel
Hostnames which have unpunycoded IDN or canonical
name information will have this information reported
as an extra line under the hostname name in the popup
panel, rather than as a tooltip.

For the fenix UI flavor, the save/revert tools are
now shown regardless of whether the overview area is
visible or not.
2020-02-10 08:06:36 -05:00
Raymond Hill
1a133d0a1f Make Firefox dev build auto-update 2020-02-09 12:51:02 -05:00
Raymond Hill
4b7bbb150f Import translation work from https://crowdin.com/project/ublock 2020-02-09 12:43:12 -05:00
Raymond Hill
2030a00f80 New revision for dev build 2020-02-09 12:40:17 -05:00
Raymond Hill
44fe38c9fe Minor cleanup of HTML code 2020-02-09 10:41:10 -05:00
Raymond Hill
1a8571755e Harden abort-current-inline-script scriplet
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/6929
2020-02-09 10:35:18 -05:00
JustOff
a806dd4bd2 Add env_legacy to the pre-processor supported tokens (#3768)
This will allow specifically target uBlock Origin for Firefox legacy-based browsers in shared filter lists,
see https://github.com/gorhill/uBlock-for-firefox-legacy/pull/1.
2020-02-09 08:23:00 -05:00
Raymond Hill
f182b00434 Make Firefox dev build auto-update 2020-02-06 12:00:28 -05:00
Raymond Hill
e64d418f85 New revision for dev build 2020-02-06 11:47:14 -05:00
Raymond Hill
760d206bd4 Select default UI according to target platform
More specifically, this commit makes it so that
the new default UI for Firefox Preview will be
automatically selected.

A default platform-specific UI can be cancelled
by setting the advanced setting `uiFlavor` to `-`.
2020-02-06 11:42:12 -05:00
Raymond Hill
bead897380 Make Firefox dev build auto-update 2020-02-06 10:30:21 -05:00
Raymond Hill
8483525bc2 New revision for dev build 2020-02-06 10:22:50 -05:00
Raymond Hill
4509483c7e Set tooltip to cname alias in popup panel
The toolip of a canonical name entry (blue)
in the popup panel will provide the alias
hostname related to the canonical hostname
in order to help with rule-making decisions.
2020-02-06 10:18:15 -05:00
Raymond Hill
651955b97c Throw if mismatched size when unserializing an array buffer
An exception will be thrown if the length of an unserialized
array buffer does not match exactly the original size at
serialization time.
2020-02-04 09:55:02 -05:00
Raymond Hill
0ccbe654b8 Make Firefox dev build auto-update 2020-02-03 14:30:38 -05:00
Raymond Hill
ffe6b79cc3 New revision for dev build 2020-02-03 14:24:22 -05:00
Raymond Hill
609e9a6428 Remove elision of leading wildcard in some filter patterns
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/882

Related commits:
- https://github.com/gorhill/uBlock/commit/a95ef16e064a
- https://github.com/gorhill/uBlock/commit/7971b223855d

Leading wildcards before valid token characters need to
be kept in order to respect the semantic of the filter.
A leading wildcard in such case changes the semantic of
a filter, i.e. two following filters are semantically
different:

    example/abc
    *example/abc

As a result, µBlock.BidiTrieContainer.indexOf() is now
able to deal with a needle of length zero -- which is
what happens in FilterPatternLeft(Ex) with filter
patterns starting with `*` (or `^*`) and followed by
valid token characters (0-9, a-z and %).
2020-02-03 14:09:37 -05:00
Raymond Hill
3ef999d44b Enforce no scrollbars on body element
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/881
2020-02-03 10:51:30 -05:00
Raymond Hill
c8fefc6d0c Make Firefox dev build auto-update 2020-02-02 13:16:09 -05:00
Raymond Hill
4911d2d794 New revision for dev build 2020-02-02 13:08:05 -05:00
Raymond Hill
a95ef16e06 Fix token position value when removing leading wildcard
Related issue:
- https://www.reddit.com/r/uBlockOrigin/comments/ex8ggg/

Regression from:
- https://github.com/gorhill/uBlock/commit/7971b223855d
2020-02-02 10:05:15 -05:00
Raymond Hill
1d51927d2e Fix handling of end-anchor in redirect patterns
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/872

An end-anchor was treated as literal `|` in the redirect
pattern to match instead of as a end-of-string condition.
2020-02-01 12:47:17 -05:00
Raymond Hill
e37447779b Make Firefox dev build auto-update 2020-02-01 11:49:13 -05:00
Raymond Hill
c380da1ab6 New revision for dev build 2020-02-01 11:43:15 -05:00
Raymond Hill
ce055d0653 Import translation work from https://crowdin.com/project/ublock 2020-02-01 11:42:49 -05:00
Raymond Hill
4629732a69 Fine tune visuals of ruleset tools in popup panel 2020-02-01 11:36:14 -05:00
Raymond Hill
0627fcfb62 Fix broken row rendering for non-network-based URL
Reported internally by volunteers.

Regression from:
- https://github.com/gorhill/uBlock/commit/3a564c199260#diff-fd76b4e8f9d7bfb2e5e01510c9457633L367
2020-01-31 13:48:17 -05:00
Raymond Hill
bc6e585b5d Rephrase author entry in manifest 2020-01-30 12:46:54 -05:00
Raymond Hill
fcc7781aef Use proper popup URL 2020-01-30 12:43:41 -05:00
Raymond Hill
846f0b494c Make Firefox dev build auto-update 2020-01-25 10:00:57 -05:00
Raymond Hill
d0013a0274 New revision for dev build 2020-01-25 09:33:43 -05:00
Raymond Hill
2b0316440e First draft of popup panel for Firefox Preview
First draft of changes as discussed with Firefox
Preview people.

In order to allow testing/evaluating these changes,
the new advanced setting `uiFlavor` has been added.
Default to `unset`; and can currently only be set
to `fenix`.

The new setting takes effect at launch only. This
new setting is not to be mentioned in official
documentation for now.

This is ongoing work, not open to external feedback.
2020-01-25 09:24:59 -05:00
Raymond Hill
14d1d34a6c Make Firefox dev build auto-update 2020-01-24 10:00:26 -05:00
Raymond Hill
2af0696377 New revision for dev build 2020-01-24 09:51:38 -05:00
Raymond Hill
2e0a8951b8 Minor code review 2020-01-23 12:06:40 -05:00
Raymond Hill
9637ab56a9 Insert icon badge text in icon title only if needed
This is to fix the rendering of the menu entry in
Firefox Fenix, which displays both the icon title
and badge text as a menu entry:

Before the fix:
    uBlock Origin (76)         76

After the fix:
    uBlock Origin              76

The badge text will still be part of the icon title
when the icon badge is disabled by the user or when
the platform does not supprt browserAction.setIcon()
(as is the case on current Firefox for Android).
2020-01-23 09:16:09 -05:00
Raymond Hill
c49b58bf54 Make Firefox dev build auto-update 2020-01-21 11:10:34 -05:00
Raymond Hill
7e27d3ea17 New revision for dev build 2020-01-21 11:03:00 -05:00
Raymond Hill
c7dc65fe33 Minor improvement to set-constant scriptlet
Disregard type matching for when the target property
is `null` or is set to `null`.
2020-01-21 10:57:55 -05:00
Raymond Hill
043ae117c8 Decouple error handling of lists loading from selfie loading
This commit make it so that if an *unexpected* error is
thrown when trying to load the selfie at launch, the filter
lists will still be loaded as a result.
2020-01-21 10:52:13 -05:00
JustOff
219f4607a2 Update download location for firefox-legacy releases (#3767) 2020-01-18 07:15:15 -05:00
Raymond Hill
b4587a8f05 Make Firefox dev build auto-update 2020-01-10 11:26:08 -05:00
Raymond Hill
14a70c646b New revision for dev build 2020-01-10 11:14:31 -05:00
Raymond Hill
969dbecd49 Import translation work from https://crowdin.com/project/ublock 2020-01-10 11:13:55 -05:00
Raymond Hill
f8ec54c635 Fix compatibility issue with hosts files
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/847

IP address `0` is a valid synonym of `0.0.0.0`.
2020-01-10 11:07:31 -05:00
Raymond Hill
0ae1e9b1fe Remove "uBlock filters -- Experimental" from stock lists
There is no point for such list since it's not possible
to get breakage measurements from using such list and
thus impossible to evaluate.

At the same time, "uBlock filters --- Annoyances" has
been moved to the "Annoyances" section.
2020-01-09 11:09:45 -05:00
Raymond Hill
8704e4e620 Improve token extraction from regex-based filters
Tokens which are as long or longer than the max token
length possible do not need to have the prefix part
evaluated against special regex characters. This will
help increase the likelihood of extracting a valid
token from regex-based filters.

Actual case found in EasyPrivacy:

  /^https?:\/\/eulerian..*\/[a-z0-9]{2,12}\.js/$script

Before this commit, uBO was not able to extract a
valid token, while now uBO is able to extract `eulerian`
as a valid token (consequently the regex-based filter
will now be evaluated only when the token `euleria` is
found in a URL).
2020-01-09 10:09:51 -05:00
Raymond Hill
2cf79ef922 Minor code review 2020-01-04 09:32:28 -05:00
Raymond Hill
3da11a3512 Fix python scripts used for pusblishing dev builds 2019-12-31 16:52:48 -05:00
Raymond Hill
fc2149f9ad Make Firefox dev build auto-update 2019-12-31 16:51:14 -05:00
Raymond Hill
8809728341 New revision for dev build 2019-12-31 16:39:53 -05:00
Raymond Hill
d0738c0835 Visually distinguish canonical names in popup panel
Further fine-tuning support for canonical names.

Aliased canonical names will be rendered blue
in the dynamic filtering pane of the popup panel.
2019-12-31 16:36:51 -05:00
Raymond Hill
e9abce61a0 Fix unescaped attr value in generated CSS selector
Related feedback:
- https://github.com/NanoAdblocker/NanoCore2/commit/5e625da8fe45#commitcomment-36625096
2019-12-31 16:14:50 -05:00
Raymond Hill
b7285973c5 Make Firefox dev build auto-update 2019-12-30 10:21:42 -05:00
Raymond Hill
a518a9c1e4 Import translation work from https://crowdin.com/project/ublock 2019-12-30 10:04:54 -05:00
Raymond Hill
92f8b8cab0 New revision for dev build 2019-12-30 10:00:56 -05:00
Raymond Hill
56cc2b1256 Support expanding/collpasing of specific domains
This is related to the list of domains/subdomains in
the dynamic filtering pane of the popup panel.

Related issue:
- https://github.com/gorhill/uBlock/issues/284

Clicking on the empty space of a row will toggle
the visibility of the subdomains.

Additionally, the root context will always be visible
regardless of the expand/collspase state, along with
a visual indicator that a specific domain or subdomain
is the actual root context.  (the root context is the
hostname in which local rules are created).
2019-12-30 09:54:11 -05:00
Raymond Hill
2da8948928 Add basic syntax coloring to advanced settings pane 2019-12-24 10:04:18 -05:00
JustOff
3a453bb1ce Add a note about uBlock Origin Updater (#3763) 2019-12-16 19:55:21 -05:00
Raymond Hill
1bb524d12b Still try to load filter lists after fatal error at launch
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/817#issuecomment-565730122

In case of a fatal error at launch, the loading of filter lists
could be skipped. With this commit uBO will still try to load
the filter lists, at least the default ones if no valid selfie
is present.
2019-12-14 11:14:00 -05:00
Raymond Hill
4e52efa9be Make Firefox dev build auto-update 2019-12-08 11:20:30 -05:00
Raymond Hill
a0b5baacdd Import translation work from https://crowdin.com/project/ublock 2019-12-08 11:12:15 -05:00
Raymond Hill
3fc6ffe1ba New revision for dev build 2019-12-08 11:09:41 -05:00
Raymond Hill
832ebd360e Mind that Firefox 59 and less does not support browser.dns 2019-12-08 11:08:04 -05:00
Raymond Hill
1364e4836e Fix publishing script for Firefox dev build 2019-12-05 09:36:11 -05:00
Raymond Hill
5832141fd5 Make Firefox dev build auto-update 2019-12-05 09:25:40 -05:00
Raymond Hill
d71f69bd90 Minor code review 2019-12-05 09:21:02 -05:00
Raymond Hill
037b6b2184 New revision for dev build 2019-12-05 09:19:42 -05:00
Raymond Hill
d90c8486aa Fix reporting of csp-blocked resources in logger
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/552#issuecomment-561888900

Regression from:
- https://github.com/gorhill/uBlock/commit/7971b223855d
2019-12-04 19:23:57 -05:00
Raymond Hill
953141f322 Make Firefox dev build auto-update 2019-12-04 11:13:25 -05:00
Raymond Hill
c0a49a667f New revision for dev build 2019-12-04 10:54:39 -05:00
Raymond Hill
93015ca129 Import translation work from https://crowdin.com/project/ublock 2019-12-04 10:53:13 -05:00
Raymond Hill
34504a0a1a Fix regex-like filter representation in logger
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/805#issuecomment-561500819

uBO was testing for regex-like plain patterns after
prepending `@@` in the case of exception filters, thus
preventing proper detection of regex-like plain
patterns. The filtering engine was not affected, only
the proper rendering of the filter in the logger was
affected.
2019-12-04 10:42:03 -05:00
Raymond Hill
082201d24a Fix reverse lookup of entity-based cosmetic filters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/805
2019-12-04 10:10:07 -05:00
Raymond Hill
f7cc2ed7b1 Make Firefox dev build auto-update 2019-12-01 12:25:32 -05:00
Raymond Hill
a1b050a5ba New revision for dev build 2019-12-01 12:20:27 -05:00
Raymond Hill
91e702cebb Enable CNAME uncloaking by default
Advanced setting `cnameAliasList` has been removed.

New advanced settings:

cnameUncloak:
  Boolean
Default value:
  true
Description:
  Whether to CNAME-uncloak hostnames.

cnameIgnoreExceptions:
  Boolean
Default value:
  true
Description:
  Whether to bypass the uncloaking of network requests
  which were excepted by filters/rules. This is
  necessary so as to avoid undue breakage by having
  exception filters being rendered useless as a result
  of CNAME-uncloaking.
  For example, `google-analytics.com` uncloaks to
  `www-google-analytics.l.google.com` and both hostnames
  appear in Peter Lowe's list, which means exception
  filters for `google-analytics.com` (to fix site
  breakage) would be rendered useless as the uncloaking
  would cause the network request to be ultimately
  blocked.
2019-12-01 12:05:49 -05:00
Raymond Hill
8a1a8b103f Improve neutered Google Analytics replacement scriptlet
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/5132

The change in this commit make it so that it's no
longer required to have an exception filter for
`google-analytics.com/analytics.js` for the page to
render properly.
2019-12-01 10:40:05 -05:00
Raymond Hill
e98a4b1ace Discard :: from parsed hosts files
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/800
2019-12-01 09:15:25 -05:00
Raymond Hill
0356e91ccb Remove no longer used property 2019-12-01 09:01:20 -05:00
Raymond Hill
38aca48ee8 Remove obsolete entry 2019-12-01 09:00:00 -05:00
Raymond Hill
3af362e258 Rename "Fanboy Cookie" to "EasyList Cookie" + update list link
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/804
2019-12-01 08:58:07 -05:00
Raymond Hill
b8a212d8a7 Fix auto-update on Firefox 2019-11-23 21:33:34 -05:00
Raymond Hill
7e5494e4de Fix Firefox publish script 2019-11-23 13:44:18 -05:00
Raymond Hill
5158d7207e New revision for dev build 2019-11-23 13:07:37 -05:00
Raymond Hill
a16e4161de Fine tune hostname uncloaking through CNAME-lookup
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/780

Related commit:
- https://github.com/gorhill/uBlock/commit/3a564c199260

This adds two new advanced settings:

- cnameIgnoreRootDocument
  - Default to `true`
  - Tells uBO to skip CNAME-lookup for root document.

- cnameReplayFullURL
  - Default to `false`
  - Tells uBO whether to replay the whole URL or just
    the origin part of it.
    Replaying only the origin part is meant to lower
    undue breakage and improve performance by avoiding
    repeating the pattern-matching of the whole URL --
    which pattern-matching was most likely already
    accomplished with the original request.

This commit is meant to explore enabling CNAME-lookup
by default for the next stable release while:

- Eliminating a development burden by removing the
  need to create a new filtering syntax to deal with
  undesirable CNAME-cloaked hostnames

- Eliminating a filter list maintainer burden by
  removing the need to find/deal with all base
  domains which engage in undesirable CNAME-cloaked
  hostnames

The hope is that the approach implemented in this
commit should require at most a few unbreak rules
with no further need for special filtering syntax
or filter list maintance efforts.
2019-11-23 13:07:23 -05:00
Raymond Hill
a817c8056e New revision for dev build 2019-11-22 23:54:26 -05:00
Raymond Hill
1b068c15fb Fix token array being too small for very long URL
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/dzw57l/

Each token requires two slots in the token indices
array. This commit fixes uBO breaking when dealing
with very long URLs with lot of distinct tokens in
them.
2019-11-22 23:51:39 -05:00
Raymond Hill
ff91870670 Make Firefox dev build auto-update 2019-11-21 12:18:22 -05:00
Raymond Hill
f8f49096bf New revision for dev build 2019-11-21 12:14:59 -05:00
Raymond Hill
3463a60e6b Fix incorrect resolved value in promise
This fixes the ability to block when a hostname
had to be cname-resolved the first time it was
encountered. The result being cached allowed
the subsequent requests to be correctly blockable.
2019-11-21 12:04:19 -05:00
Raymond Hill
30ac8a1fa5 Make Firefox dev build auto-update 2019-11-20 16:09:37 -05:00
Raymond Hill
68e1b58bb6 Trim trailing spaces from string values in advanced settings 2019-11-20 11:45:10 -05:00
Raymond Hill
123b939944 new revision for dev build 2019-11-20 10:52:56 -05:00
Raymond Hill
563aed0d93 Code review for dns lookup code
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/780

- Handle DNS lookup failure

- Skip DNS lookup for non network-based URLs

- Benchmark code to be able to provide an estimate
  based on objective measurements regarding added
  overhead when DNS lookup is enabled
  (quick answer: a complete non-issue)
2019-11-20 10:45:17 -05:00
Raymond Hill
182889d0df Extend waiting time from 3 min to 15 min
As per Mozilla blog post:
- https://blog.mozilla.org/addons/2019/11/11/security-improvements-in-amo-upload-tools/

> For custom scripts that use the AMO upload API:
> make sure your upload scripts account for
> potentially longer delays before the signed file
> is available. We recommend allowing up to 15
> minutes.
2019-11-20 06:12:57 -05:00
Raymond Hill
0d20ee9ab0 Make Firefox dev build auto-update 2019-11-19 16:55:27 -05:00
Raymond Hill
1e364e61eb New revision for dev build 2019-11-19 16:52:11 -05:00
Raymond Hill
02075ab97a Test for existence of browser.dns
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/780

browser.dns is not available before Firefox 60,
test for presence.
2019-11-19 16:48:53 -05:00
Raymond Hill
5a829b3e87 Make Firefox dev build auto-update 2019-11-19 12:48:55 -05:00
Raymond Hill
3a564c1992 Add ability to uncloak CNAME records
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/780

New webext permission added: `dns`, which purpose is
to allow an extension to fetch the DNS record of
specific hostnames, reference documentation:

https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/dns

The webext API `dns` is available in Firefox 60+ only.

The new API will enable uBO to "uncloak" the actual
hostname used in network requests. The ability is
currently disabled by default for now -- this is only
a first commit related to the above issue to allow
advanced users to immediately use the new ability.

Four advanced settings have been created to control the
uncloaking of actual hostnames:

cnameAliasList: a space-separated list of hostnames.
Default value: unset => empty list.
Special value: * => all hostnames.
A space-separated list of hostnames => this tells uBO
to "uncloak" the  hostnames in the list will.

cnameIgnoreList: a space-separated list of hostnames.
Default value: unset => empty list.
Special value: * => all hostnames.
A space-separated list of hostnames => this tells uBO
to NOT re-run the network request through uBO's
filtering engine with the CNAME hostname. This is
useful to exclude commonly used actual hostnames
from being re-run through uBO's filtering engine, so
as to avoid pointless overhead.

cnameIgnore1stParty: boolean.
Default value: true.
Whether uBO should ignore to re-run a network request
through the filtering engine when the CNAME hostname
is 1st-party to the alias hostname.

cnameMaxTTL: number of minutes.
Default value: 120.
This tells uBO to clear its CNAME cache after the
specified time. For efficiency purpose, uBO will
cache alias=>CNAME associations for reuse so as
to reduce calls to `browser.dns.resolve`. All the
associations will be cleared after the specified time
to ensure the map does not grow too large and too
ensure uBO uses up to date CNAME information.
2019-11-19 12:05:33 -05:00
Raymond Hill
60816b68a1 New revision for development build 2019-11-19 12:03:56 -05:00
Raymond Hill
bdd4a5bf5a Detect/prevent the creation of already existing iframe tags
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/786

A case of web page embedding multiple times the
`adsbygoogle.js` script was causing the neutered,
replacement script to create a huge amount of iframes
in the DOM.

The scriptlet has been modified to check if an iframe
tag already exist and skip the creation if so.
2019-11-19 08:49:38 -05:00
Raymond Hill
18b6a6ba18 New revision for release version 2019-11-18 11:30:25 -05:00
Raymond Hill
2884b54bf4 Import translation work from https://crowdin.com/project/ublock 2019-11-18 11:29:54 -05:00
Raymond Hill
b97fea09d2 Make Firefox dev build auto-update 2019-11-14 08:37:59 -05:00
Raymond Hill
27c4980ec8 New revision for release candidate 2019-11-14 08:27:41 -05:00
Raymond Hill
eec31fca8b Save magic compiled/selfie format values in cache storage
Related issue:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1588916

Due to browser behavior changes during development,
uBO can end up using obsolete cached compiled filter
lists or selfie.

Saving magic format values in the cache storage
itself ensure uBO will properly detect actually
obsolete compiled lists/selfie.
2019-11-14 08:22:28 -05:00
Raymond Hill
e290cefd48 Make Firefox dev build auto-update 2019-11-12 09:37:42 -05:00
Raymond Hill
7866cd151b New revision for release candidate 2019-11-12 09:33:14 -05:00
Raymond Hill
4d8250ab04 Ensure +/- symbols are same width in popup panel 2019-11-12 08:16:33 -05:00
Raymond Hill
5d65f6c098 Make Firefox dev build auto-update 2019-11-10 10:27:25 -05:00
Raymond Hill
c47a7ba9f4 New revision for dev build 2019-11-10 10:16:14 -05:00
Raymond Hill
e2fdc1b94b Support keyboard shortcut to open popup panel
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/dt47s0/
2019-11-09 09:53:31 -05:00
Raymond Hill
7bf5ac0ca2 Code review of commit 4b34d29384
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/778

Related commit:
- 4b34d29384

Mind that `report-uri` or `report-to` could be
used somewhere in a hostname.
2019-11-09 07:32:19 -05:00
Raymond Hill
82f345aa86 Make Firefox dev build auto-update 2019-11-09 07:14:08 -05:00
Raymond Hill
8b66280c9a New revision for dev build 2019-11-09 07:09:43 -05:00
Raymond Hill
004e4a3285 Support Bosnian in Opera store 2019-11-09 07:09:04 -05:00
Raymond Hill
e008ca6307 Import translation work from https://crowdin.com/project/ublock 2019-11-09 07:07:07 -05:00
Raymond Hill
4b34d29384 Fix regex used to detect forbidden CSP directives
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/778
2019-11-09 06:59:59 -05:00
Raymond Hill
067ef5843c Ensure that typeof of href attribute is string
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/777
2019-11-08 09:30:59 -05:00
Raymond Hill
71f3b07eef Make Firefox dev build auto-update 2019-11-06 07:07:14 -05:00
Raymond Hill
f7a725f7b9 New revision for dev build 2019-11-06 07:03:03 -05:00
Raymond Hill
ffae19270f Coallesce mousemove events
Related commit:
- d1995778ff

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/615
2019-11-06 07:01:13 -05:00
Raymond Hill
eae76e3950 Make Firefox dev build auto-update 2019-11-05 13:37:48 -05:00
Raymond Hill
5b4e423219 New revision for dev build 2019-11-05 12:22:34 -05:00
Raymond Hill
d1995778ff Allow element picker dialog to be moved around
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/615

There is a grab area under the text area, to be used
to move the dialog around.
2019-11-05 12:03:48 -05:00
Raymond Hill
1026eb4d6c Make Firefox dev build auto-update 2019-11-04 13:50:20 -05:00
Raymond Hill
c2688b9c27 New revision for dev build 2019-11-04 13:37:53 -05:00
Raymond Hill
522249bcb5 Fix test against opener tab id in popup filtering code
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/774

Regression from:
- f204d24bf4
2019-11-04 13:34:44 -05:00
Raymond Hill
ec5191004c Use encodeURIComponent instead of btoa
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/772
2019-11-04 13:12:40 -05:00
Raymond Hill
53304dbbc1 Make Firefox dev build auto-update 2019-11-04 09:21:00 -05:00
Raymond Hill
625b65a2ce New revision for dev build 2019-11-04 09:17:21 -05:00
Raymond Hill
da253bf80c Use type="search" for search input fields
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/768

So that the input fields can gain extra built-in
browser widgets useful in search fields.
2019-11-03 13:14:29 -05:00
Raymond Hill
3dc0686ba5 Make Firefox dev build auto-update 2019-11-03 09:51:38 -05:00
Raymond Hill
7d9ed86843 Import translation work from https://crowdin.com/project/ublock 2019-11-03 09:46:09 -05:00
Raymond Hill
11f74db0d2 New revision for dev build 2019-11-03 09:42:31 -05:00
Raymond Hill
085a8cdbcc Fine tune cosmetic filtering badge-related code
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/756

As per feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/756#issuecomment-549128106
2019-11-03 09:38:36 -05:00
Raymond Hill
eff0524feb Make Firefox dev build auto-update 2019-11-02 19:17:37 -04:00
Raymond Hill
f6a60f0e87 New revision for dev build 2019-11-02 19:09:17 -04:00
Raymond Hill
571db71318 Fine tune cosmetic filtering badge-related code
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/756

As per various feedbacks:

Added an advanced setting to keep the original behavior,
which can be potentially costly CPU-wise on some sites:

    popupCosmeticFilterBadgeSlow

Default to `false`. Set to `true` to restore original
method of surveying the number of elements hidden as
a result of applying cosmetic filtering.

As suggested by <https://github.com/gwarser>, skip
descendant of nodes which have been found to be a
match in order to potentially increase the number
of nodes which can be surveyed in the alloted time.
2019-11-02 19:03:07 -04:00
Raymond Hill
c84c0979ce Make Firefox dev build auto-update 2019-11-02 11:48:56 -04:00
Raymond Hill
7e004c8672 New revision for devbuild 2019-11-02 11:46:28 -04:00
Raymond Hill
4afc0764d2 Fix logic mistake in last commit
Related commit:
- 6d935c8925

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/756
2019-11-02 11:45:18 -04:00
Raymond Hill
72837c9bda Make Firefox dev build auto-update 2019-11-02 09:32:43 -04:00
Raymond Hill
638246126a New revision for dev build 2019-11-02 09:19:27 -04:00
Raymond Hill
6d935c8925 Bail out when counting hidden elements is too expensive
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/756

When trying the number of hidden elements as a result of
cosmetic filtering for popup panel badge purpose, the
code will bail out if this takes too long, and in such
case the badge will be set to `?`, meaning the number
of hidden elements is undetermined.
2019-11-02 09:16:23 -04:00
Raymond Hill
d30c0192b3 Make Firefox dev build auto-update 2019-11-02 08:45:22 -04:00
Raymond Hill
4797bd8273 New revision for dev build 2019-11-02 08:32:59 -04:00
Raymond Hill
8acc39581c Fine tune script tags survey scriptlet
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/756

The code used to count expensive-to-survey particular
inline javascript occurrences will be executed if and
only if no other script tags have been found in the
DOM. This is acceptable since the badge count is to be
deemed approximate (as per documentation).
2019-11-01 14:28:15 -04:00
Raymond Hill
83834f12a1 Make Firefox dev build auto-update 2019-11-01 14:07:03 -04:00
Raymond Hill
f14e5ea15d New revision for dev build 2019-11-01 14:04:36 -04:00
Raymond Hill
987c9c1a21 Fix on-demand no-cosmetic-filtering badge when generichide in use
Related feedback:
- c090d2fde4 (commitcomment-35767596)

Mind that there might not be selectors to match as a
result of `generichide` or `no-cosmetic-filtering`.
2019-11-01 14:01:30 -04:00
Raymond Hill
2cd0d69c28 Make Firefox dev build auto-update 2019-11-01 12:48:49 -04:00
Raymond Hill
35d6785cbd New revision for dev build 2019-11-01 12:36:03 -04:00
Raymond Hill
c090d2fde4 Count hidden elements on-demand only in popup panel
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/756

The badge value for the no-cosmetic-filtering
switch will be evaluated on-demand only, when
the user hover over the switch with the mouse
cursor.

For touch screen displays, a tap on the switch
will cause the badge to be rendered if not
already done, otherwise this will toggle the
switch as usual.
2019-11-01 12:32:34 -04:00
Raymond Hill
7c0294bd5f Fix spurious leading/trailing wildcards with valid token
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/dpcvfx/

Regression from:
- 7971b22385

Leading/trailing wildcards are useless when a valid
token can be found, and in such case they need to
be removed so as to ensure the proper filter class
is used.
2019-10-31 13:46:06 -04:00
Raymond Hill
eb23c3581a Make Firefox dev build auto-update 2019-10-31 12:57:23 -04:00
Raymond Hill
5dd57030a1 New revision for dev build 2019-10-31 12:53:33 -04:00
Raymond Hill
d21b9388f3 Fix broken csp= filters when logger is opened
Regression from:
- 7971b22385

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/761
2019-10-31 12:43:33 -04:00
Raymond Hill
7fdbf75c6c Make Firefox dev build auto-update 2019-10-31 11:20:10 -04:00
Raymond Hill
dbb8e15ff0 New revision for dev build 2019-10-31 11:17:02 -04:00
Raymond Hill
11c56ab540 Minor fine-tuning of URL tokenizer 2019-10-31 11:15:00 -04:00
Raymond Hill
d8975ee580 Improve efficiency of per-site switches badge code
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/756

This is the code used to find out the count values
displayed as badge on the cosmetic filtering and
scripting per-site switches in the popup panel.

The issue is that document.querySelector*() -- used to
find out the number of hidden elements -- is unduly
expensive on large DOM.

The changes in this commit have focused on avoiding the
use of document.querySelector*() as much as possible.

Also, the results are cached for reuse unless DOM
mutations are detected.
2019-10-31 11:07:11 -04:00
Raymond Hill
11da758d47 Make Firefox dev build auto-update 2019-10-29 11:56:31 -04:00
Raymond Hill
d6a78d8476 New revision for dev build 2019-10-29 11:49:49 -04:00
Raymond Hill
a69b301d81 Fine-tune new bidi-trie code
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/761
2019-10-29 10:26:34 -04:00
Raymond Hill
49fb98dcb2 Make Firefox dev build auto-update 2019-10-28 14:07:12 -04:00
Raymond Hill
6075c929f9 New revision for dev build 2019-10-28 14:02:02 -04:00
Raymond Hill
5cc797fb47 Add WASM implementation for BidiTrieContainer.matches()
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/761
2019-10-28 13:57:35 -04:00
Raymond Hill
d7b2d31180 Harden compiled/selfie format change detection at launch
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/759

This commit adds code to rely less on the state of the
cache storage to decide whether filter lists should be
re-compiled or whether the selfie is currently valid
at launch time when a change in compiled/selfie format
is detected.
2019-10-27 11:49:05 -04:00
Raymond Hill
b79445320d Force-unsuspend when starting webRequest listener
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/759

If for some reasons the launch code throws, uBO could
find itself in permanent suspend mode, thus preventing
web pages from loading in Firefox.

Though uBO should not have exceptions thrown during
it's initialization code, this commit will ensure
uBO complete its initialization process should it
ever happen for whatever reason.
2019-10-27 11:41:08 -04:00
Raymond Hill
36fb671460 Make Firefox dev build auto-update 2019-10-27 08:43:52 -04:00
Raymond Hill
2fafe8081c New revision for dev build 2019-10-27 08:40:49 -04:00
Raymond Hill
40de7d6489 Fix WASM memory allocation in bidi-trie
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/764
2019-10-27 08:36:17 -04:00
Raymond Hill
92235adeec Make Firefox dev build auto-update 2019-10-26 17:42:58 -04:00
Raymond Hill
cdb6697e4c new revision for dev build 2019-10-26 17:40:27 -04:00
Raymond Hill
c71624d1da Fix access to detached buffer when using WASM in bidi-trie
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/764

WebAssembly.Memory.grow() preserves the buffer content when
we grow it, no need to manually copy it. Doing so was
causing an access to a no longer valid ArrayBuffer.
2019-10-26 17:37:47 -04:00
Raymond Hill
0373410635 Fix comments in WASM code 2019-10-26 15:34:40 -04:00
Raymond Hill
fb457a3dff Make Firefox dev build auto-update 2019-10-26 15:31:34 -04:00
Raymond Hill
1f1933981d New revision for dev build 2019-10-26 15:28:48 -04:00
Raymond Hill
6c3296958c Fix last commit due to bad last second change
Related feedback:
- b0cbc47d9a (commitcomment-35677572)

It seems I completely forgot to test the last
"trivial" change to the WASM code.
2019-10-26 15:25:47 -04:00
Raymond Hill
da8f9fa37c Make Firefox dev build auto-update 2019-10-26 13:26:03 -04:00
Raymond Hill
1df432c2e5 Import translation work from https://crowdin.com/project/ublock 2019-10-26 13:23:31 -04:00
Raymond Hill
b0cbc47d9a Add WASM versions for some bidi-trie methods
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/761

Changes related to above issue made it possible to
create WASM versions of methods used in the bidi-trie.
In this commit, WASM versions for startsWith(), indexOf()
and lastIndexOf() have been implemented.
2019-10-26 13:13:53 -04:00
Raymond Hill
dd2a9faa4c Use request as its own context when none available
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/dn9zso/

When a network request is tabless and contextless, i.e.
`tabId === -1` and `frameId === -1`, use the URL of
the network request as the context.
2019-10-26 10:18:32 -04:00
Raymond Hill
30393fdcf1 Exclude data type (i.e. csp=) from bidi-trie
We need a `matchAll()` method on the bidi-trie before
we can store filters of type `data` in it.

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

Related commit:
- 7971b22385
2019-10-22 18:14:49 -04:00
Raymond Hill
2681209828 New revision for dev build 2019-10-21 11:59:51 -04:00
Raymond Hill
c137630833 Merge branch 'snfe-refactor' 2019-10-21 11:59:02 -04:00
Raymond Hill
a5601b849e Import translation work from https://crowdin.com/project/ublock 2019-10-21 10:42:52 -04:00
Raymond Hill
29502a89f9 New revision for stable release 2019-10-21 09:12:20 -04:00
Raymond Hill
7971b22385 Expand bidi-trie usage in static network filtering engine
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/761
- https://github.com/uBlockOrigin/uBlock-issues/issues/528

The previous bidi-trie code could only hold filters which
are plain pattern, i.e. no wildcard characters, and which
had no origin option (`domain=`), right and/or left anchor,
and no `csp=` option.

Example of filters that could be moved into a bidi-trie
data structure:

    &ad_box_
    /w/d/capu.php?z=$script,third-party
    ||liveonlinetv247.com/images/muvixx-150x50-watch-now-in-hd-play-btn.gif

Examples of filters that could NOT be moved to a bidi-trie:

    -adap.$domain=~l-adap.org
    /tsc.php?*&ses=
    ||ibsrv.net/*forumsponsor$domain=[...]
    @@||imgspice.com/jquery.cookie.js|$script
    ||view.atdmt.com^*/iview/$third-party
    ||postimg.cc/image/$csp=[...]

Ideally the filters above should be able to be moved to a
bidi-trie since they are basically plain patterns, or at
least partially moved to a bidi-trie when there is only a
single wildcard (i.e. made of two plain patterns).

Also, there were two distinct bidi-tries in which
plain-pattern filters can be moved to: one for patterns
without hostname anchoring and another one for patterns
with hostname-anchoring. This was required because the
hostname-anchored patterns have an extra condition which
is outside the bidi-trie knowledge.

This commit expands the number of filters which can be
stored in the bidi-trie, and also remove the need to
use two distinct bidi-tries.

- Added ability to associate a pattern with an integer
  in the bidi-trie [1].
    - The bidi-trie match code passes this externally
      provided integer when calling an externally
      provided method used for testing extra conditions
      that may be present for a plain pattern found to
      be matching in the bidi-trie.

- Decomposed existing filters into smaller logical units:
    - FilterPlainLeftAnchored =>
        FilterPatternPlain +
        FilterAnchorLeft
    - FilterPlainRightAnchored =>
        FilterPatternPlain +
        FilterAnchorRight
    - FilterExactMatch =>
        FilterPatternPlain +
        FilterAnchorLeft +
        FilterAnchorRight
    - FilterPlainHnAnchored =>
        FilterPatternPlain +
        FilterAnchorHn
    - FilterWildcard1 =>
        FilterPatternPlain + [
          FilterPatternLeft or
          FilterPatternRight
        ]
    - FilterWildcard1HnAnchored =>
        FilterPatternPlain + [
          FilterPatternLeft or
          FilterPatternRight
        ] +
        FilterAnchorHn
    - FilterGenericHnAnchored =>
        FilterPatternGeneric +
        FilterAnchorHn
    - FilterGenericHnAndRightAnchored =>
        FilterPatternGeneric +
        FilterAnchorRight +
        FilterAnchorHn
    - FilterOriginMixedSet =>
        FilterOriginMissSet +
        FilterOriginHitSet
    - Instances of FilterOrigin[...], FilterDataHolder
      can also be added to a composite filter to
      represent `domain=` and `csp=` options.

- Added a new filter class, FilterComposite, for
  filters which are a combination of two or more
  logical units. A FilterComposite instance is a
  match when *all* filters composing it are a
  match.

Since filters are now encoded into combination of
smaller units, it becomes possible to extract the
FilterPatternPlain component and store it in the
bidi-trie, and use the integer as a handle for the
remaining extra conditions, if any.

Since a single pattern in the bidi-trie may be a
component for different filters, the associated
integer points to a sequence of extra conditions,
and a match occurs as soon as one of the extra
conditions (which may itself be a sequence of
conditions) is fulfilled.

Decomposing filters which are currently single
instance into sequences of smaller logical filters
means increasing the storage and CPU overhead when
evaluating such filters. The CPU overhead is
compensated by the fact that more filters can now
moved into the bidi-trie, where the first match is
efficiently evaluated. The extra conditions have to
be evaluated if and only if there is a match in the
bidi-trie.

The storage overhead is compensated by the
bidi-trie's intrinsic nature of merging similar
patterns.

Furthermore, the storage overhead is reduced by no
longer using JavaScript array to store collection
of filters (which is what FilterComposite is):
the same technique used in [2] is imported to store
sequences of filters.

A sequence of filters is a sequence of integer pairs
where the first integer is an index to an actual
filter instance stored in a global array of filters
(`filterUnits`), while the second integer is an index
to the next pair in the sequence -- which means all
sequences of filters are encoded in one single array
of integers (`filterSequences` => Uint32Array). As
a result, a sequence of filters can be represented by
one single integer -- an index to the first pair --
regardless of the number of filters in the sequence.

This representation is further leveraged to replace
the use of JavaScript array in FilterBucket [3],
which used a JavaScript array to store collection
of filters. Doing so means there is no more need for
FilterPair [4], which purpose was to be a lightweight
representation when there was only two filters in a
collection.

As a result of the above changes, the map of `token`
(integer)  => filter instance (object) used to
associate tokens to filters or collections of filters
is replaced with a more efficient map of `token`
(integer) to filter unit index (integer) to lookup a
filter object from the global `filterUnits` array.

Another consequence of using one single global
array to store all filter instances means we can reuse
existing instances when a logical filter instance is
parameter-less, which is the case for FilterAnchorLeft,
FilterAnchorRight, FilterAnchorHn, the index to these
single instances is reused where needed.

`urlTokenizer` now stores the character codes of the
scanned URL into a bidi-trie buffer, for reuse when
string matching methods are called.

New method: `tokenHistogram()`, used to generate
histograms of occurrences of token extracted from URLs
in built-in benchmark. The top results of the "miss"
histogram are used as "bad tokens", i.e. tokens to
avoid if possible when compiling filter lists.

All plain pattern strings are now stored in the
bidi-trie memory buffer, regardless of whether they
will be used in the trie proper or not.

Three methods have been added to the bidi-trie to test
stored string against the URL which is also stored in
then bidi-trie.

FilterParser is now instanciated on demand and
released when no longer used.

***

[1] 135a45a878/src/js/strie.js (L120)
[2] e94024d350
[3] 135a45a878/src/js/static-net-filtering.js (L1630)
[4] 135a45a878/src/js/static-net-filtering.js (L1566)
2019-10-21 08:15:58 -04:00
Raymond Hill
9f069850e5 Make Firefox dev build auto-update 2019-10-17 17:30:02 -04:00
Raymond Hill
1352c30b1c New revision for release candidate 2019-10-17 17:26:41 -04:00
Raymond Hill
f2340bef3c Fix bad returned value in case of empty URL
Though I do no expect the empty URL case
to ever occur, having the tokenizer return
the wrong value if it ever occur could cause
uBO to malfunction.
2019-10-17 17:23:05 -04:00
Raymond Hill
e417c9237e Make Firefox dev build auto-update 2019-10-15 11:57:35 -04:00
Raymond Hill
6975461f3c Import translation work from https://crowdin.com/project/ublock 2019-10-15 11:53:44 -04:00
Raymond Hill
5686d09940 New revision for release candidate 2019-10-15 11:50:21 -04:00
Raymond Hill
0f19dfde38 Avoid or defer writing back to cache storage at launch
The readTime property is unused for compiled or selfie
assets, and thus writing back to storage to persist
this property is useless for those assets, and an undue
overhead when reading such assets, especially at launch
time.

Assets are always loaded from their compiled or selfie
counterparts at launch.

This commit will prevent those unnecessary storage
write operations.
2019-10-15 11:42:43 -04:00
Raymond Hill
5a85ff9a93 Make Firefox dev build auto-update 2019-10-14 09:08:14 -04:00
Raymond Hill
a521eed4c7 New revision for release candidate 2019-10-14 09:05:15 -04:00
Raymond Hill
f117c280d0 Fix minor bugs spotted during code review 2019-10-14 09:03:51 -04:00
Raymond Hill
389d8458e0 Make Firefox dev build auto-update 2019-10-11 18:10:50 -04:00
Raymond Hill
8245ba2ac2 New revision for release candidate 2019-10-11 18:07:14 -04:00
Raymond Hill
7459a3f369 Fix thunderbird build script
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/753
2019-10-11 18:01:05 -04:00
Raymond Hill
f4c25f0e74 Merge branch 'master' of github.com:gorhill/uBlock 2019-10-11 10:54:22 -04:00
Raymond Hill
8c6a08722f Remove "RUS: AdGuard Russian" from stock filter list
As per feedback from maintainers, AdGuard Russian
and RU AdList are incompatible and web site breakage
can occur when both are used together.

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/749
2019-10-11 10:50:25 -04:00
Dylan Sharhon
288ce6c601 Add heads up for Safari 13+ users (#3758)
See https://github.com/uBlockOrigin/uBlock-issues/issues/747
2019-10-08 14:43:09 -04:00
Raymond Hill
8a8edeab1f Make Firefox dev build auto-update 2019-10-07 09:55:13 -04:00
Raymond Hill
5915c7044c New revision for release candidate 2019-10-07 08:30:28 -04:00
Raymond Hill
79b3b1921e Import translation work from https://crowdin.com/project/ublock 2019-10-07 08:28:56 -04:00
Raymond Hill
35cb0eb377 Do not bypass network listener in suspended mode
Tabless network requests were bypassing uBO's
onBeforeRequest's listener when in suspended
mode. Suspend mode occurs during the time the
filter lists are all reloaded.

Regression from:
- 1dfdc40e09 (diff-d04c15ee6bff6a6269c6aee25a7c7522R1122)
2019-10-07 08:13:37 -04:00
Raymond Hill
eb1ccec242 Make Firefox dev build auto-update 2019-10-03 12:49:06 -04:00
Raymond Hill
0733f6c476 New revision for release candidate 2019-10-03 12:45:29 -04:00
Raymond Hill
01a4060d2c Import translation work from https://crowdin.com/project/ublock 2019-10-03 12:44:45 -04:00
Raymond Hill
5a5523c0b5 Remove stats button from logger
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/741

The feature will be released in the future when
it works as I intend for it to work rather than
being a featureless bare-bone version.
2019-10-03 12:32:27 -04:00
Raymond Hill
fcfa83dfc6 Make Firefox dev build auto-update 2019-10-01 09:14:41 -04:00
Raymond Hill
806364f2da New revision for release candidate 2019-10-01 09:03:44 -04:00
Raymond Hill
520762f26a New revision for dev build 2019-10-01 09:02:02 -04:00
Raymond Hill
bf697f344a Log procedural cosmetic exception filters
Related issue:
- https://github.com/gorhill/uBlock/issues/127

Procedural cosmetic exception filters were the
last class of cosmetic exception filters not
being reported in the logger; this commit fixes
this.

Additionally, ensure that a single DOM listener
can't prevent other listeners from being
processed by throwing an exception. Such approach
would have prevented regression leading to
emergency release 1.22.4:
- https://github.com/gorhill/uBlock/releases/tag/1.22.4
2019-09-30 18:21:24 -04:00
Raymond Hill
95469032a4 Make Firefox dev build auto-update 2019-09-30 11:46:38 -04:00
Raymond Hill
d66a0dda9c New revision for dev build 2019-09-30 11:43:13 -04:00
Raymond Hill
7ac908a3f8 Fix regression in logger's reverse-lookup of filters
Related commit:
- e1d75ee602
2019-09-30 11:41:43 -04:00
Raymond Hill
ef45543c83 Make Firefox dev build auto-update 2019-09-30 10:47:35 -04:00
Raymond Hill
0e0ccfe545 New revision for dev build 2019-09-30 10:42:59 -04:00
Raymond Hill
41ab06a47b Fix regression in cosmetic filtering
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/740

Related commit:
- 3f074d7908
2019-09-30 10:40:56 -04:00
Raymond Hill
e1d75ee602 Prevent reverse-lookup from finding badfilter-ed filters
This could occur when clicking old entries in the logger
which no longer matched the internal state of uBO.

Related feedback:
- https://github.com/MajkiIT/polish-ads-filter/issues/14768#issuecomment-536006312
2019-09-30 08:53:02 -04:00
Raymond Hill
23b6f35893 Make Firefox dev build auto-update 2019-09-30 08:06:21 -04:00
Raymond Hill
c6f8e0e72d New revision for dev build 2019-09-30 07:57:32 -04:00
Raymond Hill
fc277cb16b Import translation work from https://crowdin.com/project/ublock 2019-09-30 07:56:34 -04:00
Raymond Hill
3f074d7908 Use self when testing for vAPI presence 2019-09-30 07:50:35 -04:00
Raymond Hill
a8df19fee4 Rename register-like variables
Use leading `$` instead of trailing `$` to denote
register-like variables, this conveniently allows
to group them together in the debugger.
2019-09-29 13:21:09 -04:00
Raymond Hill
bf99623a54 Add sanity checks
In rare circumstances, it's possible the content
script lose access to the background page, best
to check against this to avoid spurious console
errors.
2019-09-29 12:26:58 -04:00
Raymond Hill
c95da8f5c5 Make Firefox dev build auto-update 2019-09-28 13:51:20 -04:00
Raymond Hill
adea477792 New revision for dev build 2019-09-28 13:47:55 -04:00
Raymond Hill
e94024d350 Reduce memory usage in staticExtFilteringEngine.HostnameBasedDB
Using pairs of integers allows the use of a
single integer-only array to store lists of
string indices associated to a specific
hostname.

Memory usage of instances of HostnameBasedDB
as per Chromium's heap snaphshot (bytes):

Before:
    2,459,256 => specific cosmetic filters
      944,152 => scriptlet filtering
          736
    ---------
    3,404,144

After:
    1,947,448 => "
      757,936 => "
          632
    ---------
    2,706,016

Ultimately, using 2 integers for each entry
instead of a single one is still worth it
because this allows the use of one single
integer-only array instead of having to use
an array of arrays for hostnames which have
multiple entries.
2019-09-28 13:36:07 -04:00
Raymond Hill
4bf6503f0a Store csp= filters into main data structure
This commits make it so that `csp=` filters
are now stored in the same data structures as
all other static network filters rather than
being stored in a separate one.

This internal change is motivated by the wish
to bring session filters to the static network
filtering engine, as has already been done for
the static extended filtering engine in the
following commit:

59c9a34d34
2019-09-28 11:30:26 -04:00
Raymond Hill
235851db42 Make Firefox dev build auto-update 2019-09-26 17:05:20 -04:00
Raymond Hill
024dcaa579 New revision for dev build 2019-09-26 16:25:46 -04:00
Raymond Hill
efa4ff3bcf Code review re. dynamically loaded vapi-client-extra.js
Related commit:
- 87d0e456f1

Ensure that the code which depends on extending
`vapi-client.js` is ready to deal with
`vapi-client-extra.js` failing to load.
2019-09-26 15:57:55 -04:00
Raymond Hill
e97ab16a54 Make Firefox dev build auto-update 2019-09-26 12:52:31 -04:00
Raymond Hill
8523a36316 Fix revision 2019-09-26 12:49:16 -04:00
Raymond Hill
631ccdb1a0 New revision for dev build 2019-09-26 12:42:15 -04:00
Raymond Hill
7912e919b6 Code review of session filters commit
Related commits:
- 46d36cb0b0
- 59c9a34d34
2019-09-26 12:40:56 -04:00
Raymond Hill
16261aa6b5 Minor code review for d6ccc9857d
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/736
2019-09-26 09:25:33 -04:00
Raymond Hill
d6ccc9857d Fix missing newline in merging of sublists
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/736

Regression from:
- e27328f931
2019-09-26 09:13:50 -04:00
Raymond Hill
978f04219a Make Firefox dev build auto-update 2019-09-25 11:34:29 -04:00
Raymond Hill
39e3c33b6e New revision for dev build 2019-09-25 11:30:36 -04:00
Raymond Hill
46d36cb0b0 Code review of session filters commit
Related commit:
- 59c9a34d34
2019-09-25 11:21:34 -04:00
Raymond Hill
28aee88a7b Fix regression in logger's summary pane
Related feedback:
- 59c9a34d34 (commitcomment-35226346)
2019-09-25 06:14:43 -04:00
Raymond Hill
1cb77aaea2 Make Firefox dev build auto-update 2019-09-24 17:20:02 -04:00
Raymond Hill
437cbe73dd New revision for dev build 2019-09-24 17:14:13 -04:00
Raymond Hill
59c9a34d34 Add ability to quickly create exceptions in logger
This is a feature under development, hidden behind
a new advanced setting, `filterAuthorMode` which
default to `false`.

Ability to point-and-click to create temporary
exception filters for static extended filters (i.e.
cosmetic, scriptlet & html filters) from within
the summary pane in the logger. The button to
toggle on/off temporary exception filter is
labeled `#@#`.

The created exceptions are temporary and will be
lost when restarting uBO, or manually toggling off
the exception filters.

Creating temporary exception filters does not
cause the filter lists to reloaded, and thus there
is no overhead in creating/removing these temporary
exception filters.
2019-09-24 17:05:03 -04:00
Raymond Hill
733b2330de Prevent spurious error messages to browser console
These spurious error messages can occur when a
extension framework API method return a
rejected Promise. In uBO the results of
browserAction methods is not used so it can be
safely discarded.
2019-09-23 09:29:17 -04:00
Raymond Hill
1c72b171de Make Firefox dev build auto-update 2019-09-23 08:41:58 -04:00
Raymond Hill
f6b1bf02ff New revision for dev build 2019-09-23 08:35:43 -04:00
Raymond Hill
f204d24bf4 Match static popup filter against local context
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/d6zbqv/

For static filter `popup` filter purpose, the URL of the
embedded frame from which the popup was launched will
be used in the matching algorithm.
2019-09-23 08:25:23 -04:00
Raymond Hill
d15163d3bb Clarify that the code base was really old and obsolete 2019-09-22 09:57:38 -04:00
Raymond Hill
6b461e8a57 Make Firefox dev build auto-update 2019-09-22 09:35:36 -04:00
Raymond Hill
8f9c2dd824 New revision for dev build 2019-09-22 09:24:44 -04:00
Raymond Hill
1d2b24c79a Fix erroneous reports of blocked popups in logger
Reported internally by:
- https://github.com/gwarser

This was reproducible at the following link when
`ping`requests were blocked:
- https://testpages.adblockplus.org/en/filters/ping
2019-09-22 09:19:57 -04:00
Raymond Hill
010635acd6 Add support for ping static filter option
Related issue:
- https://github.com/gorhill/uBlock/issues/1493

Documentation:
- https://help.eyeo.com/adblockplus/how-to-write-filters#type-options

Test page:
- https://testpages.adblockplus.org/en/filters/ping

Additionally, network requests of type `beacon` will
be mapped to `ping` by the static filtering engine.
2019-09-22 09:11:55 -04:00
Raymond Hill
22b390eb00 Fix case of unreported :style filters in logger
As reported by https://github.com/uBlock-user,
adding the two following filters:

example.com##div:style(width: 1016px !important)
example.com##div:style(display: block !important)

The logger would report only one of the filter when
navigating to https://example.com/
2019-09-22 07:51:20 -04:00
Raymond Hill
8c47fa1a3e Use async/await instead of chained thens 2019-09-21 19:48:02 -04:00
Raymond Hill
3568ccdd33 Make Firefox dev build auto-update 2019-09-21 19:30:34 -04:00
Raymond Hill
243a54b65a New revision for dev build 2019-09-21 19:27:35 -04:00
Raymond Hill
eb871ae558 Fix regression in selfie destruction code
Related commit:
- 915687fddb (diff-73ef8c4664f2ec8c02320d50b2908efdR1100-R1113)

Since selfie destruction is now deferred so as to
coallesce burst of call to destroy(), the selfie
load code must mind whether there is a pending
destruction in order to decide whether the
selfie can be safely loaded.

Related feedback:
- 23c4c80136 (commitcomment-35179834)
2019-09-21 19:24:47 -04:00
Raymond Hill
3bdad19d6e Make Firefox dev build auto-update 2019-09-21 16:54:47 -04:00
Raymond Hill
263f3760b3 New revision for dev build 2019-09-21 16:50:15 -04:00
Raymond Hill
9f825c3059 Do not flush blocked-elements cache at webNavigation time
While testing for the new `elemhide` option using ABP's
test page[1], I found out that the placeholder of the
blocked image on that page was not properly collapsed
by uBO.

The reason was because the page is very simple and
flushing the blocked-elements cache at
webNavigation.onCommitted time was causing the loss
of information collected between
webRequest.onBeforeRequest and
webNavigation.onCommitted, preventing uBO from
properly collapsing the placeholders.

The blocked-elements cache is now flushed
ONLY at webRequest.onBeforeRequest time.

[1] https://testpages.adblockplus.org/en/exceptions/elemhide
2019-09-21 16:42:15 -04:00
Raymond Hill
350e436c08 Remove remnants of chrome references...
... from platform-independent code.

This should complete the de-chromiumification of
uBO. Next step will be to swap the content of the
`platform/chromium` and `platform/firefox`
folders so as to reflect that Firefox is the
natural platform for uBO.
2019-09-21 12:06:57 -04:00
Raymond Hill
23c4c80136 Add support for elemhide (through specifichide)
Related documentation:
- https://help.eyeo.com/en/adblockplus/how-to-write-filters#element-hiding

Related feedback/discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/d6vxzj/

The `elemhide` filter option as per ABP semantic is
now supported. Previously uBO would consider `elemhide`
to be an alias of `generichide`.

The support of `elemhide` is through the convenient
conversion of `elemhide` option into existing
`generichide` option and new `specifichide` option.

The purpose of the new `specifichide` filter option
is to disable all specific cosmetic filters, i.e.
those who target a specific site.

Additionally, for convenience purpose, the filter
options `generichide`, `specifichide` and `elemhide`
can be aliased using the shorter forms `ghide`,
`shide` and `ehide` respectively.
2019-09-21 11:30:38 -04:00
Raymond Hill
6033ebf0d0 Make Firefox dev build auto-update 2019-09-20 08:04:04 -04:00
Raymond Hill
f10ee15b08 New revision for dev build 2019-09-20 08:00:41 -04:00
Raymond Hill
0c6407c082 Use webext.menus, not browser.contextMenus (oops) 2019-09-20 07:59:21 -04:00
Raymond Hill
4f89a6f89d Fix missing "Block element" in Firefox's menu
Regression from:
- 58620fb051
2019-09-20 07:51:47 -04:00
Raymond Hill
1d93d6f64e Fix typo
Related feedback:
- 149b5cf59c (r35158554)
2019-09-19 17:19:29 -04:00
Raymond Hill
12f09d6ec2 Make Firefox dev build auto-update 2019-09-19 17:15:14 -04:00
Raymond Hill
c42436ca0d New revision for dev build 2019-09-19 17:11:31 -04:00
Raymond Hill
58620fb051 Work toward modernizing code base: promisification
Swathes of code have been converted to use
Promises/async/await.

Related commits:
- 022951547c
- 3224d9b5cc
- 26235d80d0
- 0051f3b5c7
- eec53c0154
- 915687fddb
- 55cc0c6997
- e27328f931
2019-09-19 16:41:44 -04:00
Raymond Hill
5f60c31f77 Fix copyright dates as per commit history
vapi.js
-https://github.com/gorhill/uBlock/commits/master/platform/chromium/vapi.js

vapi-common-js
- https://github.com/gorhill/uBlock/commits/master/platform/chromium/vapi-common.js
- 266f62914f/meta/crx/vapi-common.js
- 8444923c0c/src/js/vapi-common.js

vapi-background.js
- https://github.com/gorhill/uBlock/commits/master/platform/chromium/vapi-background.js
- 266f62914f/meta/crx/vapi-background.js
- 8444923c0c/src/js/vapi-background.js

vapi-client.js
- https://github.com/gorhill/uBlock/commits/master/platform/chromium/vapi-client.js
- 266f62914f/meta/crx/vapi-client.js
- 8444923c0c/src/js/vapi-client.js
2019-09-19 11:04:12 -04:00
Raymond Hill
60aa80b571 Fix erroneous copyright date
As per commit history:
266f62914f/meta/crx/vapi-client.js
2019-09-19 09:12:51 -04:00
Raymond Hill
a45a962517 Fix property name inconsistency
Addtionally, fixed erroneous copyright date, as per
commit history:
https://github.com/gorhill/uBlock/commits/master/platform/chromium/vapi-client.js
2019-09-19 09:07:55 -04:00
Raymond Hill
b82ce4d8d1 Make Firefox dev build auto-update 2019-09-19 08:56:13 -04:00
Raymond Hill
b9b50331f9 New revision for dev build 2019-09-19 08:51:08 -04:00
Raymond Hill
87d0e456f1 Simplify client messaging code
Little-used code from vapi-client.js has been moved
to vapi-client-extra.js. Given that vapi-client.js
is injected in all web pages, this means less dead
code being injected in all pages.

Swathes of code in vapi-client.js was used only in
a few very specific cases, such as when the logger's
DOM inspector is opened or when the "Filter lists"
pane in the dashboard is opened -- and thus to avoid
that little used code to be loaded in every web page
unconditionally, it has been moved to its own
separate file, vapi-client.extra.js.

vapi-client-extra.js is loaded declaratively or
programmatically only where needed.
2019-09-19 08:31:38 -04:00
Raymond Hill
149b5cf59c Reomving now obsolete Safari code base
See README.md file:
https://github.com/gorhill/uBlock/tree/master/platform/safari/README.md
2019-09-19 08:19:39 -04:00
Raymond Hill
917f3620e0 Revisit element picker arguments code
No need to store mouse coordinates in background
page, thus no need to post mouse coordinates
information for every click.

Rename/group element picker arguments and popup
arguments separately.
2019-09-18 12:17:45 -04:00
Raymond Hill
146e2ff186 Make Firefox dev build auto-update 2019-09-18 09:13:56 -04:00
Raymond Hill
dd3830927e New revision for dev build 2019-09-18 09:06:30 -04:00
Raymond Hill
022951547c Work toward modernizing code base: promisification
Swathes of code have been converted to use
Promises/async/await.

Related commits:
- 3224d9b5cc
- 26235d80d0
- 0051f3b5c7
- eec53c0154
- 915687fddb
- 55cc0c6997
- e27328f931
2019-09-18 08:34:55 -04:00
Raymond Hill
78f430678a Fix needless visual toggling of update/apply buttons 2019-09-18 06:52:10 -04:00
Raymond Hill
ed99d52bc4 Simplify slightly messaging code
- No need to hold onto channel name and message data while
  waiting for response to resolve
- Use more representative `msgId` instead of `auxProcessId`
2019-09-17 17:43:52 -04:00
Raymond Hill
60c2381518 Make Firefox dev build auto-update 2019-09-17 15:29:51 -04:00
Raymond Hill
0b62602321 New revision for dev build 2019-09-17 15:19:56 -04:00
Raymond Hill
3224d9b5cc Work toward modernizing code base: promisification
Swathes of code have been converted to use
Promises/async/await.

Related commits:
- 26235d80d0
- 0051f3b5c7
- eec53c0154
- 915687fddb
- 55cc0c6997
- e27328f931
2019-09-17 15:15:01 -04:00
Raymond Hill
26235d80d0 Fix regression in importation of custom lists
Reported by:
- https://github.com/uBlock-user:

Imported custom list were incorrectly seen as out of
date immediately after import operation.

Regression from:
- e27328f931

A few lines of code were improperly removed during
refactoring.
2019-09-17 07:44:19 -04:00
Raymond Hill
0051f3b5c7 Work toward modernizing code base: promisification
Swathes of code have been converted to use
Promises/async/await. More left to do.

Related commits:
- eec53c0154
- 915687fddb
- 55cc0c6997
- e27328f931
2019-09-16 16:17:48 -04:00
Raymond Hill
c74df9b172 Make Firefox dev build auto-update 2019-09-16 09:52:35 -04:00
Raymond Hill
ba6a946cd3 New revision for dev build 2019-09-16 09:49:11 -04:00
Raymond Hill
eec53c0154 Work toward modernizing code base: promisification
Swathes of code have been converted to use
Promises/async/await. More left to do.

Related commits:
- 915687fddb
- 55cc0c6997
- e27328f931
2019-09-16 09:45:17 -04:00
Raymond Hill
c4ee846cd4 Fix title 2019-09-15 14:53:18 -04:00
Raymond Hill
28cde2bd5b Fix title in test page 2019-09-15 11:29:39 -04:00
Raymond Hill
cf4f41c349 Make Firefox dev build auto-update 2019-09-15 11:12:02 -04:00
Raymond Hill
081f55f7c3 New revision for dev build 2019-09-15 11:08:33 -04:00
Raymond Hill
9367a6015b Convert new setTimeout-if scriptlet to blacklist approach
As per feedback from filter list maintainers, the
whitelist approach has been deemed to confusing.

The scriptlet has been renamed `no-setTimeout-if`
alias `nostif` to reflect the blacklist approach.

`setInterval-if` has been Similarly changed to
`no-setInterval-if` alias `nosiif`.
2019-09-15 11:01:50 -04:00
Raymond Hill
df49616ae8 Make Firefox dev build auto-update 2019-09-15 09:44:53 -04:00
Raymond Hill
bb0161e126 New revision for dev build 2019-09-15 09:39:53 -04:00
Raymond Hill
915687fddb Work toward modernizing code base: promisification
Also, coallesce calls to selfieManager.destroy() so as
to avoid undue repeated calls to storage deletion of
selfie assets.

Related commit:
- e27328f931
2019-09-15 09:36:50 -04:00
Raymond Hill
55cc0c6997 Fix regression from promisification work
Related commit:
- e27328f931

The regression was preventing the compiled filter
lists from being properly loaded by uBO, thus
always causing a full parsing/compiling at
launch time.
2019-09-15 09:35:04 -04:00
Raymond Hill
123e15451f Make Firefox dev build auto-update 2019-09-15 08:18:33 -04:00
Raymond Hill
be1d1b3eee Import translation work from https://crowdin.com/project/ublock 2019-09-15 08:10:31 -04:00
Raymond Hill
99783702c2 New revision for dev build 2019-09-15 08:06:28 -04:00
Raymond Hill
e27328f931 Work toward modernizing code base: promisification
Swathes of code have been converted to use
Promises/async/await. More left to do.

In the process, a regression affecting the fix to
<https://github.com/uBlockOrigin/uBlock-issues/issues/682>
has been fixed.
2019-09-15 07:58:28 -04:00
Raymond Hill
6c7d3a40d6 Update popup panel screenshots 2019-09-12 14:25:35 -04:00
Raymond Hill
97d6d5028b Fix mishandling of procedural cosmetic exceptions in logger
Issue reported by @uBlock-user in team channel.

Creating cosmetic procedural exception filters was
causing `cosmetic-logger.js` scriptlet to throw at
and thus further breaking the logging of cosmetic
filters overall.
2019-09-12 13:05:41 -04:00
Raymond Hill
e393a52442 Fix icon title always showing (0) when badge is disabled
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/d33d37/
2019-09-12 12:26:09 -04:00
Raymond Hill
a3504fc318 Make Firefox dev build auto-update 2019-09-11 08:21:37 -04:00
Raymond Hill
b5c1efc7f5 Informal code review toward ES6 2019-09-11 08:08:30 -04:00
Raymond Hill
8ef896476a New revision for dev build 2019-09-11 08:04:55 -04:00
Raymond Hill
93f438f55e Add advanced setting for extension reload on update
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/717

Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/717#issuecomment-530275655

New advanced setting: `extensionUpdateForceReload`

Default value: `false`

If set to `true`, the extension will unconditionally reload
when an update is available; otherwise the extension will
reload only when being explicitly disabled then enabled, or
when the browser is restarted.
2019-09-11 08:00:55 -04:00
Raymond Hill
0c4eabb743 Make Firefox dev build auto-update 2019-09-10 16:48:47 -04:00
Raymond Hill
13b0be7f9e New revision for dev build 2019-09-10 16:45:02 -04:00
Raymond Hill
7e8822cfc5 Import translation work from https://crowdin.com/project/ublock 2019-09-10 16:44:14 -04:00
Raymond Hill
1e7e6f86a6 Reuse existing Set/Map when calling scriptletFilteringEngine.retrieve
Reuse permanent instances instead. The trailing `$` is
used to denote these variables are register-like
instances, i.e. their content is valid only for the
duration of the call. (From now on I will use this
convention throughout the code base.)
2019-09-10 13:59:28 -04:00
Raymond Hill
a73dd0a9f2 Fix entity-based lookup in html & scriptlet filtering
Entity-based filters where not properly looked-up if
they used subdomains. Example:

- `example.*##^script` => ok

- `www.example.*##^script` => failed on `https://www.example.com/`
2019-09-10 10:51:34 -04:00
Raymond Hill
ed94692238 Make Firefox dev build auto-update 2019-09-09 14:24:54 -04:00
Raymond Hill
a94f5cc155 New revision for dev build 2019-09-09 14:16:56 -04:00
Raymond Hill
2fd86a66fc Add json-prune.js scriptlet
The scriptlet will trap calls to JSON.parse, and
if the result of the parsing is an Object, it
will remove specified properties from the result
before returning to the caller.

Usage:

    ##+js(json-prune, arg1, [arg2])

Where:

- arg1: a list of space-separated properties to remove

- arg2: optional, a list of space-separated properties
        which must be all present for the pruning to
        occur

Example:

    ##+js(json-prune, enabled, adpath config)

A property in a list of properties can be a chain
of properties, example: adpath.url.first
2019-09-09 14:06:23 -04:00
Raymond Hill
4792e0e291 Coalesce tab reloads in burst "relax blocking mode" ops
Quickly firing "Relax blocking mode" commands will
cause the tab to reload only once.
2019-09-08 12:52:28 -04:00
Raymond Hill
ad0315a4cd Make Firefox dev build auto-update 2019-09-07 12:26:11 -04:00
Raymond Hill
b74b8821d6 New revision for dev build 2019-09-07 09:31:25 -04:00
Raymond Hill
df276a664d New revision for dev build 2019-09-07 08:33:15 -04:00
Raymond Hill
3eeaba45d9 Cherry-picked ac7825c789 2019-09-07 08:31:32 -04:00
Raymond Hill
a488e1f053 Make Firefox dev build auto-update 2019-09-06 13:07:40 -04:00
Raymond Hill
c796561742 New revision for dev build 2019-09-06 13:04:45 -04:00
Raymond Hill
c8c2e11d09 Prevent reload if updated version is higher than current
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/717

Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/717#issuecomment-528921730
2019-09-06 13:03:06 -04:00
Raymond Hill
c55288281c Make Firefox dev build auto-update 2019-09-06 11:51:52 -04:00
Raymond Hill
8f319e3ceb Import translation work from https://crowdin.com/project/ublock 2019-09-06 11:48:01 -04:00
Raymond Hill
596619b260 New revision for dev build 2019-09-06 11:45:19 -04:00
Raymond Hill
bcf5ac1fee Add advanced setting to control logger popup type
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/663

The advanced setting `loggerPopupType` has been added, to
control the type of window to be used when the logger is
launched as a separate window.

The default value is `popup`, it can be changed to any of
the values documented at:

https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/windows/CreateType
2019-09-06 11:41:07 -04:00
Raymond Hill
5688888ec1 Remove pointless local scoping 2019-09-06 10:38:17 -04:00
Raymond Hill
35854e4baf Use more descriptive name for raf-if.js
Related feedback:
- 6831967f5f (commitcomment-34979880)
2019-09-06 09:40:04 -04:00
Raymond Hill
59bdf2b4cc Prevent uBO from being reloaded mid-session
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/717

Just registering a onUpdateAvailable() listener prevents
the browser from reloading the extension mid-session.

Ref:
- https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onUpdateAvailable
2019-09-04 10:24:24 -04:00
Raymond Hill
b5e34f12fc Make Firefox dev build auto-update 2019-09-02 08:50:35 -04:00
Raymond Hill
7a8ad5afd8 New revision for dev build 2019-09-02 08:46:25 -04:00
Raymond Hill
aee6b2d1cb Fix regression in filter compilation in element picker
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/715

Regression from fix to issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/710
2019-09-02 08:43:49 -04:00
Raymond Hill
b488334d61 Make Firefox dev build auto-update 2019-09-01 13:14:18 -04:00
Raymond Hill
c231bb8694 New revision for dev build 2019-09-01 13:00:18 -04:00
Raymond Hill
ca9b29c7ec Distinguish between priviledge and unprivileged messages
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/710

Messages from unprivileged ports (i.e. from content scripts)
are no longer relayed to message handlers which are to be
strictly used to execute privileged code.

The last remaining case of unprivileged messages which
should be converted into a privileged ones will be taken
care of when the following issue is fixed:
- https://github.com/gorhill/uBlock/issues/3497
2019-09-01 12:43:12 -04:00
Raymond Hill
ac56aabd7c New revision for stable release 2019-08-30 09:58:38 -04:00
Raymond Hill
ed2fc4a7bb Import translation work from https://crowdin.com/project/ublock 2019-08-30 09:29:11 -04:00
Raymond Hill
9f6e369cd2 Make Firefox dev build auto-update 2019-08-25 09:46:03 -04:00
Raymond Hill
883aad50b1 New revision for dev build 2019-08-25 09:42:14 -04:00
Raymond Hill
e3043fadc7 Fix console logging ability in setTimeout-if
Regression from e0fd9750d4
2019-08-25 09:38:08 -04:00
Raymond Hill
14e60f5e2d Make Firefox dev build auto-update 2019-08-25 09:15:48 -04:00
Raymond Hill
254a356079 New revision for dev build 2019-08-25 09:11:25 -04:00
Raymond Hill
1d805fb9da Add support for !#if false in list directive processor
To more easily comment out blocks of filters.
2019-08-25 09:08:41 -04:00
Raymond Hill
e0fd9750d4 Further fix new setTimeout-if/setInterval-if scriptlets
Addtionally, a dedicated test page has been added:

https://gorhill.github.io/uBlock/tests/scriptlet-injection-filters-1.html
2019-08-25 09:03:24 -04:00
Raymond Hill
a7c852ca5d Make Firefox dev build auto-update 2019-08-24 14:00:44 -04:00
Raymond Hill
4fbbbe2bb7 New revision for dev build 2019-08-24 13:57:55 -04:00
Raymond Hill
e0f0aedad6 Ability to negate delay in new setTimeout-if scriptlet
This also apply to setInterval-if. Thus to defuse
calls to setTimeout(fn, 1000), the filter could be:

    ##+js(stif, , !1000)

Meaning "allow setTimeout if the delay is not 1000".
2019-08-24 13:54:31 -04:00
Raymond Hill
e0b8cf24d1 Clear internal cache when loading redirect rules
Related commit:
- 3e5c9e00ab

This fix a regression: newly added redirect rules
could end up not being taken into account unless
uBO was restarted.
2019-08-24 13:48:50 -04:00
Raymond Hill
4a60810389 Make Firefox dev build auto-update 2019-08-23 11:38:56 -04:00
Raymond Hill
dee52eef47 Import translation work from https://crowdin.com/project/ublock 2019-08-23 11:35:50 -04:00
Raymond Hill
af0c37b59e New revision for dev build 2019-08-23 11:34:05 -04:00
Raymond Hill
9f7e385a5c Code review fix re. max string length in bidi-trie
Related commit:
- fb4e94f92c

A bidi-trie can't store strings longer than 255 characters
because the string segment lengths are encoded into a single
byte. This commit ensures only strings smaller than
256 characters are stored in the bidi-tries.
2019-08-23 11:30:10 -04:00
Raymond Hill
432aed493e Make Firefox dev build auto-update 2019-08-22 17:26:48 -04:00
Raymond Hill
0450a1b892 New revision for dev build 2019-08-22 17:21:42 -04:00
Raymond Hill
fb4e94f92c Fix spurious 256-char limit for filters stored in bidi-trie
Plain filters can be any length, while the bidi-trie was
assuming max length of 256. The origin of this error
is from when the bidi-trie code was originally imported
from the hntrie code as start to develop bidi-trie.

The erroneous code could cause issue when the following
conditions were met:
- Plain filter longer than 256 characters
- Free space in bidi-trie's character buffer was less
  than 256 bytes

Likely a rare occurrence, but some filter lists do contains
long plain filters, for example:

    https://gitlab.com/curben/urlhaus-filter/raw/master/urlhaus-filter.txt

Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/cs1y26/
2019-08-22 17:11:49 -04:00
Raymond Hill
87cb3502b2 Make Firefox dev build auto-update 2019-08-22 09:57:22 -04:00
Raymond Hill
eab745a254 New revision for dev build 2019-08-22 09:42:30 -04:00
Raymond Hill
c5536577b2 Add two scriptlets: setTimeout-if and setInterval-if
Usage is similar to that of raf-if introduced in
commit 6831967f5f.

The two new scriptlets are meant to replace:
- setTimeout-defuser
- setTimeout-logger
- setInterval-defuser
- setInterval-logger

setTimeout-logger and setInterval-logger have been
removed, since they are not to be used in production.

To log setTimeout and setInterval usage, respectively
(using aliases):
- ##+js(stif)
- ##+js(siif)

To defuse setTimeout unconditionally:
- ##+js(stif, !)

Usage of setTimeout-defuser and setInterval-defuser
is deprecated and will be removed in some future when
they are no longer in use.

Keep in mind that the new scriptlets function on a
whitelist basis, whereas the deprecated ones
function on a blacklist basis. Prefixing the needle
with `!` allow to use the new scriptlets on a
blacklist basis.
2019-08-22 09:32:46 -04:00
Raymond Hill
708e5004e8 Fix badly computed output size in µBlock.base64.encode()
This bug could cause losing 1 to 3 bytes of information
dropped from various internal buffers at encoding time.

Possibly related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/cs1y26/
2019-08-22 09:17:19 -04:00
Raymond Hill
29745481e6 Make Firefox dev build auto-update 2019-08-21 10:49:30 -04:00
Raymond Hill
14e3b2ad16 New revision for dev build 2019-08-21 10:38:58 -04:00
Raymond Hill
252ce421c9 Fix raf-if scriptlet: bad Proxy target
It was working nonetheless, which made me
miss the mistake.
2019-08-21 10:36:08 -04:00
Raymond Hill
e735cd6a3f Import translation work from https://crowdin.com/project/ublock 2019-08-21 10:33:16 -04:00
Raymond Hill
6831967f5f Add new scriptlet to defuse calls to requestAnimationFrame
Scriptlet name: `raf-if.js`

Usage: `example.com##+js(raf-if, !/(\d+){4}/)`

Argument: one single argument, which is the "needle" to
find in the stringified argument passed to
requestAnimationFrame.

requestAnimationFrame will be defused when:

- The needle is not prefixed with `!` and the needle
  does not match the stringified argument; OR
- The needle is prefixed with `!` and the needle
  matches the stringified argument.

The `raf-if.js` scriptlet will log calls to
requestAnimationFrame to the console when no parameter
is provided, i.e.:

    example.com##+js(raf-if)

Otherwise no logging occurs.
2019-08-21 10:13:23 -04:00
Raymond Hill
95b77c33eb Make Firefox dev build auto-update 2019-08-19 09:06:46 -04:00
Raymond Hill
0fe88aebb1 New revision for dev build 2019-08-19 09:03:16 -04:00
Raymond Hill
5ad809c07d Code review color badge code
Related commit:
- 07c950f1e5

Cache [blocking mode, color] pair for fast
lookup in subsequent calls.
2019-08-19 09:00:53 -04:00
Raymond Hill
9a9a43d0f6 Import translation work from https://crowdin.com/project/ublock 2019-08-18 10:47:51 -04:00
Raymond Hill
7c7be6c898 Add "Relax blocking mode" command to Opera manifest 2019-08-18 08:39:45 -04:00
Raymond Hill
07d50c03ab Make Firefox dev build auto-update 2019-08-17 09:17:18 -04:00
Raymond Hill
32da35f8a1 New revision for dev build 2019-08-17 08:50:05 -04:00
Raymond Hill
bf3c92574e Add support for special exception filter #@#+js()
The purpose is to wholly disable scriptlet injection
for a given site without having to create exceptions
for all matching scriptlet injection filters.

The following exception filter will cause scriptlet
injection to be wholly disable for `example.com`:

    `example.com#@#+js()`

Or to disable scriptlet injection everywhere:

    `#@#+js()`

The following form is meaningless and will be
ignored:

    `example.com##+js()`
2019-08-17 08:38:48 -04:00
Raymond Hill
1ac016bed7 Make Firefox dev build auto-update 2019-08-16 13:51:27 -04:00
Raymond Hill
d6033b4864 New revision for dev build 2019-08-16 13:48:08 -04:00
Raymond Hill
6c73bd78f4 Fix regression when generating data URI in redirect engine
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/cpxm1v/

Put back erroneously removed code which enable to
generate a `data` URI from already encoded resources.
2019-08-16 13:45:07 -04:00
Raymond Hill
71dae6b30c Make Firefox dev build auto-update 2019-08-14 11:31:00 -04:00
Raymond Hill
20e123e541 New revision for dev build 2019-08-14 11:08:19 -04:00
Raymond Hill
d67340f14d Add ability to escape comma in a scriptlet's list of arguments
An instance of `\,` will not be interpreted as an arguments
separator -- thus allowing the use of commas inside
argument values.
2019-08-14 11:02:01 -04:00
Raymond Hill
68ae847ba3 Add support for AdGuard's mp4 filter option
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/701#issuecomment-520884196

The `mp4` filter option will be converted to `redirect=noopmp4-1s`
internally, and `media` type will be assumed.
2019-08-13 12:30:11 -04:00
Raymond Hill
40cdcea5ef Make Firefox dev build auto-update 2019-08-13 08:58:11 -04:00
Raymond Hill
52925ba2f9 Support disabling advanced setting cacheControlForFirefox1376932
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/229#issuecomment-520810161

Setting `cacheControlForFirefox1376932` to `unset` will
prevent modification of the `Cache-Control` header.
2019-08-13 08:49:37 -04:00
Raymond Hill
970164e78d New revision for dev build 2019-08-13 08:36:49 -04:00
Raymond Hill
3e5c9e00ab Add support for AdGuard's empty option
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/701

The filter option `empty` is converted to `redirect=empty`
by uBO internally; however unlike when the `redirect=`
option is used expressly, the `empty` option does not
require a resource type.

When `empty` is used, only network requests which are meant
to return a text response will be redirected to an empty
response body by uBO -- so `empty` will not work for
resources such as images, media, or other binary resources.
2019-08-13 08:16:21 -04:00
Raymond Hill
2c39a1af02 Extend pseudo-elements support byond ::before/::after
Related feedback:
- https://github.com/uBlockOrigin/uAssets/issues/6069#issuecomment-520254292
2019-08-11 16:32:49 -04:00
Raymond Hill
aa85cddb7b Make Firefox dev build auto-update 2019-08-11 14:04:49 -04:00
Raymond Hill
9c2054aab0 new revision for dev build 2019-08-11 14:02:13 -04:00
Raymond Hill
ffa6f6c8f9 Import translation work from https://crowdin.com/project/ublock 2019-08-11 14:00:53 -04:00
Raymond Hill
07c950f1e5 Review icon badge color management
Related commit & feedback:
- 7ff750eaf6

The color value for the icon badge is now
"attached" to the blocking profile value.
Additionally, as per feedback, `3p` rules
will be relaxing before master JavaScript
switch rules.
2019-08-11 13:55:39 -04:00
Raymond Hill
d5d643869c Make Firefox dev build auto-update 2019-08-10 11:18:05 -04:00
Raymond Hill
ce4d0bb15b New revision for dev build 2019-08-10 11:12:10 -04:00
Raymond Hill
7ff750eaf6 Reflect blocking mode in badge color of toolbar icon
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/cmh910/

Additionally, the `3p` rule has been made distinct from
`3p-script`/`3p-frame` for the purpose of
"Relax blocking mode" command.

The badge color will hint at the current blocking mode.
There are four colors for the four following blocking
modes:
- JavaScript wholly disabled
- All 3rd parties blocked
- 3rd-party scripts and frames blocked
- None of the above

The default badge color will be used when JavaScript is not
wholly disabled and when there are no rules for `3p`,
`3p-script` or `3p-frame`.

A new advanced setting has been added to let the user choose
the badge colors for the various blocking modes,
`blockingProfileColors`. The value *must* be a sequence of
4 valid CSS color values that match 6 hexadecimal digits
prefixed with`#` -- anything else will be ignored.
2019-08-10 10:57:24 -04:00
Raymond Hill
5e1f4d7906 Invalidate browser's memory cache after using element picker
Related reports:
- https://www.reddit.com/r/uBlockOrigin/comments/cj7g7m/
- https://www.reddit.com/r/uBlockOrigin/comments/cnq0bi/

The browser cache will be invalidated only when creating
static network filter through the element picker.

As per @gwarser's arguments in favor of implementing
usage of webRequest.handlerBehaviorChanged():
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/handlerBehaviorChanged
2019-08-09 09:31:20 -04:00
Raymond Hill
aa701484e7 Make Firefox dev build auto-update 2019-08-07 09:58:34 -04:00
Raymond Hill
fa843b2462 New revision for dev build 2019-08-06 11:22:54 -04:00
Raymond Hill
7ac7b027f4 Restore ability to redirect xhr to image resources
The ability to redirect xmlhttprequest to binary
resources was lost when redirectable/injectable
resources became immutable in commit
152cea2dfe.

This commit restores the ability to redirect a
xmlhttprequest to a binary resource by making
it possible to derive a data: URI from the
content of binary resources such as images.

Addtionally a redirect to a data: URI can be
forced by prefixing the resource token with `%`.
This is a non-official feature at this point,
i.e. it could be removed at any time.
2019-08-06 10:51:24 -04:00
Raymond Hill
a1b99954e1 Make Firefox dev build auto-update 2019-08-03 13:35:51 -04:00
Raymond Hill
7a3578ebcc Import translation work from https://crowdin.com/project/ublock 2019-08-03 10:31:04 -04:00
Raymond Hill
bc3e33691a New revision for dev build 2019-08-03 10:29:35 -04:00
Raymond Hill
aa73f292ec Add new static network filter option: redirect-rule=
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/310

The purpose of this new option is to add the ability
to create standalone redirect rule without being forced
to create a block filter (a corresponding block filter
is always created when using the `redirect=`).

Additionally:

The syntax `*$redirect=token,...` is now supported, there
is no need to "trick" the filter parser with
`*/*$redirect=token,...` in order to create redirect rules
which are meant to match all paths.

Filters of the form `|http*://` will be normalized into
two corresponding filters `|https://` and `|http://` so as
to reduce the number of filters in the buckets of
untokenizable filters.
2019-08-03 10:18:47 -04:00
Raymond Hill
663fd5fab0 Make Firefox dev build auto-update 2019-07-30 12:38:37 -04:00
Raymond Hill
c93b2910ba Import translation work from https://crowdin.com/project/ublock 2019-07-30 12:30:24 -04:00
Raymond Hill
50e61f1bea New revision for dev build 2019-07-30 12:28:39 -04:00
Raymond Hill
104b222275 Revisit fix to https://github.com/uBlockOrigin/uBlock-issues/issues/627
The previous fix led to a regression. Related ffedback:
- 8d136ec2d5 (commitcomment-34460854)
2019-07-30 12:27:09 -04:00
Raymond Hill
3d66bdc8e9 Add shorthand alias for set-constant.js: set.js 2019-07-29 10:16:36 -04:00
Raymond Hill
a94df7f3b2 Remove Bosnian locale from Opera package
Opera Store requires that shipped locales have
a proper accompanying description. The Bosnian
locale so far has no description and is only
partial.
2019-07-26 12:50:08 -04:00
Raymond Hill
e7cd2f5117 Make Firefox dev build auto-update 2019-07-26 10:04:18 -04:00
Raymond Hill
f2ea0c6900 Import translation work from https://crowdin.com/project/ublock 2019-07-26 09:59:59 -04:00
Raymond Hill
0c025a6e23 New revision for dev build 2019-07-26 09:56:40 -04:00
Raymond Hill
048bfd251c Add ability to bypass browser cache when fetching a resource
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/682#issuecomment-515197130

The following advanced setting has been added:

    updateAssetBypassBrowserCache

Default to `false`. If set to `true`, uBO will ensure the
browser cache is bypassed when fetching a remote resource.

This is for the convenience of filter list maintainers who
may want to test the latest version of their lists when
fetched from their remote location.
2019-07-26 09:52:11 -04:00
Raymond Hill
8d136ec2d5 Ignore pseudo-elements when querying selectors in element picker
Related issue:
- https://github.com/gorhill/uBlock/issues/2515
2019-07-26 09:24:34 -04:00
Raymond Hill
aaee898d95 Ensure icon & context menu are up to date on window focus change
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/151

Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/680#issuecomment-515215220
2019-07-26 08:53:20 -04:00
Raymond Hill
869c63f821 Make Firefox dev build auto-update 2019-07-23 17:01:12 -04:00
Raymond Hill
088270576a New revision for dev build 2019-07-23 11:46:07 -04:00
Raymond Hill
7dbf36f2f0 New revision for dev build 2019-07-23 11:45:20 -04:00
Raymond Hill
08c3f06160 Log :style(...) cosmetic filters only when there is a match
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/627
2019-07-23 11:42:04 -04:00
Raymond Hill
1eba94da0b Make Firefox dev build auto-update 2019-07-22 17:44:50 -04:00
Raymond Hill
e10e641140 New revision for dev build 2019-07-22 17:41:16 -04:00
Raymond Hill
075d78e8e6 Remove trailing commas in function parameter lists
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/681
2019-07-22 17:38:23 -04:00
Raymond Hill
a89aad0304 Remove trailing spaces
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/679
2019-07-22 07:32:39 -04:00
Raymond Hill
dd1a4ed36a Make Firefox dev build auto-update 2019-07-22 06:37:07 -04:00
Raymond Hill
648bcaf452 New revision for dev build 2019-07-22 06:31:55 -04:00
Raymond Hill
47cfba1551 Manually import df97249715 from 1.21.4
Related commit:
- https://github.com/gorhill/uBlock/commit/df972497156e
2019-07-22 06:30:00 -04:00
Raymond Hill
fa20946bc4 Make Firefox dev build auto-update 2019-07-21 21:06:29 -04:00
Raymond Hill
90b5fc90f1 New revision for dev build 2019-07-21 20:58:02 -04:00
Raymond Hill
716aae4236 Reverting fix to https://github.com/gorhill/uBlock/issues/3639
Related feedback:
- a54cb2e38f (commitcomment-34387041)

Regression from converting uBO resources into
immutable resources. This affects only Chromium-based
browsers.

This is a quick fix for the dev build, to at least unbreak
the reported case.

I need to research whether the root issue (conflict with HTTPS-E)
is still occurring, and if so the fix is not trivial: I will need
to add code to uBO to fetch and convert binary data into `data:`
URIs.
2019-07-21 20:53:42 -04:00
Raymond Hill
df59c74bf2 Make Firefox dev build auto-update 2019-07-21 11:58:12 -04:00
Raymond Hill
cb2f606e0a New revision for dev build 2019-07-21 11:54:10 -04:00
Raymond Hill
066440534d Prevent popup panel to close when forcing a tab reload
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/672

Additionally, this commit add the ability to press F5 to
force a reload while the popup panel is opened.
2019-07-21 11:50:15 -04:00
Raymond Hill
48347897ad Remove obsolete ublock-resources-related code
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/679
2019-07-21 11:00:14 -04:00
Raymond Hill
e1dd7f7043 Ensure toolbar icon reflect updated whitelist directives
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/680

Opportunistically, vAPI.tabs has been refactored toward
ES6 syntax.
2019-07-21 10:48:44 -04:00
Raymond Hill
7e1868b1c3 Add virtuous signal that remote code execution is not possible
Related Chromium issue:
- https://bugs.chromium.org/p/chromium/issues/detail?id=985759

By expressly restricting JavaScript execution to only code
from the extension package, this explicitly tells code reviewer
that uBO can't execute remote code.

I also had to add `object-src 'self'`, otherwise Chromium
refused to load the extension with the following error message:

> 'content_security_policy': CSP directive 'object-src' must be specified

`object-src 'self'` is the default value.
2019-07-21 10:37:58 -04:00
Raymond Hill
22330e5afd Make Firefox dev build auto-update 2019-07-19 10:10:04 -04:00
Raymond Hill
204a8ecd9c new revision for dev build (corrected) 2019-07-19 10:04:38 -04:00
Raymond Hill
0f13493e33 new revision for dev build 2019-07-19 10:03:58 -04:00
Raymond Hill
ecd81183b1 Fix thrown exception in onHeadersReceived listener
Regression from:
- https://github.com/gorhill/uBlock/commit/ae56c4dfe855
2019-07-19 10:02:27 -04:00
Raymond Hill
8935956260 Make Firefox dev build auto-update 2019-07-18 11:15:31 -04:00
Raymond Hill
32f0e81034 Fix typo in version number 2019-07-18 11:03:17 -04:00
Raymond Hill
57f9381613 new revision for dev build 2019-07-18 10:55:47 -04:00
Raymond Hill
10fe9fe656 Allow setting assetsBootstrapLocation from admin settings
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/666
2019-07-18 10:53:08 -04:00
Raymond Hill
d19de3e283 New revision for stable release 2019-07-18 09:03:27 -04:00
Raymond Hill
941f57e8f4 Import translation work from https://crowdin.com/project/ublock 2019-07-17 11:17:37 -04:00
Raymond Hill
676f0a609b Make Firefox dev build auto-update 2019-07-13 08:05:35 -04:00
Raymond Hill
8f16d64745 New revision for release candidate 2019-07-13 07:57:33 -04:00
Raymond Hill
3b0d214633 Mind escape sequences when validating :style filters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/668
2019-07-13 07:49:07 -04:00
Raymond Hill
81e8d8d867 Make Firefox dev build auto-update 2019-07-12 11:52:31 -04:00
Raymond Hill
d98f3cc46e New revision for release candidate 2019-07-12 11:33:12 -04:00
Raymond Hill
8d8336ffae Remove useless return statement 2019-07-12 09:13:10 -04:00
Raymond Hill
d6927cf1fe Ensure all members are initialized before loading selfie
Theoretically, if a selfie is loaded from corrupted
storage resulting in a thrown exception from the
constructor, this would cause an improperly initialized
HostnameBasedDB instance and overall potentially a
broken uBO.

Related feedback:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1543880#c7
2019-07-12 09:05:42 -04:00
Raymond Hill
ba6eb45e9c Make Firefox dev build auto-update 2019-07-11 10:26:11 -04:00
Raymond Hill
fb2bb4b2ea New revision for release candidate 2019-07-11 10:20:51 -04:00
Raymond Hill
ce644c5960 Remove code unused in next release
Since https://github.com/uBlockOrigin/uBlock-issues/issues/156
won't be fixed in next release, no need to ship
with code which will be unused, and anyways only once
the fix is worked on will it be clear exactly what needs
to be used by scriptlets to deal harmoniously with
property listener collisions.
2019-07-11 10:17:06 -04:00
Raymond Hill
9ef06da310 Minor code review re. https://github.com/uBlockOrigin/uBlock-issues/issues/658 2019-07-11 09:50:12 -04:00
Raymond Hill
c499ce82a9 Use Reflect.construct(t) rather than new t()
Using `new` seemed to work but it's maybe
semantically better to use `Reflect.construct`.
2019-07-11 09:45:53 -04:00
Raymond Hill
7183ce8f42 Make Firefox dev build auto-update 2019-07-10 17:34:34 -04:00
Raymond Hill
80402d202a Import translation work from https://crowdin.com/project/ublock 2019-07-10 17:29:48 -04:00
Raymond Hill
6b7c8be266 New revision for release candidate 2019-07-10 17:27:08 -04:00
Raymond Hill
874e92af2d Fix regression in URL rules validation
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/665

Regression:
- 2f63fb3fd4
2019-07-10 17:24:01 -04:00
Raymond Hill
9a95fbff94 Restore erroneously remove comments in migration 2019-07-10 08:11:51 -04:00
Raymond Hill
291c1c0400 Make Firefox dev build auto-update 2019-07-09 11:54:23 -04:00
Raymond Hill
8ab12d0db4 New revision for release candidate 2019-07-09 11:39:30 -04:00
Raymond Hill
b54522caa1 [scriptlet engine] Mind old scriptlet names not using .js
Related commit:
- 5552d6717d
2019-07-09 11:36:42 -04:00
Raymond Hill
5c449f59f2 [redirect engine] Use shorter name as the official name
- nobab.js => bab-defuser.js
- nofab.js => fuckadblock.js-3.2.0
2019-07-09 11:04:12 -04:00
Raymond Hill
01bcc2b8a0 Make Firefox dev build auto-update 2019-07-08 12:39:27 -04:00
Raymond Hill
e72307a6e7 New revision for release candidate 2019-07-08 12:34:44 -04:00
Raymond Hill
fee217c59c Fix regression introduced in 2f63fb3fd4
Related feedback:
- 2f63fb3fd4 (commitcomment-34222571)
2019-07-08 12:33:11 -04:00
Raymond Hill
93ab568baf Make Firefox dev build auto-update 2019-07-08 11:00:09 -04:00
Raymond Hill
8033b8a13b New revision for release candidate 2019-07-08 10:52:51 -04:00
Raymond Hill
2f63fb3fd4 Prevent adding known invalid URL-based rules
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/662#issuecomment-509220702

Currently, `doc` (aka `main_frame`) rules are not
evaluated to decide whether a network request must
be blocked or not, by design. This commits adjust
uBO's UI to account for this.
2019-07-08 10:49:53 -04:00
Raymond Hill
e55cae6232 Fine tune new resources-related code
Make sure the parser is safely compatible with old
resources format -- for those users still using
custom resources (via `userResourcesLocation`).

Prepare code for future fix to
<https://github.com/uBlockOrigin/uBlock-issues/issues/156>:

This commit introduces a new private Map() object,
`uBOSafe`, accessible by all injected scriptlets. This
private safe can be used to store data which can be shared
with different scriptlets. The idea is for scriptlets to
use that safe to graciously deal with the need to install
multiple listeners for the same property.
2019-07-08 08:56:36 -04:00
Raymond Hill
da4c4ded8d Add a way to reload resources in dev build
Since resources are now immutable, by default they are
only compiled once each time uBO updates to a new
version. However I need a way to force a re-compiling
of the resource in the dev build. This commit adds code
to invalidate the resources selfie when forcing the
update of any filter list.
2019-07-08 08:41:28 -04:00
Raymond Hill
ad9b34bc7a Code review of 9d1913a16e
Also eat backslash for `\\`, to allow searching for
literal `\n`, `\t`.
2019-07-07 07:52:37 -04:00
Raymond Hill
7fc31512f2 Make Firefox dev build auto-update 2019-07-07 07:38:13 -04:00
Raymond Hill
d802d400fa New revision for dev build 2019-07-07 07:34:07 -04:00
Raymond Hill
47a5caef54 Fix last newline not being automatically appended
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/657
2019-07-07 06:57:30 -04:00
Raymond Hill
9d1913a16e Eat backslashes only for common control characters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/658
2019-07-07 06:29:14 -04:00
Raymond Hill
2acaf3c433 Fix background color of previewed image in logger
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/c9u5xy/
2019-07-06 17:26:35 -04:00
Raymond Hill
0acdd2ab5c Make Firefox dev build auto-update 2019-07-06 14:01:12 -04:00
Raymond Hill
d64f4a2569 New revision for dev build 2019-07-06 13:55:52 -04:00
Raymond Hill
4c201c90e1 Remove strat mime type in scriptlets.js
Related ffedback:
- 6f5aa947fb (commitcomment-34205920)
2019-07-06 13:53:36 -04:00
Raymond Hill
8954175252 Make Firefox dev build auto-update 2019-07-06 13:03:04 -04:00
Raymond Hill
6d2f66fef6 Import translation work from https://crowdin.com/project/ublock 2019-07-06 12:56:27 -04:00
Raymond Hill
7a8cadacc4 New revision for dev build 2019-07-06 12:52:33 -04:00
Raymond Hill
6f5aa947fb Finalize converting resources.txt into immutable resources
With hindsight, I revised decisions made earlier during
this development cycle:

Un-redirectable scriptlets have been removed from
/web_accessible_resources and instead put in the new
/assets/resources/scriptlets.js, which contains all
scriptlets used for web page injection purpose.

uBO will no longer fetch a remote version of built-in
resources.

Advanced setting `userResourcesLocation` will still be
honoured by uBO, and if set, will be fetched every
time at least one asset is updated.
2019-07-06 12:36:28 -04:00
Raymond Hill
813b390dda Make Firefox dev build auto-update 2019-07-05 18:30:31 -04:00
Raymond Hill
b827cdcad2 New revision for dev build 2019-07-05 18:26:03 -04:00
Raymond Hill
ae56c4dfe8 Fix whitelist status evaluation of tabless network requests
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/651

The `behnind-the-scene` context was wrongly used to
evaluate the whitelist status of the context of tabless
network requests. The document origin must be used
instead when it's available.

Additionally, much code has been revisited for better
ES6 syntax compliance.
2019-07-05 17:44:08 -04:00
Raymond Hill
9693d07a6d Code review of https://github.com/gorhill/uBlock/commit/f930da7ad64a 2019-07-05 12:33:14 -04:00
Raymond Hill
f930da7ad6 Fix regression of reverse-lookup of scriptlet filters in logger
Related commit:
- 5552d6717d
2019-07-05 11:44:40 -04:00
Raymond Hill
e107b6bcf1 Fix typo in comment 2019-07-05 10:32:19 -04:00
Raymond Hill
5552d6717d Implement scriptlet token normalization
The goal is to be able to specify a scriptlet token
without the `.js` part at the end, because that part
is essentially redundant with the `+js` part of
the syntax.

When the next stable release is in widespread use
(to determine), scriptlet tokens will have to be
specified without the `.js` part, and with this
commit the logger will already report the normalized
version of scriptlets.

Eventually, when the migration to sans-`.js` is
complete (also to determine), the internal
normalization of the token will be removed and this
will become official syntax.

Filter list maintainers will have to mind that
uAssets is becoming in use beyond uBO (i.e. Brave)
when skipping the `.js` part -- hopefully Brave will
go along with the change here, which is to remove a
bit of tediousness for filter list maintainers.
2019-07-05 10:10:59 -04:00
Raymond Hill
6220e1d3eb Add missing newline 2019-07-05 08:22:26 -04:00
Raymond Hill
3e1de012a6 Make Firefox dev build auto-update 2019-07-05 08:11:01 -04:00
Raymond Hill
9a6506e585 New revision for dev build 2019-07-05 08:00:50 -04:00
Raymond Hill
3e53963be3 Fix window.open-defuser
Matching logic has been erronesouly reverse.
2019-07-05 07:59:02 -04:00
Raymond Hill
a992875c94 Save only modified immediate hidden settings 2019-07-05 07:33:09 -04:00
Raymond Hill
34073b41df Make Firefox dev build auto-update 2019-07-04 16:04:14 -04:00
Raymond Hill
b3ea68a08d Import translation work from https://crowdin.com/project/ublock 2019-07-04 15:50:20 -04:00
Raymond Hill
8083855aa8 New revision for dev build 2019-07-04 15:48:36 -04:00
Raymond Hill
1fb9845c35 Remove useless code 2019-07-04 14:10:23 -04:00
Raymond Hill
f9e680f111 Convert more resources as immutable
Related commit:
- 152cea2dfe
2019-07-04 14:08:56 -04:00
Raymond Hill
3613a67df5 Make Firefox dev build auto-update 2019-07-03 19:33:24 -04:00
Raymond Hill
ae789c06b2 New revision for dev build 2019-07-03 19:27:32 -04:00
Raymond Hill
8e245c8919 Convert more resources as immutable
Related commit:
- 152cea2dfe
2019-07-03 19:26:09 -04:00
Raymond Hill
0ba9a35818 Convert more resources as immutable
Related commit:
- 152cea2dfe
2019-07-03 14:33:06 -04:00
Raymond Hill
210e1d0581 Make Firefox dev build auto-update 2019-07-03 10:18:19 -04:00
Raymond Hill
804203cb67 New revision for dev build 2019-07-03 09:57:46 -04:00
Raymond Hill
5672f54663 Import translation work from https://crowdin.com/project/ublock 2019-07-03 09:57:04 -04:00
Raymond Hill
caa8e7d35b Add shell script to copy common files
This shell script will copy files commoon to
all platform into the package.
2019-07-03 09:52:03 -04:00
Raymond Hill
152cea2dfe Refactor management of injectable resources
This is a first step, the ultimate goal is to remove
the need for resources.txt, or at least to reduce to
only hotfixes or for trivial resources targeting very
specific websites.

Most resources will become immutable, i.e. they will
be part of uBO's code base. Advantages include easier
code maintenance (jshint, syntax highlight), and to
make scriptlets more easy to code review by external
parties (for example extension store reviewers).

TODO:

- More scriptlets need to be imported before next
  release.
- Need to make legacy versions of uBO use a legacy
  version of resources.txt, as all the now obsolete
  scriptlets will have to be removed once uBO's
  next release become widespread.
- Possibly need to add code to load binary
  resources so that they can be injected as
  data: URI. So far it's unclear whether this is
  really needed. For example, this would be needed
  if a xmlhttprequest is redirected to an image
  resource.
2019-07-03 09:47:56 -04:00
Raymond Hill
41636c59fb Strict-block only if match is anchored to end of hostname
As per feedback from filter list maintainers.
2019-07-02 11:56:27 -04:00
Raymond Hill
9d198a2710 Make Firefox dev build auto-update 2019-07-02 10:14:17 -04:00
Raymond Hill
2e04b75ccf Import translation work from https://crowdin.com/project/ublock 2019-07-02 09:59:26 -04:00
Raymond Hill
730a83377e Minor code review re. context menu code
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/151

I have been unsuccessful fixing the above issue, but I will
keep the changes made in the process of trying to fix it.
2019-07-02 09:43:26 -04:00
Raymond Hill
b122c83aa3 New revision for dev build 2019-07-02 09:42:05 -04:00
Raymond Hill
7a2bc6c3bb Make Firefox dev build auto-update 2019-06-30 16:26:42 -04:00
Raymond Hill
47c709e5e7 New revision for dev build 2019-06-30 16:22:07 -04:00
Raymond Hill
cdd1aac442 Add convenience link to network resources in logger
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/648
2019-06-30 16:15:19 -04:00
Raymond Hill
c97bfb5fba Make Firefox dev build auto-update 2019-06-30 12:59:15 -04:00
Raymond Hill
e2d0fb2507 New revision for dev build 2019-06-30 12:56:10 -04:00
Raymond Hill
2bcf671dae Put back erroneously removed line
Regression from 1dfdc40e09
2019-06-30 12:54:05 -04:00
Raymond Hill
158dfc165e Make Firefox dev build auto-update 2019-06-30 10:28:56 -04:00
Raymond Hill
15192606d0 New revision for dev build 2019-06-30 10:24:30 -04:00
Raymond Hill
c8860ff61d Code review of c1bdc123f2 2019-06-30 10:22:06 -04:00
Raymond Hill
1dfdc40e09 Add ability to suspend network request handler at will
This works only for platforms supporting the return of
Promise by network listeners, i.e. only Firefox at this
point.

When filter lists are reloaded[1], there is a small
time window in which some network requests which should
have normally been blocked are not being blocked
because the static network filtering engine may not
have yet loaded all the filters in memory

This is now addressed by suspending the network request
handler when filter lists are reloaded -- again, this
works only on supported platforms.

[1] Examples: when a filter list update session
    completes; when user filters change, when
    adding/removing filter lists.
2019-06-30 10:09:27 -04:00
Raymond Hill
c1bdc123f2 Fix use of sibling-related CSS syntax at prefix position
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/c6iem5/
2019-06-29 14:07:54 -04:00
Raymond Hill
3a8608b49a Fix typo in 0f318e9505 2019-06-29 11:44:46 -04:00
Raymond Hill
0f318e9505 Add unsupported cases to test pages
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/c6iem5/
2019-06-29 11:40:10 -04:00
Raymond Hill
fb3f8f99d6 Make Firefox dev build auto-update 2019-06-29 11:26:48 -04:00
Raymond Hill
50be7b7580 New revision for dev build 2019-06-29 11:18:56 -04:00
Raymond Hill
b1ec593b9f Import translation work from https://crowdin.com/project/ublock 2019-06-29 11:16:25 -04:00
Raymond Hill
cf4345ffc4 Fix some element picker-related issues
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/c5do7w/

Make the element picker better reflect network filters as
parsed by the static network filtering engine. Additionally,
discard single alphanumeric character-based filters.

Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/c62irc/

Inject newly created cosmetic filters into the DOM
filterer, in order for these filters to be enforced by
the DOM filterer in subsequent dynamic DOM changes.
2019-06-29 11:06:03 -04:00
Raymond Hill
dba075af59 Import translation work from https://crowdin.com/project/ublock 2019-06-28 06:27:53 -04:00
Raymond Hill
297c43e3a2 Make Firefox dev build auto-update 2019-06-27 08:22:55 -04:00
Raymond Hill
6c34b3c3c9 Use "relax" instead of "toggle"
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/371
2019-06-27 08:16:18 -04:00
Raymond Hill
388e5df5fd Import translation work from https://crowdin.com/project/ublock 2019-06-27 08:14:48 -04:00
Raymond Hill
2d74b70b54 New revision for dev build 2019-06-27 07:33:38 -04:00
Raymond Hill
8d252c1643 Make Firefox dev build auto-update 2019-06-26 17:24:08 -04:00
Raymond Hill
b265edfac5 New revision for dev build 2019-06-26 17:20:45 -04:00
Raymond Hill
a9659d039d Add missing command in manifest.json 2019-06-26 17:17:41 -04:00
Raymond Hill
c835c485d0 Make Firefox dev build auto-update 2019-06-26 10:55:30 -04:00
Raymond Hill
f9c9c2cc14 Import translation work from https://crowdin.com/project/ublock 2019-06-26 10:20:31 -04:00
Raymond Hill
7036ffcc13 New revision for dev build 2019-06-26 08:47:24 -04:00
Raymond Hill
693687fd74 Add keyboard support for toggling down blocking profile
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/371

By default, no specific keyboard shortcut is predefined,
this will have to be assigned by the user. The command
name in English is "Toggle blocking profile".

The default behavior is to toggle down according to one
of the following scenarios.

a) If script execution is disabled through the no-scripting
switch, the no-scripting switch will be locally toggled
so as to allow script execution. The page will be
automatically reloaded.

b) If script execution is not blocked but the 3rd-party
script and/or frame cells are blocked, local no-op rules
will be set so as to no longer block 3rd-party scripts
and/or frames. The page will be automatically reloaded.

Given this, it may take more than one toggle down command
to reach the lowest blocking profile, which is one where
JavaScript execution is not blocked and 3rd-party scripts
and frames resources block rules, if any, are bypassed
with local no-op rules.

TODO: At this point, I haven't yet decided whether
toggling from the lowest profile should restore the
original highest blocking profile.
2019-06-26 07:47:14 -04:00
Raymond Hill
d1df2b5e73 Fix merging multiple URls in element picker
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/c5do7w/

Fixed:
- Expect the differ can return the first input as is when
  there is no difference between the two items.
- Better deal with extraneous whitespaces in `srcset`
2019-06-25 17:09:04 -04:00
Raymond Hill
9065bbdd48 Code review of whitelisting-related code
- Use `Map()` instead of `{}` for internal data
  structure
- Export as array of directives instead of as
  a string
2019-06-25 11:57:14 -04:00
Raymond Hill
8e7384ba84 Prevent duplicate inline-script entries in the logger
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/c4340z/filter_problem/ervpjd8/
2019-06-24 11:40:14 -04:00
Raymond Hill
5caa369229 Make Firefox dev build auto-update 2019-06-23 08:56:21 -04:00
Raymond Hill
ce94319e86 Import translation work from https://crowdin.com/project/ublock 2019-06-23 08:44:13 -04:00
Raymond Hill
7329a11f99 New revision for dev build 2019-06-23 08:35:15 -04:00
Raymond Hill
b0b43ad6b2 Add support to import en_GB description 2019-06-23 08:25:16 -04:00
Raymond Hill
41685f4cce Replace exec with transpose in procedural filters
The purpose is to avoid having to iterate through
all input nodes at each operator implementation
level. The `transpose` method deals with only one
input node, and the iteration is performed by the
main procedural filtering entry points.

Additionally:
- Add `:spath` to HTML filtering
- Rename `:watch-attrs` to `:watch-attr`
  - `:watch=attrs` is deprecated and will be kept around
    until it is safe to remove it completely
2019-06-23 08:05:53 -04:00
Raymond Hill
4956a166d3 Make test pages small-screen friendly 2019-06-23 08:05:28 -04:00
Raymond Hill
a436102ff7 Add test case for :watch-attr 2019-06-22 16:41:42 -04:00
Raymond Hill
b2fb650279 Fix typos in test page 2019-06-22 12:38:00 -04:00
Raymond Hill
9def7f9c5d Add tests for chaining with plain CSS syntax 2019-06-22 12:13:27 -04:00
Raymond Hill
b5397be601 Add link to parent page 2019-06-22 10:19:36 -04:00
Raymond Hill
10236552ca Add test pages for procedural filters
Procedural cosmetic filters:
https://gorhill.github.io/uBlock/tests/procedural-cosmetic-filters.html

Procedural HTML filters:
https://gorhill.github.io/uBlock/tests/procedural-html-filters.html
2019-06-22 10:00:25 -04:00
Raymond Hill
d1a08af3ab Make Firefox dev build auto-update 2019-06-20 14:57:22 -04:00
Raymond Hill
8847ac342d New revision for dev build 2019-06-20 14:43:07 -04:00
Raymond Hill
570723f795 Import translation work from https://crowdin.com/project/ublock 2019-06-20 14:42:37 -04:00
Raymond Hill
b428a25c3f Add new procedural operator: :min-text-length(x)
Where `x` is the minimal text length of the subject
DOM element. DOM elements whose text length is
greater than or equal to `x` will be selected.

The original rationale for such procedural cosmetic
operator[1] is to be able to remove inline script
elements according to a minimum text length using
HTML filtering.

[1] As a result of internal discussion with filter
    list maintainers @ uAssets.
2019-06-20 14:11:54 -04:00
Raymond Hill
793aca7ddb Fix internal cosmetic filter being reported in the logger
Regression from:
- 62387fb87a

Repro steps were:
- Open the logger
- Navigate to `https://news.ycombinator.com/`
- Select an element using the element picker
- Click "Preview"

An attribute selector used internally by uBO to
hide targeted nodes was being reported in the
logger.
2019-06-20 07:14:34 -04:00
Raymond Hill
ca89a3895f Make Firefox dev build auto-update 2019-06-19 18:44:02 -04:00
Raymond Hill
d405fb901b New revision for dev build 2019-06-19 18:34:26 -04:00
Raymond Hill
822e0a133d Provide visual feedback for invalid entries in "My rules"
Related issue:
- https://github.com/gorhill/uBlock/issues/1039
2019-06-19 18:28:44 -04:00
Raymond Hill
be2a950541 Code review of HNTrie/staticNetFilteringEngine
- Remove HNTrieContainer class from global context by
  storing it as a property of µBlock.

- Use block scope to isolate HNTrie-related constants
  from global context.

- Prevent filters which are pure IP address from
  being stored in an HNTrie instance -- as this
  could cause false positives.
2019-06-19 10:00:19 -04:00
Raymond Hill
7303776757 Use async/await in Matrix.benchmark() 2019-06-19 08:37:48 -04:00
Raymond Hill
b48176a964 Make Firefox dev build auto-update 2019-06-18 19:44:34 -04:00
Raymond Hill
cfc2ce333d Implement bidirectional plain-string trie
The bidirectional trie allows storing the right
and left parts of a string into a trie given a
pivot position.

Releated issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/528

Additionally, the mandatory token-at-index-0 rule
for FilterPlainHnAnchored has been lifted, thus
allowing the engine to pick a potentially better token
at any position in the filter string.

***

TODO: Eventually rename `strie.js` to `biditrie.js`.

TODO: Fix dump() method, it currently only show the
      right-hand side of a filter string.
2019-06-18 19:16:39 -04:00
Raymond Hill
4a062728ff Fix https://github.com/uBlockOrigin/uBlock-issues/issues/638 2019-06-18 10:01:43 -04:00
Raymond Hill
81324b765d Fix https://github.com/uBlockOrigin/uBlock-issues/issues/636 2019-06-17 07:35:14 -04:00
Raymond Hill
afc41241f2 New revision for dev build 2019-06-15 09:38:34 -04:00
Raymond Hill
7e38391a71 Import new Bosnian translations from https://crowdin.com/project/ublock 2019-06-15 09:38:06 -04:00
Raymond Hill
d6a656a83b New revision for stable release 2019-06-14 11:14:36 -04:00
Raymond Hill
5c05209e7f Import translation work from https://crowdin.com/project/ublock 2019-06-14 10:59:07 -04:00
Raymond Hill
2a2faa84a0 Import translation work from https://crowdin.com/project/ublock 2019-06-05 08:19:12 -04:00
Raymond Hill
e2458184d6 Make Firefox dev build auto-update 2019-06-03 06:49:26 -04:00
Raymond Hill
e9bbc33194 Import translation work from https://crowdin.com/project/ublock 2019-06-03 06:42:02 -04:00
Raymond Hill
c549ad9f12 New revision for release candidate 2019-06-03 06:38:53 -04:00
Raymond Hill
2eb9b726a5 Fix generichide not being evaluated for local context
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/5704
2019-06-03 06:37:39 -04:00
Raymond Hill
27911e918c Make Firefox dev build auto-update 2019-05-31 09:39:08 -04:00
Raymond Hill
bd961364cc Import new en-GB from https://crowdin.com/project/ublock 2019-05-31 09:30:32 -04:00
Raymond Hill
c312ec2cd5 Import translation work from https://crowdin.com/project/ublock 2019-05-31 09:17:16 -04:00
Raymond Hill
24c5f1e80e New revision for release candidate 2019-05-31 09:10:58 -04:00
Raymond Hill
27e8c8d468 Normalize tabless xhr to image/media in onHeadersReceived()
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/610

The service worker-related issue affects both
Chromium/Firefox: the type of resources fetched
from a service worker are uniformly set to
`xmlhttprequest`, hence losing a key piece of
information for the purpose of accurate content
filtering.
2019-05-31 09:02:07 -04:00
Raymond Hill
7904bebffb Removed seemingly abandoned "DNK: Schacks" list
Related discussion:
- https://github.com/DandelionSprout/adfilt/issues/7#issuecomment-496691761
2019-05-28 18:12:49 -04:00
Raymond Hill
629371cf2d Update README.md 2019-05-28 10:24:33 -04:00
Raymond Hill
bfd7cae3b9 Make Firefox dev build auto-update 2019-05-28 09:13:26 -04:00
Raymond Hill
d5b0c92f0b Generate new access token for Travis deployment 2019-05-28 09:06:02 -04:00
Raymond Hill
36467cc455 New revision for release candidate 2019-05-28 07:26:15 -04:00
Raymond Hill
a691d180f2 Import translation work from https://crowdin.com/project/ublock 2019-05-28 07:25:11 -04:00
Raymond Hill
8828522fe8 Fix errors with cosmetic filter exception in the logger
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/602
2019-05-28 07:21:16 -04:00
Raymond Hill
adfe68d20e Make Firefox dev build auto-update 2019-05-26 08:32:55 -04:00
Raymond Hill
d99789e107 Import translation work from https://crowdin.com/project/ublock 2019-05-26 08:11:38 -04:00
Raymond Hill
6f3acc505f New revision for dev build 2019-05-26 08:07:44 -04:00
Raymond Hill
85b89fbe63 Fix broken import-from-file in Whitelist pane
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/bt2d1f/
2019-05-26 08:03:44 -04:00
Raymond Hill
44fd5b1473 Make Firefox dev build auto-update 2019-05-25 10:14:37 -04:00
Raymond Hill
ede233abe7 Import translation work from https://crowdin.com/project/ublock 2019-05-25 10:09:53 -04:00
Raymond Hill
0a518b15f2 New revision for dev build 2019-05-25 10:07:54 -04:00
Raymond Hill
a7bfff03d6 Avoid spurious diff at edit time in "My rules"
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/593

The issue was caused by the lack of empty last line, since
the differ taking into account new line characters.
2019-05-25 10:04:31 -04:00
Raymond Hill
80a8750d35 Select existing "Advanced settings" page if any
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/591

Additionally, I added a link to the logger in the
"About" pane in the dashboard in order to be able
to access the logger without having to go through
the popup panel.
2019-05-25 08:31:06 -04:00
Raymond Hill
184e4f7a42 Avoid reloading the dashboard tab if it is already present
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/592
2019-05-24 20:15:40 -04:00
Raymond Hill
fb6d69f543 Discard whole filter with bad csp= content
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/bshn7z/

uBO was just removing the bad option, while the whole
filter needs to be discarded.
2019-05-24 15:41:37 -04:00
Raymond Hill
dafe5fd045 Make Firefox dev build auto-update 2019-05-24 12:23:19 -04:00
Raymond Hill
03c4bfb27b New revision for dev build 2019-05-24 12:16:42 -04:00
Raymond Hill
1e9528e2a6 Fix regression affecting *$csp=-like filters
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/bshn7z/filter_question/

Regression introduced in:
- 3f3a1543ea
2019-05-24 12:15:32 -04:00
Raymond Hill
68b74ddfef New revision for dev build 2019-05-24 11:23:50 -04:00
Raymond Hill
26708b37c1 Integrate bare-bone filter hit stats in the logger
Related issue:
- https://github.com/gorhill/uBlock/issues/983
- https://github.com/gorhill/uBlock/issues/1353

The current implementation reports statistics for all
static filters, and the presentation/featureset is
intentionally minimal: *Do not open issues about this.*
It's still a work in progress and it will be worked on
slowly and thoughtfully over time and as time allows.

Pausing the logger will not pause the collation of
filter hit statistics, thus it is possible to lower
the logger overhead by pausing logger output without
losing filter hit collation.
2019-05-24 11:18:39 -04:00
Raymond Hill
e4681d0250 Make Firefox dev build auto-update 2019-05-23 19:40:55 -04:00
Raymond Hill
64636a44cb Import translation work from https://crowdin.com/project/ublock 2019-05-23 19:35:53 -04:00
Raymond Hill
60f5fed2b5 New revision for dev build 2019-05-23 19:33:30 -04:00
Raymond Hill
eef76c49ae Add a link to the remote asset in asset viewer
The link will be present if and only if the content
of the currently viewed asset has been fetched from
a remote location.
2019-05-23 19:29:59 -04:00
Raymond Hill
ab65d44324 Make Firefox dev build auto-update 2019-05-23 10:31:16 -04:00
Raymond Hill
f6c83cf38d New revision for dev build 2019-05-23 10:27:42 -04:00
Raymond Hill
6a379e6cdf Make Firefox dev build auto-update 2019-05-23 10:26:20 -04:00
Raymond Hill
294ea41fde Import emergency fix 5a29a21c81 in dev build 2019-05-23 10:22:51 -04:00
Raymond Hill
1f398134f9 Minor code reivew of 4430ec11e2 2019-05-23 08:15:26 -04:00
Raymond Hill
7b8c087fdd Start using async/await where it makes sense 2019-05-22 19:23:04 -04:00
Raymond Hill
3d31a5f5d7 Make Firefox dev build auto-update 2019-05-22 18:11:20 -04:00
Raymond Hill
8d40d41cf7 Import translation work from https://crowdin.com/project/ublock 2019-05-22 18:07:08 -04:00
Raymond Hill
f103cc6aa7 New revision for dev build 2019-05-22 18:05:07 -04:00
Raymond Hill
4430ec11e2 Rearrange inner loop of static network filtering engine
The motivations for the re-arrangement:

- Reducing the number of entry points:
  matchStringExactString() has been removed and
  matchString() is simply reused with a modifier parameter
  to enable matching variants.

- Presumption that most matches, if any, occur early with
  the left-most tokens in a URL. This gives a very small
  marginal performance gain as per built-in benchmark.
2019-05-22 17:51:03 -04:00
Raymond Hill
195d1f7085 Make Firefox dev build auto-update 2019-05-21 19:31:15 -04:00
Raymond Hill
33a9eee99e New revision for dev build 2019-05-21 19:27:20 -04:00
Raymond Hill
e8c2f7eea3 Fix "Close this window" not working on document-blocked page
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/breeux/
2019-05-21 18:56:59 -04:00
Raymond Hill
6f4ccec836 Import translation work from https://crowdin.com/project/ublock 2019-05-21 15:50:53 -04:00
Raymond Hill
eed13194fb Handle possible exceptions in vAPI.messaging.broadcast()
I had exceptions thrown by that code once in a while,
about the `port` object not being connected; possibly
occurs only when using dev tools with breakpoints
in uBO's code. Even if this can be reproduced randomly
only when debugging uBO, it costs nothing to add code
in there to handle exceptions.
2019-05-21 14:07:38 -04:00
Raymond Hill
32b04fa262 Re-arrange parsing of type options to be order-independent
Related commit:
- 1888033070

This removes the need to place `all` before any negated
type in the list of options.
2019-05-21 14:04:21 -04:00
Raymond Hill
5b47a06cbe Allow use of async/await 2019-05-21 08:31:43 -04:00
Raymond Hill
fcd59b3fa1 Make Firefox dev build auto-update 2019-05-20 18:41:24 -04:00
Raymond Hill
5eff4a027a Fix https://github.com/gorhill/uBlock/issues/3541 2019-05-20 18:29:28 -04:00
Raymond Hill
2d1f15eac6 New revision for dev build 2019-05-20 14:11:46 -04:00
Raymond Hill
cdfbc1ae02 Import translation work from https://crowdin.com/project/ublock 2019-05-20 14:10:21 -04:00
Raymond Hill
1888033070 Add support for all filter option
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/bqnsoa/

The `all` option is equivalent to specifying all
network-based types + `popup`, `document`,
`inline-font`, `inline-script`.

Example from discussion:

    ||bet365.com^$all

Above will block all network requests, block all popups,
prevent inline fonts/scripts from `bet365.com`. EasyList-
compatible syntax does not allow to accomplish that
semantic when using only `||bet365.com^`.

If using specific negated type options along with `all`,
the order in which the options appear is important. In
such case `all` should always be first, followed by
the negated type option(s).
2019-05-20 13:46:36 -04:00
Raymond Hill
134c59e4b2 Make Firefox dev build auto-update 2019-05-19 18:46:58 -04:00
Raymond Hill
562b03d32a New revision for dev build 2019-05-19 18:43:08 -04:00
Raymond Hill
4b85838745 Import translation from https://crowdin.com/project/ublock 2019-05-19 18:42:32 -04:00
Raymond Hill
72d9758faa Ensure the "Filter lists" pane is in sync with update status
Related issue:
- https://github.com/gorhill/uBlock/issues/2394

Additionally, I added a new advanced setting to control
how long after launch an auto-update session should be
started -- value is in seconds:

    autoUpdateDelayAfterLaunch 180
2019-05-19 18:31:12 -04:00
Raymond Hill
a0ac1b7ee8 Fix handling of data: for filtering purpose in logger
Related issue:
- https://github.com/gorhill/uBlock/issues/2469
2019-05-19 17:00:49 -04:00
Raymond Hill
f677443878 Warn when navigating away from pane with unsaved changes
Related issue:
- https://github.com/gorhill/uBlock/issues/3271

When navigating away by clicking another pane tab button,
there will be an embedded warning, which can be ignore
in order to proceed to the new pane, or dismissed by
either clicking on the "Stay" button or anywhere else
in the dashboard.

When navigating away by trying to close the tab, there will
be a built-in browser warning asking for confirmation.
2019-05-19 15:35:00 -04:00
Raymond Hill
6f9216585b Make Firefox dev build auto-update 2019-05-18 19:07:59 -04:00
Raymond Hill
7d35bfe7ab New revision for dev build 2019-05-18 19:04:10 -04:00
Raymond Hill
1caff7429e Add optional support for generic procedural cosmetic filters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/131

The new advanced setting and its default value is:

    allowGenericProceduralFilters false

Whenever this setting is toggled, the user is responsible
of forcing a reload of all filter lists so as to allow uBO
to process differently any existing generic procedural
cosmetic filters.
2019-05-18 18:57:32 -04:00
Raymond Hill
e66e4496ed Fix https://github.com/uBlockOrigin/uBlock-issues/issues/360 2019-05-18 17:50:58 -04:00
Raymond Hill
ca34bc4f3e Fix "Revert" button not resetting after saving changes
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/367
2019-05-18 17:48:19 -04:00
Raymond Hill
3cf71835c4 Set default delay for creating selfie to 3 minutes
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/bq49zi/
2019-05-18 14:43:44 -04:00
Raymond Hill
5a0039db85 Make Firefox dev build auto-update 2019-05-18 14:32:11 -04:00
Raymond Hill
cf88be3303 New revision for dev build 2019-05-18 14:29:01 -04:00
Raymond Hill
f7bbc80717 Improve "Whitelist pane"; remove now useless built-in switch rule
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/214

Built-in whitelist directives are now rendered differently
than user-defined whitelist directives. Also, removing a
built-in whitelist directive will only cause that directive
to be commented out, so that users do not have to remember
built-in directives should they want to bring them back.

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

The built-in per-site switch rule
`no-scripting: behind-the-scene false` has been removed,
it should not ever be needed since there will always be a
valid root context for main- and sub-frames.
2019-05-18 14:20:05 -04:00
Raymond Hill
de41c1bf53 Fix parsing of recursive !#if-`!#endif directives
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/270
2019-05-18 10:31:04 -04:00
Raymond Hill
ebf92c007f Make Firefox dev build auto-update 2019-05-17 19:56:46 -04:00
Raymond Hill
e7b915cdfd New revision for dev build 2019-05-17 19:53:34 -04:00
Raymond Hill
62387fb87a Prevent picker's preview mode from modifying style attribute
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/551

The issue fixes previewing the hiding/unhiding of targeted
elements in the element picker.

However it does not address the case of previewing
`:style(...)` operators -- this would require a much
more complex fix, which I am not sure is worth the
amount of work and increased code complexity.
2019-05-17 19:26:48 -04:00
Raymond Hill
9cbdff1a9d Import translation work from https://crowdin.com/project/ublock 2019-05-17 15:02:00 -04:00
Raymond Hill
dc9f81b96d Make Firefox dev build auto-update 2019-05-17 11:52:15 -04:00
Raymond Hill
a807e9806e New revision for dev build 2019-05-17 11:48:21 -04:00
Raymond Hill
9bfbbfec84 Adjust visual of cosmetic exception filters in logger
The invariant prefixes `##` and `#@#` are now hidden,
allowing to reveal more of the filter itself when the
logger view is narrow.
2019-05-17 11:45:07 -04:00
Raymond Hill
0ca44b847c Avoid duplicated strings in filterOrigin w/ new approach
The new approach is simpler and should benefit selfie
serialization/unserialization.

This renders stringDeduplicater obsolete -- it has been
removed.
2019-05-17 10:13:58 -04:00
Raymond Hill
c4c8ec28e2 Make Firefox dev build auto-update 2019-05-16 17:31:54 -04:00
Raymond Hill
adb12e0162 New revision for dev build 2019-05-16 17:28:51 -04:00
Raymond Hill
1386429382 Fix regression in applying procedural cosmetic filters
Related commit:
- 3573b6b32c
2019-05-16 17:22:20 -04:00
Raymond Hill
3573b6b32c Add ability to report exception cosmetic filters in the logger
Related issue:
- https://github.com/gorhill/uBlock/issues/127

Additionally, the extended exception filters in the
logger will be rendered with a line-through to more
easily distinguish them from non-exception ones.

Also, opportunistically converted revisited code to
ES6 syntax.
2019-05-16 13:44:49 -04:00
Raymond Hill
2114c857a4 Make Firefox dev build auto-update 2019-05-15 14:54:39 -04:00
Raymond Hill
fc109c8b7c Revisit code to benefit from ES6 syntax 2019-05-15 14:49:12 -04:00
Raymond Hill
fcbcbd16f1 New revision for dev build 2019-05-15 14:47:37 -04:00
Raymond Hill
1fe3b54acc Fix cosmetic exception filters not applying
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/575

Regression from:
- 93f80eedfa

Specific cosmetic exception filters need to be returned so that
they can be applied to generic cosmetic filters.
2019-05-15 14:43:59 -04:00
Raymond Hill
c7048617ee Make Firefox dev build auto-update 2019-05-14 09:43:02 -04:00
Raymond Hill
96db580297 New revision for dev build 2019-05-14 09:39:08 -04:00
Raymond Hill
39e2a03edb Fix comment 2019-05-14 09:31:51 -04:00
Raymond Hill
a14dcecf8f Do not assume wildcards fall on label boundaries
Related commit:
- fe0b7a0e0f

Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/572#issuecomment-492223980
2019-05-14 09:29:45 -04:00
Raymond Hill
93f80eedfa Refactor runtime storage of specific cosmetic filters
This was a TODO item:
- 07cbae66a4/src/js/cosmetic-filtering.js (L375)

µBlock.staticExtFilteringEngine.HostnameBasedDB has been
re-factored to accomodate the storing of specific cosmetic
filters.

As a result of this refactoring:

- Memory usage has been further decreased
- Performance of selector retrieval marginally
  improved
- New internal representation opens the door
  to use a specialized version of HNTrie, which
  should further improve performance/memory
  usage
2019-05-14 08:52:34 -04:00
Raymond Hill
8a312b9bbb Support cases with more than one wildcard
Related commit:
- fe0b7a0e0f

Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/572#issuecomment-492147440
2019-05-14 06:52:13 -04:00
Raymond Hill
255a89910a Make Firefox dev build auto-update 2019-05-13 20:30:19 -04:00
Raymond Hill
1df4034076 New revision for dev build 2019-05-13 20:23:46 -04:00
Raymond Hill
fe0b7a0e0f Relax destination hostname requirements in redirect filters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/572

Wildcards are now allowed in the hostname part of redirect
filters. There will be an attempt to find the longest
right-hand portion of the hostname with no wildcard. If
no non-empty hostname can be extracted, `*` will be used.
2019-05-13 20:19:10 -04:00
Raymond Hill
1e40f50eb3 Add benchmark method to cosmetic filtering engine
To measure retrieval of site-specific selectors. From
uBO's own dev console:

    µBlock.cosmeticFilteringEngine.benchmark();
2019-05-12 11:41:47 -04:00
Raymond Hill
fbb4950b5d Make Firefox dev build auto-update 2019-05-11 17:52:39 -04:00
Raymond Hill
8ec0138739 Err... again: new revision for dev build 2019-05-11 17:48:58 -04:00
Raymond Hill
5d62782b3f New (proper) revision for dev build 2019-05-11 17:46:58 -04:00
Raymond Hill
db2e2ce0c9 New revision for dev build 2019-05-11 17:42:08 -04:00
Raymond Hill
57890d60ff Fix incorrect use of this in static method
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/568

Regression from:
- 19ece97b0c
2019-05-11 17:40:55 -04:00
Raymond Hill
8a7e704080 Add support for nth-ancestor operator in HTML filtering
Also opportunitisically converted some code to
ES6's `class`.
2019-05-11 13:21:23 -04:00
Raymond Hill
d42d86dd12 Make Firefox dev build auto-update 2019-05-11 10:53:03 -04:00
Raymond Hill
915c1f1f3c Report resources blocked by csp= option in logger
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/552
2019-05-11 10:40:34 -04:00
Raymond Hill
12bdd01595 Ensure "Ignore generic cosmetic filters" sticks on Fennec
Related issue:
- https://www.reddit.com/r/uBlockOrigin/comments/blkudl/

The setting was not sticking at first-install time.
2019-05-11 09:04:13 -04:00
Raymond Hill
93576c096e New revision for dev build 2019-05-10 18:55:55 -04:00
Raymond Hill
5c85c3ac8b New revision for stable release 2019-05-10 17:32:44 -04:00
Raymond Hill
ac1a323918 Import translation work from https://crowdin.com/project/ublock 2019-05-10 17:26:34 -04:00
Raymond Hill
6f0ec6129a Make Firefox dev build auto-update 2019-05-06 15:19:23 -04:00
Raymond Hill
e59bdb1485 Defuse fixed position on body element in element zapper
The `fixed` style property on the `body` element will be
defused if an overlay element is removed using the element
zapper.

Related:
- https://www.reddit.com/r/uBlockOrigin/comments/bktxtb/scrolling_doesnt_work/emlscyz
2019-05-06 13:32:55 -04:00
Raymond Hill
26237d6d40 Import translation work from https://crowdin.com/project/ublock 2019-05-06 11:39:41 -04:00
Raymond Hill
bacb1e042b New revision for dev build 2019-05-06 11:38:08 -04:00
Raymond Hill
9dfb570aa8 Use browser_specific_settings instead of applications
As per MDN's documentation, `applications` is a non-standard
alias for `browser_specific_settings` in `manifest.json`:

https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings#Browser_compatibility

Best to use the official manifest key.
2019-05-06 11:34:15 -04:00
Raymond Hill
3692bb4ada Add HNTrieRef.dump() and STrieRef.dump() as dev tool
To be used at the console, as an investigation tool for
development purpose.

Using it to verify the content of the largest
FilterHostnameDict instance, I spotted an all-uppercase
hostname in the HNTrieRef instance:

µBlock.staticNetFilteringEngine.categories.get(0).get(0x10000000).dict.dump();

Thus the changes to static-net-filtering.js are to fix
the erroneous insertion of filters with uppercase
characters. The single instance found was a hostname entry
in Malware Domain List (TRIANGLESERVICESLTD dot COM).
2019-05-06 11:12:39 -04:00
Raymond Hill
b654d883df Revert "Add Energized Blu Go as stock multipurpose list"
I was made awars of license issue:
- https://github.com/AdroitAdorKhan/EnergizedProtection/issues/46

This reverts commit 0991a1138e.
2019-05-02 06:29:40 -04:00
Raymond Hill
ca369d315e Make Firefox dev build auto-update 2019-05-01 20:17:26 -04:00
Raymond Hill
21b19499a7 Nre revision for release candidate 2019-05-01 20:06:31 -04:00
Raymond Hill
ce488d9fc8 Import translation work from https://crowdin.com/project/ublock 2019-05-01 20:05:16 -04:00
Raymond Hill
0e4fbefd07 Remove unecessary null placeholders FilterOriginHitSet et al.
The `null` placeholder are not necessary, we can just use
default arguments instead, and add the HNTrieContainer
references if and only if they are instanciated.
2019-05-01 18:54:11 -04:00
Raymond Hill
a6816a52bb Make Firefox dev build auto-update 2019-05-01 07:48:41 -04:00
Raymond Hill
d295563e90 New revision for release candidate 2019-05-01 07:44:02 -04:00
Raymond Hill
b87b242384 Use per-request secret rather than time-based secret
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/550
2019-05-01 07:41:04 -04:00
Raymond Hill
8f01bc7faf Make Firefox dev build auto-update 2019-05-01 06:42:26 -04:00
Raymond Hill
5563f7fcc2 New revision for dev build 2019-05-01 06:38:23 -04:00
Raymond Hill
99212e3264 Code review: use function arrow properly 2019-05-01 06:35:47 -04:00
Raymond Hill
016625465e Simplify a bit 9e43852 by using Array.every() 2019-04-30 16:18:40 -04:00
Raymond Hill
0714aceaaf Simplify secret generation introduced in 9e4385243c 2019-04-30 15:19:10 -04:00
Raymond Hill
e23cb71b1a Make Firefox dev build auto-update 2019-04-30 14:56:26 -04:00
Raymond Hill
854b10eeae New revision for dev build 2019-04-30 14:50:57 -04:00
Raymond Hill
9e4385243c Web accessible secrets can be used for at most one second
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/550

Related Chromium issue (I can't access it):
- https://bugs.chromium.org/p/chromium/issues/detail?id=957866

Findings so far: affects browsers based on Chromium 74.
I could not reproduce the issue with either Chromium 73 or
Google Chrome 75.

This commit is a mitigation: to prevent sites from using
uBO's internal WAR secret for tracking purpose. A secret
can be used for at most one second, after which a new secret
is generated.

The original issue related to the implementation of
secret-gated web accessible resources is:
- https://github.com/gorhill/uBlock/issues/2823
2019-04-30 14:36:07 -04:00
Raymond Hill
2cc60fb6e8 Make Firefox dev build auto-update 2019-04-30 10:15:19 -04:00
Raymond Hill
35aea15785 New revision for dev build 2019-04-30 10:10:00 -04:00
Raymond Hill
0991a1138e Add Energized Blu Go as stock multipurpose list
Link to project page:
https://github.com/AdroitAdorKhan/EnergizedProtection
2019-04-30 09:35:10 -04:00
Raymond Hill
73e2f25e95 Add new cosmetic procedural operator: :nth-ancestor(n)
The purpose of this new `:nth-ancestor(n)` operator is to
lookup the nth ancestor relative to the currently selected
node.

It is essentially equivalent to `:xpath(..)`, where
ancestor distance is expressed as a number rather than a
sequence of slash-separated `..`.

The rationale to introduce this new procedural selector
is to have a low overhead way to accomplish ancestor
selection.
2019-04-30 09:02:14 -04:00
Raymond Hill
42bf659695 Revert "Order HNTrie nodes alphabetically to allow for early bailout"
This reverts commit f5f9e05071.
2019-04-30 07:00:52 -04:00
Raymond Hill
f5f9e05071 Order HNTrie nodes alphabetically to allow for early bailout
This commit implements the alphabetical ordering of HNTrie
nodes, so as to make it possible to bail out early at
HNTrie.matches() time.

Contrary to what I expected, there is no performance gain
observed to HNTrie.matches() as per benchmarks -- I find
the results perplexing.

Because of this I will revert this commit immediately.
The purpose of this commit is to record the changes so
that I can bring them back to life in the future whenever
I want to investigate further.
2019-04-30 06:47:54 -04:00
Raymond Hill
a73024ad7b Make Firefox dev build auto-update 2019-04-29 18:14:01 -04:00
Raymond Hill
391bf9e44e New revision for dev build 2019-04-29 18:10:22 -04:00
Raymond Hill
adabb56dc9 Do not store impossible to match filters in HNTrie
Consider the two following filters:

    example.com
    www.example.com

This commit make it so that if the first filter is
already present in a given HNTrie, the second filter
will not be stored, since HNTrie will _always_
return the first filter as a match whenever the
hostname to match is example.com or any subdomain
of example.com.

The detection of such pointless filters is
virtually free when adding a hostname to an HNTrie
instance (given how data is stored in the trie), so
in practice no overhead is incurred to detect such
pointless filters.

The ability to ignore impossible to match filters
in HNTrie instances will _especially_ benefit those
using large hosts files.

Examples of how this helps using real configurations:

- Default lists:
  444 filters out of 100,382 were ignored as a result
  of this commit.

- Default lists + "Energized Ultimate Protection":
  283,669 filters out of 903,235 were ignored as a
  result of this commit.

Side note: There was no measurable difference between
the two configurations above in the performance of
the matching algorithm as reported by the built-in
benchmark tool.
2019-04-29 13:15:16 -04:00
Raymond Hill
c4f9ae706a Fix alternate code path introduced in 295f08da97 (oops) 2019-04-28 14:18:09 -04:00
Raymond Hill
295f08da97 Implement code path for when TextDecoder() is not available
The primary purpose is to unbreak
https://github.com/cliqz-oss/adblocker/tree/master/bench/comparison
2019-04-28 14:07:21 -04:00
Raymond Hill
a207daee89 Make Firefox dev build auto-update 2019-04-28 11:22:48 -04:00
Raymond Hill
135049ef0b New revision for dev build 2019-04-28 10:32:55 -04:00
Raymond Hill
ac58b8e688 Make token hashes fit within a 32-bit integer
The staticNetFilteringEngine uses token hashes to store/lookup
filters into Map objects.

Before this commit, the tokens were encoded into token hashes
as JS numbers (not exceeding MAX_SAFE_INTEGER) using at most
the 8 first characters of the token.

With this commit, token hashes are now restricted to fit
into 32-bit integers, and are derived from at most the 7 first
characters. This improves filter look-up performance as per
built-in benchmark().
2019-04-28 10:15:15 -04:00
Raymond Hill
510cda0bc5 Support in logger's filter expression picker 2019-04-28 07:23:14 -04:00
Raymond Hill
93efba2014 Fix https://github.com/NanoMeow/QuickReports/issues/1091 2019-04-27 15:50:19 -04:00
Raymond Hill
9c154ac11c Make Firefox dev build auto-update 2019-04-27 13:28:25 -04:00
Raymond Hill
367cdd6666 Make use of X-DNS-Prefetch-Control in Chromium-based browsers
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/548

The fix applies only to Chromium-based browsers -- a
`X-DNS-Prefetch-Control` header[1] will be unconditionally
injected when uBO's "Disable pre-fetching" setting is
enabled (it is by default).

This is a mitigation, this does not completely fix the issue
of the setting "Disable pre-fetching" being disregarded on
Chromium-based browsers when sites use
`preconnect`/`preload`.

[1] https://developer.mozilla.org/docs/Web/HTTP/Headers/X-DNS-Prefetch-Control
2019-04-27 13:12:33 -04:00
Raymond Hill
acb12d2a1d New revision for dev build 2019-04-27 08:37:37 -04:00
Raymond Hill
96dce22218 Increase resolution of known-token lookup table
Related commit:
- 69a43e07c4

Using 32 bits of token hash rather than just the 16 lower
bits does help discard more unknown tokens.

Using the default filter lists, the known-token lookup
table is populated by 12,276 entries, out of 65,536, thus
making the case that theoretically there is a lot of
possible tokens which can be discarded.

In practice, running the built-in
staticNetFilteringEngine.benchmark() with default filter
lists, I find that 1,518,929 tokens were skipped out of
4,441,891 extracted tokens, or 34%.
2019-04-27 08:18:01 -04:00
Raymond Hill
60938451ab Make Firefox dev build auto-update 2019-04-27 07:23:11 -04:00
Raymond Hill
8715dadd02 Nre revision for dev build 2019-04-27 07:17:07 -04:00
Raymond Hill
a8946c8d73 Fix list lookup of multi-hostname domain= filters in logger
Related commit:
- 3f3a1543ea

The regression was preventing uBO to find from which list a filter
originated. This affected only filters for which the `domain=`
option had multiple hostnames.
2019-04-27 07:04:43 -04:00
Raymond Hill
761a0ef27c Make Firefox dev build auto-update 2019-04-26 17:33:59 -04:00
Raymond Hill
4c9e760a10 Import translation work from https://crowdin.com/project/ublock 2019-04-26 17:30:19 -04:00
Raymond Hill
671908a45f New revision for dev build 2019-04-26 17:27:41 -04:00
Raymond Hill
69a43e07c4 Ignore unknown tokens in urlTokenizer.getTokens()
Given that all tokens extracted from one single URL are potentially
iterated multiple times in a single URL-matching cycle, it pays to
ignore extracted tokens which are known to not be used anywhere in
the static filtering engine.

The gain in processing a single network request in the static
filtering engine can become especially high when dealing with
long and random-looking URLs, which URLs have a high likelihood
of containing a majority of tokens which are known to not be in
use.
2019-04-26 17:14:00 -04:00
Raymond Hill
19ece97b0c Leverage compile-time token information in new fitler classes
Related commit:
- 99390390fc

The token information available at compile time can be stored
in the filter to be used at match() time. This allows the use of
startsWith() rather than a more costly indexOf() call as a first
quick test to detect mismatches.
2019-04-26 11:16:47 -04:00
Raymond Hill
1f8f616faf Make Firefox dev build auto-update 2019-04-25 19:44:33 -04:00
Raymond Hill
74c24dbf37 New revision for dev build 2019-04-25 19:40:48 -04:00
Raymond Hill
f667fc2d65 Fix page count computation in publicSuffixList.enableWASM() 2019-04-25 19:40:07 -04:00
Raymond Hill
e0d2285da0 Convert HNTrie code to ES6 class 2019-04-25 19:38:07 -04:00
Raymond Hill
155abfba18 Cache and reuse result of HNTrieRef.matches() when possible
Due to how web pages typically load secondary resources and due
to how HNTrieContainer instances are used in uBO, there is a
great likelihood that the result of a previous call to
HNTrieRef.matches() can be reused in a subsequent call.
This has been confirmed by instrumenting HNTrieRef.matches().

Since uBO uses distinct HNTrieContainer instances to either
match against the request or the origin hostnames, this
means a high likelihood of repeated calls to HNTrieRef.matches()
with the same hostname as argument, hence a performance gain
when caching the argument+result -- as despite that
HNTrie.matches() is fast, comparing two short strings is even
faster if this allows to skip HNTrie.matches() altogether.
2019-04-25 18:36:03 -04:00
Raymond Hill
99390390fc Introduce three more specialized filter classes to avoid regexes
Performance- and memory-related work. Three more classes have
been created to avoid regex-based filters internally.

Purpose is to enforce filters which have only one single
wildcard in their pattern, a common occurrence. The filter
pattern is split in two literal string segments.

Similar as above, with the added condition that the filter is
hostname-anchored (`||`). The "Wildcard2" variant is a further
specialization to enforce filters where the only wildcard
is immediately preceded by the `^` special character, again
a very common occurrence.

Using two literal string segments in lieu of regexes allows to
quickly detect a mismatch by just testing the first segment.
Additionally, this reduces memory footprint as regexes are
much more expensive memory-wise than plain strings.

These three new filter classes allow to replace the use of
5276 regex-based filters internally with plain string-based
filters.

Often-called isHnAnchored() has been further fine-tuned to
avoid as much work as possible. I have also observed that
using an arrow function for closure-purpose helps measurably
performance, as per built-in benchmark.
2019-04-25 17:48:08 -04:00
Raymond Hill
dfd6076a5e Make Firefox dev build auto-update 2019-04-24 08:37:58 -04:00
Raymond Hill
b59f7d44ee New revision for dev build 2019-04-24 08:32:33 -04:00
Raymond Hill
fff2bb6290 Assume media elements with no Content-Length header to be of size 0
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/543
2019-04-24 08:30:54 -04:00
Raymond Hill
72bbcdd93c Prevent search expression in CodeMirror editor from crossing line boundaries
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/493
2019-04-23 19:26:02 -04:00
Raymond Hill
cd1a11fa9d Update to CodeMirror version 5.46 2019-04-23 19:06:03 -04:00
Raymond Hill
3efb0daa66 Make Firefox dev build auto-update 2019-04-23 09:46:46 -04:00
Raymond Hill
c535c624bd Import translation work from https://crowdin.com/project/ublock 2019-04-23 09:32:15 -04:00
Raymond Hill
dd7125378b New revision for dev build 2019-04-23 09:29:49 -04:00
Raymond Hill
3c5102811a Fix the logger's rendering of hostnames starting with digits
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/541
2019-04-23 09:28:00 -04:00
Raymond Hill
16a76aa524 Add filter expressions in logger's expression picker
- Added `media`
- Include `generichide` in `dom` filter expression
- Include `beacon`/`csp_report`/`ping` in `other filter expression
2019-04-22 10:23:58 -04:00
Raymond Hill
bb406bd883 Make Firefox dev build auto-update 2019-04-21 17:07:24 -04:00
Raymond Hill
cd832bb102 New revision for dev build 2019-04-21 17:03:49 -04:00
Raymond Hill
43ecffc295 Fix overzealous strict blocking (regression)
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/536

Regression from:
- 3f3a1543ea (diff-522a16ddeed280252d7c3a351261b441R2767)
2019-04-21 09:17:31 -04:00
Raymond Hill
cb18ec54f0 Make Firefox dev build auto-update 2019-04-21 08:04:17 -04:00
Raymond Hill
918116af52 New revision for dev build 2019-04-21 08:00:50 -04:00
Raymond Hill
f10b100379 Fix the handling of pseudoclass-based generic cosmetic filters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/464

Regression from:
261ef8c510 (diff-3b15596213ed9ba37fb5b8bb1402a6c2R599)

Pseudoclass-based generic cosmetic filters were improperly seen
as invalid following the regression.
2019-04-21 07:49:44 -04:00
Raymond Hill
59f4fd1f43 Make Firefox dev build auto-update 2019-04-21 06:20:55 -04:00
Raymond Hill
fae91c7c55 New revision for dev build 2019-04-21 06:15:13 -04:00
Raymond Hill
7735b35e21 Fix uncaught rejected promise in assets.fetchText()
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/534

Regression from
a52b07ff6e
2019-04-21 06:12:20 -04:00
Raymond Hill
1c63aa719d Make Firefox dev build auto-update 2019-04-20 19:29:47 -04:00
Raymond Hill
605adfe689 New revision for dev build 2019-04-20 19:25:34 -04:00
Raymond Hill
97f91f8be9 Small code review of a52b07ff6e 2019-04-20 19:10:34 -04:00
Raymond Hill
f0d5205bd7 Discard existing lines when importing from file in "My filters"
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/519
2019-04-20 18:57:16 -04:00
Raymond Hill
1de75ced5c Make Firefox dev build auto-update 2019-04-20 17:53:36 -04:00
Raymond Hill
ca7745697a New revision for dev build 2019-04-20 17:33:48 -04:00
Raymond Hill
537271f26b Fix how *$, |https://, http:// filters are reported in logger
This was a regression introduced in
3f3a1543ea

Reported in issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/528#issuecomment-485163348
2019-04-20 17:25:32 -04:00
Raymond Hill
a52b07ff6e Make userResourcesLocation able to support multiple URLs
The URLs must be space-separated.

Reminders:
- The additional resources will be updated at the same time
  the built-in resource file is updated
- Purging the cache of 'uBlock filters' will also purge the
  cache of the built-in resource file -- and hence force a
  reload of the user's custom resources if any

Related issues:
- https://github.com/gorhill/uBlock/issues/3307
- https://github.com/uBlockOrigin/uAssets/issues/5184#issuecomment-475875189

Addtionally:
- Opportunitically promisified assets.fetchText()
- Fixed https://github.com/gorhill/uBlock/issues/3586
2019-04-20 17:16:49 -04:00
Raymond Hill
d9fe40f1ce Make Firefox dev build auto-update 2019-04-20 09:36:16 -04:00
Raymond Hill
78dcf5949a New revision for dev build 2019-04-20 09:33:01 -04:00
Raymond Hill
fa83744b58 Use a sequence of base 64 numbers to encode array buffers
The purpose of using a custom base128 encoder is to
convert array buffers into strings, to allow a direct
string-to-array buffer conversion at load time:

  string => array buffer

Whereas a JSON array would require an extra step:

  JSON array as string => JS array => array buffer

Turns out that the current use of a custom base128 encoding
results in a significantly larger selfie storage usage when
converting array buffers into strings.

Speculation: possibly the browser convert the strings to
save into JSON strings internally. Since the custom base128
encoder is likely to cause the resulting string to contain
a lot of unprintable ASCII characters, these will need to
be escaped when converted to JSON -- escaped characters
occupy more space than non-escaped ones.

Using a sequence of base 64 numbers means only printable
will be present in the output string, hence no escaping
necessary. I have observed significant reduction in
storage usage for selfie purpose.
2019-04-20 09:06:54 -04:00
Raymond Hill
a0c4183cad Make Firefox dev build auto-update 2019-04-19 17:15:21 -04:00
Raymond Hill
69cb5d8abd Import translation work from https://crowdin.com/project/ublock 2019-04-19 17:07:27 -04:00
Raymond Hill
b08e6b009f New revision for dev build 2019-04-19 17:02:04 -04:00
Raymond Hill
3f3a1543ea Add HNTrie-based filter classes to store origin-only filters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/528#issuecomment-484408622

Following STrie-related work in above issue, I noticed that a large
number of filters in EasyList were filters which only had to match
against the document origin. For instance, among just the top 10
most populous buckets, there were four such buckets with over
hundreds of entries each:

- bits: 72, token: "http", 146 entries
- bits: 72, token: "https", 139 entries
- bits: 88, token: "http", 122 entries
- bits: 88, token: "https", 118 entries

These filters in these buckets have to be matched against all
the network requests.

In order to leverage HNTrie for these filters[1], they are now handled
in a special way so as to ensure they all end up in a single HNTrie
(per bucket), which means that instead of scanning hundreds of entries
per URL, there is now a single scan per bucket per URL for these
apply-everywhere filters.

Now, any filter which fulfill ALL the following condition will be
processed in a special manner internally:

- Is of the form `|https://` or `|http://` or `*`; and
- Does have a `domain=` option; and
- Does not have a negated domain in its `domain=` option; and
- Does not have `csp=` option; and
- Does not have a `redirect=` option

If a filter does not fulfill ALL the conditions above, no change
in behavior.

A filter which matches ALL of the above will be processed in a special
manner:

- The `domain=` option will be decomposed so as to create as many
  distinct filter as there is distinct value in the `domain=` option
- This also apply to the `badfilter` version of the filter, which
  means it now become possible to `badfilter` only one of the
  distinct filter without having to `badfilter` all of them.
- The logger will always report these special filters with only a
  single hostname in the `domain=` option.

***

[1] HNTrie is currently WASM-ed on Firefox.
2019-04-19 16:33:46 -04:00
Raymond Hill
fd9df4b374 Make Firefox dev build auto-update 2019-04-18 08:35:43 -04:00
Raymond Hill
90cfbd5e24 New revision for dev build 2019-04-18 08:25:06 -04:00
Raymond Hill
c9b55d48e3 Fix https://github.com/uBlockOrigin/uBlock-issues/issues/531 2019-04-17 07:41:49 -04:00
Raymond Hill
b70302c0fc Cleanup comments following changes in 34f3cfe5e7 2019-04-16 19:20:56 -04:00
Raymond Hill
34f3cfe5e7 Add filterClassHistogram() method to µBlock.staticNetFilteringEngine
As a development tool for investigation purpose. To use, enter the
following at uBO's dev console:

    µBlock.staticNetFilteringEngine.filterClassHistogram()
2019-04-16 19:01:14 -04:00
Raymond Hill
4940cda154 Categorize google as a bad token for map key purpose
In the static network filtering engine, `google` token is too
generic and probably leads to too many false positives, beside
causing too large filter bucket.
2019-04-16 06:52:13 -04:00
Raymond Hill
60858b6719 Fix handling of backslashes in string expressions for :has-text() 2019-04-15 18:56:28 -04:00
Raymond Hill
a594b3f3d1 Add µBlock.staticNetFilteringEngine.bucketHistogram() as investigative dev tool
Additionally, lower the treshold of trieability to 4 for FilterPlainPrefix1.
2019-04-15 11:45:33 -04:00
Raymond Hill
5b202b9d5c Make Firefox dev build auto-update 2019-04-14 18:37:10 -04:00
Raymond Hill
f47f7c00d8 New revision for dev build 2019-04-14 18:33:35 -04:00
Raymond Hill
53860c3ad2 Forgot to add lij re. https://github.com/uBlockOrigin/uBlock-issues/issues/501 2019-04-14 18:30:57 -04:00
Raymond Hill
c9c21f9cbf Add more languages for list selection at install/reset time
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/501

Also, the handling of 3-letter language codes has been fixed.
2019-04-14 18:20:57 -04:00
Raymond Hill
7652808806 Improve handling of srcset-based images in element picker
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/517
2019-04-14 17:37:48 -04:00
Raymond Hill
b73480b4c5 Update fix for https://github.com/uBlockOrigin/uBlock-issues/issues/468
As suggested by @jspenguin2017:
https://github.com/uBlockOrigin/uBlock-issues/issues/468#issuecomment-482863195
2019-04-14 16:57:09 -04:00
Raymond Hill
c229003d31 Performance + code maintenance work on static network filtering engine
Implement a plain string trie container class: STrieContainer.

Make use of STrieContainer where beneficial

  Some filter buckets can grow quite large, and in such case
  coalescing "trieable" filter classes into a single trie reduces
  lookup performance and memory usage.

  For instance, at time of commit, the filter bucket for the
  `ad` keyword contains 919 entries[1].

  Coalescing trieable filters of the same class into a single plain
  string trie reduced the size of the bucket into 50 entries + two
  tries which are scanned only once each whenever the bucket is
  visited.

  [1] Enter the following code at uBO's dev console:
      µBlock.staticNetFilteringEngine.categories.get(0).get(µBlock.urlTokenizer.tokenHashFromString('ad'))

Refactor static network filtering engine code to make use of
ES6's syntactic sugar `class`.

Change first auto-update run from 7 to 5 minutes.
2019-04-14 16:45:20 -04:00
Raymond Hill
92c5f17b78 Improve usefulness of FilterContainer.benchmark()
Add ability to test/record results. This allows to compare against
output after code changes to detect and more accurately report
regressions.
2019-04-14 09:44:24 -04:00
Raymond Hill
813d96175d Fix https://github.com/uBlockOrigin/uBlock-issues/issues/468 2019-04-13 08:10:55 -04:00
Raymond Hill
d2cb0f17ea Report block count in benchmark()
The block count can be used for testing against regression after
code changes.
2019-04-12 10:19:38 -04:00
Raymond Hill
563f6fddde Import translation work from https://crowdin.com/project/ublock 2019-04-08 12:36:19 -03:00
Noelle Leigh
0bb7b76338 Fixed wrong method for number of elements in a Map (#3755) 2019-04-06 16:42:24 -03:00
Raymond Hill
1cd781796e Make Firefox dev build auto-update 2019-04-03 13:39:27 -03:00
Raymond Hill
ecc2274fec New revision for dev build 2019-04-03 13:21:43 -03:00
Raymond Hill
1a7a3298e2 Be prepared to deal with failure to read user settings
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/507
2019-04-03 13:18:47 -03:00
Raymond Hill
48ac4b21c6 Make Firefox dev build auto-update 2019-04-03 10:57:38 -03:00
Raymond Hill
24dced810f New revision for dev build 2019-04-03 10:45:41 -03:00
Raymond Hill
7bf83fad5e New revision for stable release 2019-04-03 00:20:26 -03:00
Raymond Hill
f47ad8366e Fix https://github.com/NanoAdblocker/NanoCore/issues/257 2019-04-03 00:18:16 -03:00
Raymond Hill
d505adfa38 Upgrade CodeMirror to 5.45 2019-03-31 00:31:29 -03:00
okiehsch
98182c12a8 adress https://github.com/DandelionSprout/adfilt/issues/7#issuecomment-478296690 (#3754) 2019-03-30 23:22:50 -03:00
Raymond Hill
4e01e2672a New revision for stable build 2019-03-28 12:46:40 -03:00
Raymond Hill
e1366c2080 Make Firefox dev build auto-update 2019-03-28 10:52:56 -03:00
Raymond Hill
7c7dd7c806 New revision for dev build 2019-03-28 10:25:11 -03:00
Raymond Hill
f62d866b36 Code review implementation of cacheStorage.clear()
Possibly related issue:
- https://old.reddit.com/r/firefox/comments/b3u4nj/what_is_the_estimated_time_period_for_reviewing_a/

@gwarser has been able to reproduce at will, while I have been
unable to reproduce at all. The change here is to clear the
content of the database instead of outright deleting it before
restoring backed up settings.
2019-03-28 10:17:47 -03:00
Raymond Hill
da9e3f29b8 New revision for stable release 2019-03-26 12:03:32 -03:00
Raymond Hill
99fabf1ca7 Make Firefox dev build auto-update 2019-03-23 18:23:25 -03:00
Raymond Hill
f52e77b0c8 Import translation work from https://crowdin.com/project/ublock 2019-03-23 18:08:49 -03:00
Raymond Hill
d5d9bb45cf New revision for dev build 2019-03-23 16:43:59 -03:00
Raymond Hill
977178bef2 Use a lower WebRTC mode on Firefox to hide private IP addresses
Releated issue:
- https://github.com/gorhill/uBlock/issues/3009

Firefox implements differently the behavior of `disable_non_proxied_udp`,
and this probably leads to more oft-misdiagnosed breakage.

Example:
https://www.reddit.com/r/firefox/comments/b4guyl/gotowebmeeting_same_unsupported_bs/
2019-03-23 16:23:42 -03:00
Raymond Hill
3b065a9418 Make Firefox dev build auto-update 2019-03-22 22:20:07 -03:00
Raymond Hill
d7343bb407 New revision for dev build 2019-03-22 22:13:50 -03:00
Raymond Hill
2fd587b7ae Simplyfy code to gather storage used with StorageManager.estimate()
Documentation:
https://developer.mozilla.org/docs/Web/API/StorageManager
2019-03-22 22:09:27 -03:00
Raymond Hill
ac71d6577a Visually emphasize directive syntax (!#if/!#endif) in list viewer/editor 2019-03-21 19:53:04 -03:00
Raymond Hill
c56fee9448 Make Firefox dev build auto-update 2019-03-21 18:01:58 -03:00
Raymond Hill
f78febbfb7 New revision for dev build 2019-03-21 17:56:57 -03:00
Raymond Hill
26c57feee8 Code review of IndexedDB usage for cache storage purpose
Use Promise.prototype.catch() to deal with potential exceptions.

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/416
2019-03-21 17:49:19 -03:00
Raymond Hill
bbdb08c74a New revision for stable release 2019-03-21 10:06:56 -03:00
Raymond Hill
7ee8c34685 Make Firefox dev build auto-update 2019-03-17 11:08:09 -04:00
Raymond Hill
df86e5e227 New revision for release candidate
The sole purpose of this new revision is to ensure that users of
Firefox version of uBO dev build get the new twitch.tv scriptlet.
2019-03-17 11:02:16 -04:00
Raymond Hill
ef438309bb Make Firefox dev build auto-update 2019-03-17 10:16:59 -04:00
Raymond Hill
732d517fe4 New revision for release candidate 2019-03-17 09:51:54 -04:00
Raymond Hill
34a138e3ef Add unlimitedStorage to Firefox manifest; add timeout to IndexedDB access
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/416

The Chromium version of uBO has declared `unlimitedStorage` since the
extension was first published in 2014. Declaring this permission in
Firefox brings uBO inline with the Chromium version. I suspect some
reported errors could be caused by IndexedDB eviction due to the lack
of `unlimitedStorage` permission.

Additionally, a timeout has been added when uBO tries to access its
indexedDB storage. It's unclear whether this will help with the
mentioned related issue though, the root cause is still to be
identified.
2019-03-17 09:45:28 -04:00
Raymond Hill
dbecb71262 Make Firefox dev build auto-update 2019-03-16 09:32:26 -04:00
Raymond Hill
8b5d3d8078 New revision for release candidate 2019-03-16 09:04:09 -04:00
Raymond Hill
008370e4b9 Fix https://github.com/uBlockOrigin/uBlock-issues/issues/461
uBO will fallback using a JSON string when trying to encode an array
buffer in Chromium version 59 and earlier.
2019-03-16 09:00:31 -04:00
Raymond Hill
7875bb6ebc Make Firefox dev build auto-update 2019-03-15 07:52:49 -04:00
Raymond Hill
23154138fc New revision for dev build 2019-03-15 07:48:59 -04:00
Raymond Hill
580c3885df Fix typo which could lead to improper filtering context
Related discussion:
- 354ac4f57b (commitcomment-32715209)
2019-03-15 07:47:36 -04:00
Raymond Hill
875542c964 Code review of fix for https://github.com/uBlockOrigin/uBlock-issues/issues/459
Relocate workaround to the code responsible to compute filtering context, such
that the workaround will also be applied in other code paths, for example  also
for webRequest.onHeadersReceived.
2019-03-14 11:24:13 -04:00
Raymond Hill
f411ab1feb Make Firefox dev build auto-update 2019-03-14 10:00:14 -04:00
Raymond Hill
3991e95a00 New revision for dev build 2019-03-14 09:41:34 -04:00
Raymond Hill
9a7887eb39 Better English in comment 2019-03-13 17:21:30 -04:00
Raymond Hill
6841e7565a New revision for stable release 2019-03-13 17:20:04 -04:00
Raymond Hill
f5974a500b Fix https://github.com/uBlockOrigin/uBlock-issues/issues/459 2019-03-13 17:17:37 -04:00
Raymond Hill
4d0784f8f3 Fix Opera package build script: removal of WASM-related files 2019-03-13 10:12:09 -04:00
Raymond Hill
0dfe2fa5cb New revision for stable release 2019-03-12 19:00:23 -04:00
Raymond Hill
224b0438c4 Make Firefox dev build auto-update 2019-03-08 07:44:21 -05:00
Raymond Hill
3b5dcef806 New revision for release candidate 2019-03-08 07:29:58 -05:00
Raymond Hill
e49debd5dd Properly report :spath operator of procedural cosmetic filters in logger
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/453
2019-03-08 07:26:55 -05:00
Raymond Hill
58d23ec037 Make Firefox dev build auto-update 2019-03-06 09:11:36 -05:00
Raymond Hill
ea37086b25 New revision for release candidate 2019-03-06 09:07:04 -05:00
Raymond Hill
3a8b68ea76 Remove obsolete code related to assets storage refactoring in 1.11.0
The removed code was quite old, and was about how user filters were
persisted before/after uBO version 1.11, related to the following
issue:
- https://github.com/gorhill/uBlock/pull/2314

The assets storage refactoring was released in:
- https://github.com/gorhill/uBlock/releases/tag/1.11.0
2019-03-06 08:59:13 -05:00
Raymond Hill
4f43160699 Make Firefox dev build auto-update 2019-03-05 12:48:17 -05:00
Raymond Hill
293d9f955e New revision for release candidate 2019-03-05 12:43:46 -05:00
Raymond Hill
67d143ec4e Fix https://github.com/uBlockOrigin/uBlock-issues/issues/448 2019-03-05 12:42:59 -05:00
Raymond Hill
000215663e Make Firefox dev build auto-update 2019-03-05 11:01:27 -05:00
Raymond Hill
11d7d4754e New revision for dev build 2019-03-05 10:54:53 -05:00
Raymond Hill
07d4a6b60c Import translation work from https://crowdin.com/project/ublock 2019-03-05 10:52:56 -05:00
Raymond Hill
388c1c98ec Fix parsing of AdGuard's #$?#-based cosmetic filters
As reported in the following commit:
- https://github.com/AdguardTeam/AdguardFilters/commit/4fe02d73cee6
2019-03-05 10:10:40 -05:00
Raymond Hill
c92bf080e1 Make Firefox dev build auto-update 2019-02-26 11:42:19 -05:00
Raymond Hill
d08ee7cf00 New revision for dev build 2019-02-26 11:34:43 -05:00
Raymond Hill
5a2133de2a Import translation work from https://crowdin.com/project/ublock 2019-02-26 11:29:22 -05:00
Raymond Hill
337b1f81b6 Code review of indexedDB-based cache storage 2019-02-26 10:37:25 -05:00
Raymond Hill
bb99d50830 Make Firefox dev build auto-update 2019-02-24 11:38:42 -05:00
Raymond Hill
caf7da2b51 New revision for dev build 2019-02-24 11:34:26 -05:00
Raymond Hill
eaa0094e53 Fix uncaugh exception at launch when indexedDB is forbidden
Possibly related to:
- https://www.reddit.com/r/uBlockOrigin/comments/atbjvg/web_pages_dont_load_in_waterfox_56271_64bit_with/
2019-02-24 11:28:28 -05:00
Raymond Hill
6c3ebad4dc Make Firefox dev build auto-update 2019-02-24 09:14:16 -05:00
Raymond Hill
6aa2074e2f Import translation work from https://crowdin.com/project/ublock 2019-02-24 09:08:19 -05:00
Raymond Hill
35c88808dc New revision dev build 2019-02-24 09:03:50 -05:00
Raymond Hill
c161d45230 Use const, let instead of var 2019-02-24 09:01:58 -05:00
Raymond Hill
1c26afe874 Remove caching the result of domain extraction from hostname
With the new PSL implementation, benchmarks do not show benefit
from caching the domain extracted from a hostname for later
reuse -- the caching seems to even add an overhead instead with
the new publicSuffixList implementation.
2019-02-20 08:51:14 -05:00
Raymond Hill
dc1d3c19b3 Make Firefox dev build auto-update 2019-02-20 07:31:46 -05:00
Raymond Hill
8edc3bf3e7 Import translation work from https://crowdin.com/project/ublock 2019-02-20 07:25:56 -05:00
Raymond Hill
61374a927e New revision for dev build 2019-02-20 07:22:48 -05:00
Raymond Hill
c83b6776da Remove support for implicit scriptlet injection
Related issue:
- https://github.com/gorhill/uBlock/issues/3550
2019-02-20 07:18:37 -05:00
Raymond Hill
b585518c00 Do not fall back to alternative cache backend if selected one fails
Default behavior is to fall back to an alternative backend
if the uBO-selected one is not available. However there will be
no fall back when the `cacheStorageAPI` is set to one specific
backend by the user.
2019-02-20 07:05:45 -05:00
Raymond Hill
87feb47b51 Support disabling suspendTabsUntilReady in Firefox
The value of `suspendTabsUntilReady` was disregarded in Firefox and
uBO defaulted to always defer tab loading until it was ready.

This commit allows to disable the deferring of tab loading in
Firefox. The new valid values for `suspendTabsUntilReady` are:
- `unset`: leave it to the platform to pick the optimal
  behavior (default)
- `no`: do no suspend tab loading at launch time
- `yes`: suspend tab loading at launch time
2019-02-19 12:30:37 -05:00
Raymond Hill
928ab91ab8 Add support to benchmark the dynamic filtering pane
From uBO's dev console, type:
- `µBlock.sessionFirewall.benchmark();`

Keep in mind that it's the temporary ruleset being benchmarked.
2019-02-19 10:46:33 -05:00
Raymond Hill
3ee25537a1 Make Firefox dev build auto-update 2019-02-18 18:28:22 -05:00
Raymond Hill
700825bf23 New revision for dev build 2019-02-18 16:51:20 -05:00
Raymond Hill
93842a3f9c Improve detection of invalid CSS selectors
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/389

Additionally, fix case of using potentially uninitialized variable
in preview mode. Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/425
2019-02-18 16:00:42 -05:00
Raymond Hill
426a6ea9a7 Fix spurious output at uBO's dev console
Regression from https://github.com/gorhill/uBlock/commit/0d369cda21bb
2019-02-18 14:41:04 -05:00
Raymond Hill
47ceaea3b9 Make Firefox dev build auto-update 2019-02-18 06:27:33 -05:00
Raymond Hill
b7e91c43ca New revision for dev build 2019-02-18 06:20:39 -05:00
Raymond Hill
f7a632c94a Fix regression preventing new install or reseting to factory default
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/431
2019-02-18 06:18:30 -05:00
Raymond Hill
e56757da16 Make Firefox dev build auto-update 2019-02-17 18:11:59 -05:00
Raymond Hill
27f7de7b96 Import translation work from https://crowdin.com/project/ublock 2019-02-17 16:11:36 -05:00
Raymond Hill
363d97fb22 New revision for dev build 2019-02-17 16:05:43 -05:00
Raymond Hill
0d369cda21 Allow use of browser.storage.local as cache storage backend in Firefox
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/409

By default `indexedDB` is used in Firefox for purpose of cache storage
backend.

This commit allows to force the use of `browser.storage.local` instead
as cache storage backend. For this to happen, set `cacheStorageAPI` to
`browser.storage.local` in advanced settings.

Additionally, should `indexedDB` not be available for whatever reason,
uBO will automatically fallback to `browser.storage.local`.
2019-02-17 15:40:09 -05:00
Raymond Hill
3b81841dc0 Properly set resource URL in benchmark loop 2019-02-17 07:45:05 -05:00
Raymond Hill
553ba2c7ed Make Firefox dev build auto-update 2019-02-16 19:49:31 -05:00
Raymond Hill
5558146649 New revision for dev build 2019-02-16 19:32:05 -05:00
Raymond Hill
d63592b11e Remove obsolete code to translate |blob: filters into CSP filters
These filters are to be considered obsolete since they can't be
matched against network requests in the webRequest API.

They were probably meant to work when ABP was pre-webext, which
means they are quite probably obsolete and there is no longer
a point for uBO to conveniently translate them into CSP directives.
2019-02-16 19:25:15 -05:00
Raymond Hill
e93062bcdf Spin-off FilterOrigin flavors into standalone classes
This removes the derivation of FilterOrigin flavors from
FilterOrigin itself and simplify code paths. FilterOrigin
flavors are small specialized classes, no need to
overcomplicate with derivation.

Specifically, this removes an indirect call to reach the
match() method.
2019-02-16 12:16:30 -05:00
Raymond Hill
5733439f62 Leverage whotracks.me's huge dataset of URLs for benchmark purpose
As seen at:
  https://whotracks.me/blog/adblockers_performance_study.html

The requests.json.gz file can be downloaded from:
  https://cdn.cliqz.com/adblocking/requests_top500.json.gz

Copy the file into ./tmp/requests.json.gz

If the file is present when you build uBO using `make-[target].sh` from
the shell, the resulting package will contain `./assets/requests.json`,
which will be looked-up by the method below to launch a benchmark
session.

From uBO's dev console, launch the benchmark:
  µBlock.staticNetFilteringEngine.benchmark();

The usual browser dev tools can be used to obtain useful profiling
data, i.e. start the profiler, call the benchmark method from the
console, then stop the profiler when it completes.

Keep in mind that the measurements at the blog post above where obtained
with ONLY EasyList. The CPU reportedly used was:
  https://www.cpubenchmark.net/cpu.php?cpu=Intel+Core+i7-6600U+%40+2.60GHz&id=2608

Rename ./tmp/requests.json.gz to something else if you no longer want
./assets/requests.json in the build.
2019-02-15 16:18:03 -05:00
Raymond Hill
e589e280c1 Make Firefox dev build auto-update 2019-02-15 08:02:58 -05:00
Raymond Hill
797c2ccecc New revision for dev build 2019-02-15 07:54:18 -05:00
Raymond Hill
b1f7739cba Import translation work from https://crowdin.com/project/ublock 2019-02-15 07:50:28 -05:00
Raymond Hill
515b7cdcfc Use proper embedding context when evluating inline-script
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/422
2019-02-15 07:37:43 -05:00
Raymond Hill
acda682153 Make Firefox dev build auto-update 2019-02-14 16:53:57 -05:00
Raymond Hill
b07edb2429 New revision for dev build 2019-02-14 16:49:58 -05:00
Raymond Hill
ed7e34fb07 Refactor selfie generation into a more flexible persistence mechanism
The motivation is to address the higher peak memory usage at launch
time with 3rd-gen HNTrie when a selfie was present.

The selfie generation prior to this change was to collect all
filtering data into a single data structure, and then to serialize
that whole structure at once into storage (using JSON.stringify).

However, HNTrie serialization requires that a large UintArray32 be
converted into a plain JS array, which itslef would be indirectly
converted into a JSON string. This was the main reason why peak
memory usage would be higher at launch from selfie, since the JSON
string would need to be wholly unserialized into JS objects, which
themselves would need to be converted into more specialized data
structures (like that Uint32Array one).

The solution to lower peak memory usage at launch is to refactor
selfie generation to allow a more piecemeal approach: each filtering
component is given the ability to serialize itself rather than to be
forced to be embedded in the master selfie. With this approach, the
HNTrie buffer can now serialize to its own storage by converting the
buffer data directly into a string which can be directly sent to
storage. This avoiding expensive intermediate steps such as
converting into a JS array and then to a JSON string.

As part of the refactoring, there was also opportunistic code
upgrade to ES6 and Promise (eventually all of uBO's code will be
proper ES6).

Additionally, the polyfill to bring getBytesInUse() to Firefox has
been revisited to replace the rather expensive previous
implementation with an implementation with virtually no overhead.
2019-02-14 13:33:55 -05:00
Raymond Hill
83a3767a16 Test presence of firefox instead of absence of chromium 2019-02-12 15:29:20 -05:00
Raymond Hill
2fb4dc8358 Update PSL library to latest official version 2019-02-12 12:00:20 -05:00
Raymond Hill
8c4249a870 Try to not rely on UA to lookup environment flavor
The environment flavor is used to by uBO to for self-configuration.

For users with spoofed UA at the `about:config` level, this might
cause uBO to misconfigure itself. Avoid UA and strictly rely on
browserInfo() for looking up environment parameters.
2019-02-12 11:11:58 -05:00
Raymond Hill
e4f3559db1 Remove JPN-0 from stock lists
As per feedback, for example:
- https://www.reddit.com/r/uBlockOrigin/comments/apby98/
2019-02-12 10:23:48 -05:00
Raymond Hill
1e2969c3b0 Update PSL library to last version 2019-02-12 07:59:38 -05:00
Raymond Hill
e06cf1de9b Shield early request handler against re-entrance
Unlikely re-entrance is occurring, but there is no harm
shielding against it -- just in case.
2019-02-12 07:13:37 -05:00
Raymond Hill
0011040cbe Make Firefox dev build auto-update 2019-02-10 12:31:18 -05:00
Raymond Hill
0c976992ba Import translation work from https://crowdin.com/project/ublock 2019-02-10 12:26:48 -05:00
Raymond Hill
1eb3250bb2 New revision for dev build 2019-02-10 12:24:55 -05:00
Raymond Hill
4da340384a Update publicSuffixLibrary to latest (WASM-able) version
See https://github.com/gorhill/publicsuffixlist.js
2019-02-10 12:19:05 -05:00
Raymond Hill
00236cf54f Use esversion instead of deprecated esnext 2019-02-08 09:45:25 -05:00
Raymond Hill
29b10d2151 Tone down logger visual for tab-less network requests 2019-02-05 12:05:00 -05:00
Raymond Hill
74823f6120 New revision for stable release 2019-02-05 07:06:30 -05:00
Raymond Hill
d432f78b66 Import translation work from https://crowdin.com/project/ublock 2019-02-05 07:04:52 -05:00
Raymond Hill
3977f8382c Make Firefox dev build auto-update 2019-02-02 08:24:10 -05:00
Raymond Hill
d8a34dfbb4 New revision for release candidate 2019-02-02 08:18:13 -05:00
Raymond Hill
4c428edeef Import translation work from https://crowdin.com/project/ublock 2019-02-02 08:14:47 -05:00
Raymond Hill
656203adc7 Minor generic code review of changes since 1.18.2 2019-02-02 08:09:34 -05:00
Raymond Hill
54eb608bc3 Make Firefox dev build auto-update 2019-02-01 09:16:36 -05:00
Raymond Hill
e9b65259a9 New revision for release candidate 2019-02-01 09:12:55 -05:00
Raymond Hill
fc03782985 Ensure that WASM module was actually loaded 2019-02-01 09:09:51 -05:00
Raymond Hill
81e4cb81e3 Make Firefox dev build auto-update 2019-02-01 08:40:44 -05:00
Raymond Hill
30bd6c53e4 New revision for release candidate 2019-02-01 08:37:24 -05:00
Raymond Hill
ff269d793d Use indexedDB instead of for cacheStorageAPI value 2019-02-01 08:27:28 -05:00
Raymond Hill
69c87c5117 Fix Promise chain of WASM module load operations
The Promise chain was not properly designed for WASM module
loading. This became apparent when removing WASM modules
from Opera build[1].

The problem was that errors thrown by fetch() -- used to
load WASM modules -- were not properly handled.

[1] Opera refuses updating uBO if there are unrecognized file
types in the package, and `.wasm`/`.wat` files are not
recognized by Opera uploader.
2019-02-01 08:20:43 -05:00
Raymond Hill
4f3aed6fe6 Manually fix updates.json to ensure dev build auto-update
The script failed to upload the signed package (error 502 from GitHub),
hence updates.json was not auto-updated as a consequence.
2019-01-29 12:50:36 -05:00
Raymond Hill
40601bd533 New revision for dev build 2019-01-29 12:14:50 -05:00
Raymond Hill
923c5ce5bd Compute URL of sublists as relative to URL of parent list
Related issue:
- https://github.com/NanoAdblocker/NanoCore/issues/239

The erroneous behavior was to compute the URL of a sublist as
relative to the URL of the root list, which may differ from the
URL of a parent list.
2019-01-29 11:52:16 -05:00
Raymond Hill
3195f554f7 Fix partyness evaluation for cases of base domain-less hostnames
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/402
2019-01-29 10:34:58 -05:00
Raymond Hill
f8b6d96ffd Make Firefox dev build auto-update 2019-01-28 16:26:58 -05:00
Raymond Hill
98307e07cb Import translation work from https://crowdin.com/project/ublock 2019-01-28 16:22:41 -05:00
Raymond Hill
5695443d01 New revision for dev build 2019-01-28 16:20:39 -05:00
Raymond Hill
920eee88be Code review: ensure vAPI.shutdown.exec is called from root context only
This prevents uncaught errors in content scripts when uBO's main
process is terminated (i.e. disabled, updated).
2019-01-28 16:16:52 -05:00
Raymond Hill
a6ebcc85be Reuse both flavors of webRequest wrapper in webext package
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/407

Both flavors will be stitched together into a single
`vapi-qebrequest.js` file.

The decision of which flavor to use will be made at runtime,
according to the browser environment.
2019-01-28 16:12:26 -05:00
Raymond Hill
d2335b9fbd Make Firefox dev build auto-update 2019-01-27 17:31:40 -05:00
Raymond Hill
d7c169c587 Import translation work from https://crowdin.com/project/ublock 2019-01-27 17:24:26 -05:00
Raymond Hill
b08f62680b New revision for dev build 2019-01-27 17:22:17 -05:00
Raymond Hill
15100459b3 Harden content script's message Port against spurious disconnections
Those spurious disconnections have been observed to occur at
uBO's launch time.

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

I have observed that this fixes an issue observed on Firefox 64
(current stable).

The reported Waterfox issue *may* be fixed as a result. If not,
the issue he still considered fixed as Waterfox is not
officially supported.
2019-01-27 17:07:40 -05:00
Raymond Hill
5261da69ac Merge branch 'master' of github.com:gorhill/uBlock 2019-01-26 12:32:59 -05:00
Raymond Hill
1f721459a6 Removing section which uses material which is years-old
I see the outside world still referring to these graphes as
reference material in arguments regarding uBO's efficiency.
I have no doubt uBO is more efficient than other content
blockers with similar capabilities, but using obsolete
measurement is not the proper way to make the point.

I may add new benchmarks but these are time-consuming
so for now it's best to remove this section based on outdated
materials.
2019-01-26 12:32:43 -05:00
Raymond Hill
85f00622b4 New revision for stable release 2019-01-26 10:16:58 -05:00
Raymond Hill
efd2ce1fa9 Make Firefox dev build auto-update 2019-01-25 19:05:41 -05:00
Raymond Hill
54eb996e10 New revision for release candidate 2019-01-25 19:01:28 -05:00
Raymond Hill
85d6339b07 Code review for a026e9ae54: no need to be so flexible 2019-01-25 18:58:49 -05:00
Raymond Hill
a026e9ae54 Fix reverting use of IndexedDB as default cache storage on Chromium
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/399

The advanced setting `cacheStorageAPI` has been added to allow
a user to force the use of IndexedDB as cache storage. Set to
`IndexedDB` to force use of IndexedDB. Default to `unset`.
2019-01-25 18:49:30 -05:00
Raymond Hill
185ebf0d7d Import translation work from https://crowdin.com/project/ublock 2019-01-25 08:47:39 -05:00
Raymond Hill
5cf762d115 New revision for stable release 2019-01-25 08:42:32 -05:00
Raymond Hill
3eb26fc0c5 Set minimum Opera version to 40 (Chromium 53) 2019-01-25 08:41:15 -05:00
Raymond Hill
3dac43eab6 New revision for stable release 2019-01-24 07:50:06 -05:00
Raymond Hill
ba7baec1f4 Import translation work from https://crowdin.com/project/ublock 2019-01-24 07:06:43 -05:00
Raymond Hill
b214ec1bae Ensure pointer-events style is set to auto at element picker launch
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/393
2019-01-23 17:11:07 -05:00
Raymond Hill
bf3671d865 Make Firefox dev build auto-update 2019-01-22 06:57:50 -05:00
Raymond Hill
8b1c6c8613 New revision for release candidate 2019-01-22 06:53:54 -05:00
Raymond Hill
be76714cfc Import translation work from https://crowdin.com/project/ublock 2019-01-22 06:53:09 -05:00
Raymond Hill
9e89dd4f26 Fix missing partyness in logger when empty domain in resource URL 2019-01-22 06:13:30 -05:00
Raymond Hill
a668893427 Import translation work from https://crowdin.com/project/ublock 2019-01-21 12:18:10 -05:00
Raymond Hill
7ca1681288 Make Firefox dev build auto-update 2019-01-20 12:42:50 -05:00
Raymond Hill
1351b8df0f New revision for release candidate 2019-01-20 12:36:39 -05:00
Raymond Hill
64e0498084 Import translation work from https://crowdin.com/project/ublock 2019-01-20 12:35:25 -05:00
Raymond Hill
305cd4db1c Experimental Thunderbird 65+ support: experimental
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/194

This is a first iteration, which purpose is to merely allow
uBO to load properly. Many things are known to not work,
quite probably due to the early Thunderbird support of the
WebExtensions framework.

Permission which had to be removed:
- contextMenus

Manifest entries which had to be removed:
- commands
- sidebar_action

uBO's webRequest listeners are not being called when loading a
feed item in the preview pane, *except* for resources fetched
from embedded iframes.

uBO appears to function properly when a feed item is opened in
its own tab.
2019-01-20 12:22:40 -05:00
Raymond Hill
16a0ebbfb0 Import translation work from https://crowdin.com/project/ublock 2019-01-19 09:09:37 -05:00
Raymond Hill
74367230c3 Make Firefox dev build auto-update 2019-01-18 19:18:23 -05:00
Raymond Hill
25ccc068cd New revision for release candidate 2019-01-18 19:15:34 -05:00
Raymond Hill
1de821d99b Apply stricter rejection of usage of url() in :style rules 2019-01-18 19:07:31 -05:00
Raymond Hill
0377018fa3 Make Firefox dev build auto-update 2019-01-18 07:11:45 -05:00
Raymond Hill
c6c5f12ed1 New revision for release candidate 2019-01-18 07:06:56 -05:00
Raymond Hill
886c8c2dd7 Merge branch 'master' of github.com:gorhill/uBlock into nextdev 2019-01-18 07:01:19 -05:00
Raymond Hill
6d19c4be88 Import translation work from https://crowdin.com/project/ublock 2019-01-18 06:57:47 -05:00
Raymond Hill
1280d54aaa Make Firefox dev build auto-update 2019-01-17 16:00:35 -05:00
Raymond Hill
34ecfed580 Make Firefox dev build auto-update 2019-01-17 15:58:54 -05:00
Raymond Hill
868a27bab2 New revision for dev build 2019-01-17 15:55:50 -05:00
Raymond Hill
ff6991c292 Import translation work from https://crowdin.com/project/ublock 2019-01-17 15:54:43 -05:00
Raymond Hill
52526b74d9 Minor visual change to logger 2019-01-17 15:49:18 -05:00
Raymond Hill
299afacd99 Import translation work from https://crowdin.com/project/ublock 2019-01-17 08:07:24 -05:00
Raymond Hill
4df8e9be41 Add logger "Export"-related strings for i18n 2019-01-17 08:03:50 -05:00
Raymond Hill
801eb43572 Prevent info entries from polluting logger output
These entries are meant to be shown only when using "All"
mode, not when the output is narrowed to a specific tab.
2019-01-16 13:29:34 -05:00
Raymond Hill
0c80994124 Fine tune visuals in logger's export-to-clipboard dialog 2019-01-16 12:02:16 -05:00
Raymond Hill
c1c900bee6 Merge branch 'master' of github.com:gorhill/uBlock into nextdev 2019-01-16 07:41:34 -05:00
Raymond Hill
17ea3eda3a Make Firefox dev build auto-update 2019-01-16 07:40:49 -05:00
Raymond Hill
71c89b39cb Make Firefox dev build auto-update 2019-01-16 07:36:42 -05:00
Raymond Hill
5f341e02ed Import translation work from https://crowdin.com/project/ublock 2019-01-16 07:32:18 -05:00
Raymond Hill
07dddd0337 New revision for dev build 2019-01-16 07:28:28 -05:00
Raymond Hill
e8ff6a2abf Prevent sites from disabling mouse events for element picker
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/380

Previous fix was incorrect:
84818fcd84

Additionally, I fixed the "Network filters" or "Cosmetic filters"
sections not being properly hidden when there was not valid
filters found.
2019-01-15 16:34:57 -05:00
Raymond Hill
86e5d0384c Fix minor logger quirks as per feedback 2019-01-15 15:12:47 -05:00
Raymond Hill
84818fcd84 Prevent sites from disabling mouse events for the element picker
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/380
2019-01-15 14:41:23 -05:00
Raymond Hill
fef5c25d70 Make Firefox dev build auto-update 2019-01-15 08:51:15 -05:00
Raymond Hill
c373533c0e Make Firefox dev build auto-update 2019-01-15 08:48:35 -05:00
Raymond Hill
becb307adc New revision for dev build 2019-01-15 08:45:25 -05:00
Raymond Hill
0b73808bf7 Import translation work from https://crowdin.com/project/ublock 2019-01-15 08:42:28 -05:00
Raymond Hill
3b206fd224 Put back 'Static filter' instead of just 'Filter' 2019-01-15 08:32:39 -05:00
Raymond Hill
b0fb6d678d Fix regression from 0edf53f508 (diff-a51c8c4aedf62ea9aec5e71f3b1427c3R624) 2019-01-15 08:18:45 -05:00
Raymond Hill
4cfb7a1ffe Make Firefox dev build auto-update 2019-01-14 17:27:22 -05:00
Raymond Hill
7021ede546 Make Firefox dev build auto-update 2019-01-14 17:25:13 -05:00
Raymond Hill
e4f864d94f New revision for dev build 2019-01-14 16:57:28 -05:00
Raymond Hill
5d5b05b387 Fix an issue in new logger export feature
Specifically, if selecting table+markdown, the export dialog
would no longer be accessible once closed.
2019-01-14 16:52:13 -05:00
Raymond Hill
439819b76c Make Firefox dev build auto-update 2019-01-14 15:15:34 -05:00
Raymond Hill
093734a555 Make Firefox dev build auto-update 2019-01-14 15:13:52 -05:00
Raymond Hill
ac5bae6a65 Import translation work from https://crowdin.com/project/ublock 2019-01-14 15:10:28 -05:00
Raymond Hill
896d53b55d New revision for dev build 2019-01-14 15:08:17 -05:00
Raymond Hill
0edf53f508 Add export-to-clipboard feature to logger
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/334

Additionally, a number of smallish issues following
refactoring of the logger code were addressed.
2019-01-14 14:57:31 -05:00
Raymond Hill
88a54d442d Import translation work from https://crowdin.com/project/ublock 2019-01-14 08:08:09 -05:00
Raymond Hill
3be59f172d Use blocked/allowed colors in logger's "Details" pane
Additionally, another attempt at making the logger render
better on small-screen devices.
2019-01-13 08:34:17 -05:00
Raymond Hill
e99df793a9 Make Firefox dev build auto-update 2019-01-12 17:57:43 -05:00
Raymond Hill
0cc06ef270 Make Firefox dev build auto-update 2019-01-12 17:54:51 -05:00
Raymond Hill
10f1fdcb7c Import translation work from https://crowdin.com/project/ublock 2019-01-12 17:22:55 -05:00
Raymond Hill
feb7eb6b3d New revision for dev build 2019-01-12 17:17:16 -05:00
Raymond Hill
9fd63bdbe6 Merge branch 'master' of github.com:gorhill/uBlock into nextdev 2019-01-12 17:06:07 -05:00
Raymond Hill
be0c7186a2 Import translation worl from https://crowdin.com/project/ublock 2019-01-12 17:05:41 -05:00
Raymond Hill
ed5d63df69 Grand refactoring of the logger
Performance-related work: the logger data has been decoupled
from the DOM -- inspired from CodeMirror's way of efficiently
handling large amout of text data.

This decoupling now makes the logger highly efficient CPU- and
memory-wise, and open the way to more possibilities.

Ability to configure some aspect of the logger behavior and
visuals:
- The hard-coded limit of 5000 entries has been
  removed and is now replaced with a variety of
  user-configurable settings to enforce the discarding of
  logger entries.
- Some columns in the logger output can now be hidden.

The filter list look-up feature has been merged into the
existing overlay dialog used to create URL rules or static
filters, as an entry in a new "Details" pane.

Other issues addressed during refactoring:
- https://github.com/uBlockOrigin/uBlock-issues/issues/280
- https://github.com/gorhill/uBlock/issues/1999

The minimum version supported on Firefox has been bumped
up to 55.0.
2019-01-12 16:36:20 -05:00
Raymond Hill
941182d6f2 Merge branch 'master' of github.com:gorhill/uBlock into nextdev 2019-01-11 09:45:40 -05:00
Raymond Hill
3e41939e41 Add "AdGuard Social Media filter" to stock lists
Related issue:
- https://github.com/gorhill/uBlock/issues/3214
2019-01-11 09:39:37 -05:00
Raymond Hill
141488842a Make Firefox dev build auto-update 2019-01-08 11:23:33 -05:00
Raymond Hill
e93ce46901 Make Firefox dev build auto-update 2019-01-08 08:13:03 -05:00
Raymond Hill
407aa68272 Merge branch 'master' of github.com:gorhill/uBlock into nextdev 2019-01-08 08:08:16 -05:00
Raymond Hill
8a616bcafb New revision for release candidate 2019-01-08 08:01:21 -05:00
Raymond Hill
4e54c47253 Remove not really needed URLs 2019-01-08 08:00:10 -05:00
Raymond Hill
f1f1892233 Import translation work from https://crowdin.com/project/ublock 2019-01-08 07:57:49 -05:00
Raymond Hill
64bea27881 Add ability to control auto-commenting at filter creation time
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/372
- https://github.com/gorhill/uBlock/issues/93

A new advanced settings has been added: `autoCommentFilterTemplate`.

Default value is `{{date}} {{origin}}`.

Placeholders are identified by `{{...}}`. There are currently
only three placeholders supported:

- `{{date}}`: will be replaced with current date
- `{{time}}`: will be replaced with current time
- `{{origin}}`: will be replaced with site information on which
  the filter(s) was created

If no placeholder is found in `autoCommentFilterTemplate`, this
will disable auto-commenting. So one can use `-` to disable
auto-commenting.

Additionally, if auto-commenting is enabled, uBO will not emit a
comment if an emitted comment would be a duplicate of the last
one found in the user filter list.
2019-01-08 07:37:50 -05:00
Raymond Hill
40096bea28 Merge branch 'master' of github.com:gorhill/uBlock into nextdev 2019-01-01 16:32:27 -05:00
Raymond Hill
2c4535d1fe Prevent spurious disappearance of built-in expression filters panel
After a bit more testing following
<38b73f7100>.

Hovering the mouse cursor over the margin area would cause the panel
to spuriously disappear.
2019-01-01 16:31:54 -05:00
Raymond Hill
dbca18ebe1 Expand built-in filter expression panel by default
In light of <38b73f7100>,
it makes sense to now have the panel expanded by default.
2019-01-01 16:31:38 -05:00
Raymond Hill
76eb3e9d03 Hide built-in expressions panel in logger when cursor leaves panel 2019-01-01 16:31:19 -05:00
Raymond Hill
521b333a25 Merge branch 'master' of github.com:gorhill/uBlock into nextdev 2019-01-01 13:25:26 -05:00
Raymond Hill
7c95245424 Enable updating updates.json on any branch 2019-01-01 13:25:12 -05:00
Raymond Hill
9fc172f3c4 Make Firefox dev build auto-update 2019-01-01 13:23:19 -05:00
Raymond Hill
db9d6028e6 Make Firefox dev build auto-update 2019-01-01 13:22:04 -05:00
Raymond Hill
380925759a New revision for dev build 2019-01-01 13:17:55 -05:00
Raymond Hill
24cb894aa0 Prevent spurious disappearance of built-in expression filters panel
After a bit more testing following
<38b73f7100>.

Hovering the mouse cursor over the margin area would cause the panel
to spuriously disappear.
2019-01-01 11:43:41 -05:00
Raymond Hill
0867a15d36 Expand built-in filter expression panel by default
In light of <38b73f7100>,
it makes sense to now have the panel expanded by default.
2019-01-01 11:34:24 -05:00
Raymond Hill
38b73f7100 Hide built-in expressions panel in logger when cursor leaves panel 2019-01-01 11:18:14 -05:00
Raymond Hill
01b27c80a5 Merge branch 'master' of github.com:gorhill/uBlock into nextdev 2019-01-01 09:40:23 -05:00
Raymond Hill
c5ace09ed6 Manually patching update details for dev build of Firefox
I will need to fix the dev build script to ensure `updates.json`
file **on the master branch** is filled in with the latest dev
build details, regardless of the branch where it originates.
2019-01-01 09:37:45 -05:00
Raymond Hill
5e75f816f9 make Firefox dev build auto-update 2019-01-01 09:25:14 -05:00
Raymond Hill
32591d8710 New revision for dev build 2019-01-01 09:22:07 -05:00
Raymond Hill
d8674d8abe Merge changes from master 2018-12-31 12:11:28 -05:00
Raymond Hill
08261e3c15 Change DOM surveyor to time-based processing logic (from chunk-based)
The DOM surveyor will now use time-based logic to spread its work
over time. This allows the surveying to better scale down on
slower devices.

Additionally, the DOM surveyor code has been reworked to lower as
much as possible memory churning when collating nodes to survey.

This rework has been motivated after profiling the "monstrous DOM"
seen in the following page:
<https://doc.rust-lang.org/std/iter/trait.Iterator.html>

The idea is that making the DOM surveyor efficient on such
"monstrous DOM" case should make it efficient everywhere in
practice.
2018-12-31 11:50:40 -05:00
Raymond Hill
dcf6046f8c make Firefox dev build auto-update 2018-12-29 16:52:41 -05:00
Raymond Hill
3e0b82749c New revision for dev build 2018-12-29 16:44:04 -05:00
Raymond Hill
f35dff2c9d Code review related to performance in main content script
- Avoid concatenating with empty array: though the concatenated
  array is empty, this still forces the creation of a whole new
  array as per semantic of Array.prototype.concat().
  <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat>

- Do not convert arrays to strings when sending data to
  main process in surveyPhase1(): I no longer see any benefit
  doing so in profiling data (if I recall properly this was
  benefiting Firefox, but I can't remember for sure anymore why
  I chose to do so back then).
2018-12-29 16:34:46 -05:00
Raymond Hill
09fb3549f3 Improve creation of rows in dynamic filtering pane of popup panel
- Reuse existing rows without first removing them
- New rows appended all at once through DocumentFragment
2018-12-29 08:43:44 -05:00
Raymond Hill
87cf95c04b Avoid redundant DOM attributes in dynamic filtering pane
Move redundant attributes in cells to parent row; use
Element.closest() to look-up these attributes when needed.
2018-12-29 06:54:05 -05:00
Raymond Hill
4ce1796f09 make Firefox dev build auto-update 2018-12-28 16:29:23 -05:00
Raymond Hill
8eda70bce2 Import translation work from https://crowdin.com/project/ublock 2018-12-28 13:06:39 -05:00
Raymond Hill
58a99a74ec New revision for release candidate 2018-12-28 13:03:09 -05:00
Raymond Hill
4e2a8a0ce0 Fix vertical centering of hostnames in dynamic filtering pane
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/358

Additionally, use `display: none;` to unburden the browser
renderer from taking into account the `sup` element since
most of the time it is unused.
2018-12-28 12:56:56 -05:00
Raymond Hill
c78fa16e5b Fine tune spacing of per-site switches
Hopefully this will fix the issue seen on Firefox for Android: for
some reasons, the popup panel's default size is now more zoomed
out than it used to be in latest stable release.

Additionally, I fixed the syntactically incorrect instances of
:before and :after.
2018-12-28 09:03:32 -05:00
Raymond Hill
f6dde894cb Decrease a bit the space between extra tools at bottom of popup panel
Since the counts are now limited to two characters, no point
allocating more space than needed.
2018-12-27 11:24:32 -05:00
Raymond Hill
4caf389a87 make Firefox dev build auto-update 2018-12-27 10:24:51 -05:00
Raymond Hill
294f17469a New revision for release candidate 2018-12-27 10:22:07 -05:00
Raymond Hill
ab2efd1b84 Import translation work from https://crowdin.com/project/ublock 2018-12-27 10:21:25 -05:00
Raymond Hill
eb1428c8bb Fix regression in the collapsing of blocked resources
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/356
2018-12-27 10:17:08 -05:00
Raymond Hill
0dde563759 make Firefox dev build auto-update 2018-12-26 11:13:42 -05:00
Raymond Hill
38c73bee07 New revision for release candidate 2018-12-26 11:07:57 -05:00
Raymond Hill
8a88e9d931 Support CSS selectors mixed w/ operators in procedural cosmetic filters
Related issue:
- https://github.com/gorhill/uBlock/issues/3683

This commit further increases uBO's procedural cosmetic filters
Adguard's cosmetic filter syntax -- specifically those procedural
cosmetic filters where plain CSS selectors appeared following
a procedural oeprator (this was rejected as invalid by uBO).

Also, experimental support for `:watch-attrs` procedural
operator, as discussed in <https://github.com/uBlockOrigin/uBlock-issues/issues/341#issuecomment-449765525>.
Support may be dropped before next release depending on whether
a better solution is suggested.

Additionally, the usual opportunistic refactoring toward ES6
syntax.
2018-12-26 10:45:19 -05:00
Raymond Hill
e4cec5a15e Add missing CSS rule for FA "exclamation-triangle" icon 2018-12-26 10:41:25 -05:00
Raymond Hill
2ba1cd7dc3 Import translation work from https://crowdin.com/project/ublock 2018-12-26 06:53:46 -05:00
Raymond Hill
0341a5e1f9 Use URL to proper issue in comments 2018-12-25 13:29:41 -05:00
Raymond Hill
0ffa4b91de Minor code review
- Make FA icons non-selectable, because of spurious selection
  on Firefox for Android when merely tapping an icon
- Disable spellchecking in the static network filter editor
  in the logger
2018-12-25 10:28:32 -05:00
Raymond Hill
373bb77ff6 make Firefox dev build auto-update 2018-12-24 10:33:06 -05:00
Raymond Hill
7d0e343c9f New revision for release candidate 2018-12-24 10:26:49 -05:00
Raymond Hill
f4b9549d05 Remove use of background color style on the logger's input fields
Related feedback from the following issue:
- https://github.com/gorhill/uBlock/issues/787#issuecomment-449531979
2018-12-24 10:23:21 -05:00
Raymond Hill
be9e7fd11c Code review related to the early blocking of network requests at launch 2018-12-24 08:56:35 -05:00
Raymond Hill
fe595bb2b9 Import translation work from https://crowdin.com/project/ublock 2018-12-24 08:11:20 -05:00
Raymond Hill
8680790c85 make Firefox dev build auto-update 2018-12-23 18:25:35 -05:00
Raymond Hill
a038c8658f Attempt to fix build script for Firefox 2018-12-23 18:19:16 -05:00
Raymond Hill
4d540f3ffa Import translation work from https://crowdin.com/project/ublock 2018-12-23 18:04:21 -05:00
Raymond Hill
9a521c5fdb New revision for dev build 2018-12-23 18:02:00 -05:00
Raymond Hill
41548be6be Move early blocking of requests out of experimental status on Firefox
Related issues:
- https://github.com/gorhill/uBlock/issues/2067
- https://github.com/uBlockOrigin/uBlock-issues/issues/128

Related mozbug issue:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1503721
2018-12-23 17:59:31 -05:00
Raymond Hill
99cdec5ba6 Informal code review to tidy up logger buffer fetching implementation 2018-12-23 15:35:32 -05:00
Raymond Hill
ddee2bff13 Import translation work from https://crowdin.com/project/ublock 2018-12-23 14:26:49 -05:00
Raymond Hill
6ac0c66813 Left-align text in "type" column in the logger
Feedback in related issue:
- https://github.com/gorhill/uBlock/issues/3654#issuecomment-449649399
2018-12-23 14:12:14 -05:00
Raymond Hill
d528f3811a Use version number in the filename of packages 2018-12-23 10:16:08 -05:00
Raymond Hill
f1567ee272 Prevent spurious wrapping of text in logger's expression picker
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/351
2018-12-23 09:18:37 -05:00
Raymond Hill
e2d1f50dd8 Normalize Adguard's plain cosmetic filters disguised as style-based filters
Reported by https://github.com/uBlock-user in
https://github.com/orgs/uBlockOrigin/teams/ublock-issues-volunteers/discussions/56

For some reasons, many cosmetic filters in Adguard's Annoyance List
are plain cosmetic filters disguised as style-based cosmetic filters,
and this was breaking uBO's ability to reverse lookup such filters
from the logger.
2018-12-23 08:58:03 -05:00
Raymond Hill
96fe5f7232 make Firefox dev build auto-update 2018-12-22 17:56:01 -05:00
Raymond Hill
ccfb5f6e00 New revision for dev build 2018-12-22 17:03:34 -05:00
Raymond Hill
13ce898e52 Import translation work from https://crowdin.com/project/ublock 2018-12-22 15:53:26 -05:00
Raymond Hill
91144c4edc Allow creating broad cosmetic filters directly from the picker
Using the Ctrl key while cliking an element on the page will cause
the picker to choose a broad cosmetic filter as candidate.
2018-12-22 15:44:23 -05:00
Raymond Hill
d574a09784 Make the element picker dialog slowly fade away when made discrete
This fixes the following issues:
- https://github.com/gorhill/uBlock/issues/3449
- https://github.com/uBlockOrigin/uBlock-issues/issues/55
2018-12-22 15:09:38 -05:00
Raymond Hill
69668d27b1 Ensure the text cursor in visible when a CodeMirror editor is resized
Related issues:
- https://github.com/gorhill/uBlock/issues/3706
- https://github.com/gorhill/uBlock/issues/3701
2018-12-22 13:35:46 -05:00
Raymond Hill
cd597709bb Remember cursor position in "My filters" for next visit
Related issue:
- https://github.com/gorhill/uBlock/issues/3706
2018-12-22 13:09:56 -05:00
Raymond Hill
2be36ffe81 Fix bad alignment in comments 2018-12-22 12:26:50 -05:00
Raymond Hill
f3773ef6eb Internationalize CodeMirror's hard-coded tooltips in the "My rules" pane
Related issue:
- https://github.com/gorhill/uBlock/issues/3708

This was brought into the issue above but I ended up forgotting
about it after I focused mostly on the second issue brought up
in there.
2018-12-22 11:55:13 -05:00
Raymond Hill
ba81f79d1b Limit count badges of per-site tools to 99 in the popup panel
This is a revised fix as per feedback in the following issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/279#issuecomment-449531436
2018-12-22 11:19:44 -05:00
Raymond Hill
b9b0c3fba4 Remove the (confusing) "eventful" logger output filtering expression
This will render the following issue obsolete:
- https://github.com/uBlockOrigin/uBlock-issues/issues/349
2018-12-22 08:41:05 -05:00
Raymond Hill
ea3e3b6440 Inject inline-script logger scriptlet at document_end
Feedback from related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/343#issuecomment-449529429
2018-12-22 08:33:42 -05:00
Raymond Hill
35360ce389 make Firefox dev build auto-update 2018-12-21 18:42:35 -05:00
Raymond Hill
a131887a78 New revision for dev build 2018-12-21 18:38:32 -05:00
Raymond Hill
c8fcdedc44 Report inline script tags in logger if present in document
Related issue:
    - https://github.com/uBlockOrigin/uBlock-issues/issues/343
2018-12-21 14:17:47 -05:00
Raymond Hill
e9d76b3575 Report inline script tags in logger if present in document
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/343
2018-12-21 14:16:17 -05:00
Raymond Hill
30093dc990 Remove (broken) benchmark pane 2018-12-21 12:02:23 -05:00
Raymond Hill
610ca2684b Remove (broken) benchmark pane 2018-12-21 12:01:24 -05:00
Raymond Hill
2849dbb805 Fix duplicate entry in URL filtering dialog: https://github.com/gorhill/uBlock/issues/3401 2018-12-21 10:09:29 -05:00
Raymond Hill
21593dbfdd Fix broken link 2018-12-21 08:41:53 -05:00
Raymond Hill
abd5a975ba Further fine tune layout for small screen devices; use SVG for icon
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/348
- https://github.com/uBlockOrigin/uBlock-issues/issues/249
2018-12-21 08:16:24 -05:00
Raymond Hill
aeff011d4c Remove obsolete comment 2018-12-21 07:32:23 -05:00
Raymond Hill
55f2014e8c Fine tune layout fix: https://github.com/uBlockOrigin/uBlock-issues/issues/348 2018-12-21 07:31:11 -05:00
Raymond Hill
01ac7bd28d make Firefox dev build auto-update 2018-12-20 19:03:07 -05:00
Raymond Hill
0ce42fa23d Apply fix to diff code as per http://www.mathertel.de/Diff/DiffTest.aspx?oldfile=Diff.cs.v1&newfile=Diff.cs.v2 2018-12-20 18:57:06 -05:00
Raymond Hill
7637102936 new revision for dev build 2018-12-20 17:51:50 -05:00
Raymond Hill
423deceb01 Import translation work from https://crowdin.com/project/ublock 2018-12-20 17:38:14 -05:00
Raymond Hill
291b08a8e6 Fine tune the space between power button and basic tools 2018-12-20 17:31:56 -05:00
Raymond Hill
3730d7d128 Fix https://github.com/uBlockOrigin/uBlock-issues/issues/40 2018-12-20 17:29:39 -05:00
Raymond Hill
04d17a3d84 Fix missing reload icon in filter creation dialog
Regression from bb737e29d5
2018-12-20 08:57:14 -05:00
Raymond Hill
ef97379e89 Possibly fix https://github.com/uBlockOrigin/uBlock-issues/issues/348, need to confirm with next dev build 2018-12-20 08:52:23 -05:00
Raymond Hill
bfb4ee8b12 make Firefox dev build auto-update 2018-12-19 17:53:48 -05:00
Raymond Hill
8df2296359 new revision for dev build 2018-12-19 17:50:38 -05:00
Raymond Hill
540c311438 Fix https://twitter.com/arneblankerts/status/1075402247725637633, regression @ d3a3505a54 (diff-1c951eedcd0be2e11c02da8fabcc46b5R380) 2018-12-19 17:44:17 -05:00
Raymond Hill
6bc22ab4ba Convert uBO's svg-based icon into a stylable svg symbol-based icon 2018-12-19 16:21:23 -05:00
Raymond Hill
a54a2586af make Firefox dev build auto-update 2018-12-19 14:14:13 -05:00
Raymond Hill
42d337c706 Import translation work from https://crowdin.com/project/ublock 2018-12-19 14:10:54 -05:00
Raymond Hill
769656a33b new revision for dev build 2018-12-19 14:07:39 -05:00
Raymond Hill
bb737e29d5 Revert use of Fontawesome v5; use 4.7 or equivalent: see <>https://github.com/uBlockOrigin/uBlock-issues/issues/249#issuecomment-448587658 2018-12-19 14:05:19 -05:00
Raymond Hill
350c106d41 Add attribution for Fontawesome 5 2018-12-18 18:03:56 -05:00
Raymond Hill
feed1180b9 Import translation work from https://crowdin.com/project/ublock 2018-12-18 17:28:24 -05:00
Raymond Hill
61d95aa60f Move builtin filter expr button inside input field 2018-12-18 17:23:03 -05:00
Raymond Hill
0dcd77d352 Import translation work from https://crowdin.com/project/ublock 2018-12-18 16:52:27 -05:00
Raymond Hill
2b84bdcc83 Improve contextual information for translators 2018-12-18 16:37:07 -05:00
Raymond Hill
f4138fbff5 minor visual fine tuning to popup panel header 2018-12-18 16:24:37 -05:00
Raymond Hill
5dca5285e2 Fix regression introduced in 9b27a98f90 (diff-f7413cbfa6561a980810c682fa4b1a12R638) 2018-12-18 14:00:23 -05:00
Raymond Hill
2e7654d429 Relax semantic of leading/trailing pipes in filter expressions in logger 2018-12-18 13:37:01 -05:00
Raymond Hill
79905aa798 Fix https://github.com/uBlockOrigin/uBlock-issues/issues/279; partially fix https://github.com/uBlockOrigin/uBlock-issues/issues/249 2018-12-18 13:35:44 -05:00
Raymond Hill
99b40df703 new revision for dev build 2018-12-17 14:06:03 -05:00
Raymond Hill
56f7505ad8 Further improve logger along with fixes to specific logger issues
- Add tooltip support (not yet complete):
  https://github.com/gorhill/uBlock/issues/1222
- Add a link to logger documentation:
  https://github.com/gorhill/uBlock/issues/2876#issuecomment-322905413
- Migrate to from fontawesome font to svgs:
  https://github.com/uBlockOrigin/uBlock-issues/issues/249
2018-12-17 13:54:17 -05:00
Raymond Hill
9d756147cf Start work toward fixing https://github.com/uBlockOrigin/uBlock-issues/issues/249 2018-12-17 13:53:24 -05:00
Raymond Hill
dfcd23197d Fix parsing of redirect= option as per 67e06f53b4 (commitcomment-27803901) 2018-12-17 07:46:04 -05:00
Raymond Hill
d65dcbc771 make Firefox dev build auto-update 2018-12-16 15:37:25 -05:00
Raymond Hill
738761ccf3 new revision for dev build 2018-12-16 15:34:17 -05:00
Raymond Hill
b0da5df0a0 include "scripting" in row filterer builtin "script" expression 2018-12-16 15:33:03 -05:00
Raymond Hill
aa50dc00d2 add built-in expressions to logger's row filterer (see #787) 2018-12-16 15:26:38 -05:00
Raymond Hill
ee89f88265 fix https://github.com/uBlockOrigin/uBlock-issues/issues/345 2018-12-16 10:51:25 -05:00
Raymond Hill
8eb7794965 make Firefox dev build auto-update 2018-12-16 09:24:10 -05:00
Raymond Hill
8d3087cdea new revision for dev build 2018-12-16 09:20:09 -05:00
Raymond Hill
d3a3505a54 fix regression in 8f05a2f8d3 (related issue: #3683) 2018-12-16 09:17:26 -05:00
Raymond Hill
08d4604e31 make Firefox dev build auto-update 2018-12-15 12:42:53 -05:00
Raymond Hill
be09ae785d new revision for dev build 2018-12-15 12:26:37 -05:00
Raymond Hill
8214a0b17d Improve tooltip for partyness information in logger 2018-12-15 12:23:13 -05:00
Raymond Hill
261ef8c510 Add support for procedural :not to HTML filtering
Related issue: <https://github.com/gorhill/uBlock/issues/3683>

Additionally, improve compile-time error reporting in the logger
2018-12-15 10:46:17 -05:00
Raymond Hill
01599b9653 make Firefox dev build auto-update 2018-12-14 18:02:38 -05:00
Raymond Hill
90a4bf8362 new revision for dev build 2018-12-14 17:57:44 -05:00
Raymond Hill
d2a7ada0b0 fix https://github.com/uBlockOrigin/uBlock-issues/issues/341 2018-12-14 17:55:22 -05:00
Raymond Hill
8f05a2f8d3 fix https://github.com/uBlockOrigin/uBlock-issues/issues/341, and further work for https://github.com/gorhill/uBlock/issues/3683 2018-12-14 15:25:18 -05:00
Raymond Hill
932c13bfa0 drop deprecated windowType from windows.get() 2018-12-14 14:15:43 -05:00
Raymond Hill
c0aa325f6c new revision for dev build 2018-12-14 11:03:03 -05:00
Raymond Hill
5b7a3c9983 fix https://github.com/uBlockOrigin/uBlock-issues/issues/256; add regex support in logger filter field 2018-12-14 11:01:21 -05:00
Raymond Hill
2f1d319072 code review: don't remember tabless network requests in behind-the-scene scope 2018-12-14 08:47:29 -05:00
Raymond Hill
0364087e11 make Firefox dev build auto-update 2018-12-14 07:08:33 -05:00
Raymond Hill
fc71b9da7a new revision for dev build 2018-12-14 07:04:38 -05:00
Raymond Hill
1d7e3e8f82 fix https://github.com/uBlockOrigin/uBlock-issues/issues/339 2018-12-14 07:03:19 -05:00
Raymond Hill
4648cbdb69 make Firefox dev build auto-update 2018-12-13 12:54:48 -05:00
Raymond Hill
6e86b551cc new revision for dev build 2018-12-13 12:36:27 -05:00
Raymond Hill
9b27a98f90 Fix https://github.com/gorhill/uBlock/issues/3654
Additionally, there has been refactoring work done regarding
filtering context used throughout uBO, motivated by the fix
here.
2018-12-13 12:30:54 -05:00
Raymond Hill
a629dbdd08 make Firefox dev build auto-update 2018-12-08 17:29:11 -05:00
Raymond Hill
f968be9ae9 new revision for dev build 2018-12-08 17:25:24 -05:00
Raymond Hill
90c073882e fix not discarding empty hostnames: 912af3284d (commitcomment-31608689) 2018-12-08 17:23:36 -05:00
gwarser
0f8f999f99 New Polish anti-adblock list (#3747)
* New Polish anti-adblock list

* We already had POL-1

Removed in February 2018
2018-12-08 12:53:40 -05:00
Raymond Hill
5d20013327 fix title 2018-12-08 10:05:45 -05:00
Raymond Hill
7641b2dd80 make Firefox dev build auto-update 2018-12-07 17:33:58 -05:00
Raymond Hill
e2cad2e15d new revision for dev build 2018-12-07 16:51:44 -05:00
Raymond Hill
a34254122a release indexeddb ref when unused; promisify some io code 2018-12-07 16:51:18 -05:00
gwarser
cb9acd7028 fix https://github.com/uBlockOrigin/uBlock-issues/issues/332 (#3746) 2018-12-06 13:29:25 -05:00
Raymond Hill
f3510dd2c7 make Firefox dev build auto-update 2018-12-06 10:55:07 -05:00
Raymond Hill
969900efa5 import translation work from https://crowdin.com/project/ublock 2018-12-06 10:23:49 -05:00
Raymond Hill
2909babdee new revision for dev build 2018-12-06 10:21:33 -05:00
Raymond Hill
3075582c72 fix https://github.com/uBlockOrigin/uBlock-issues/issues/314 2018-12-06 10:18:19 -05:00
Raymond Hill
96703325ea fix https://github.com/uBlockOrigin/uBlock-issues/issues/225 2018-12-06 09:36:41 -05:00
Raymond Hill
f655223779 fix https://github.com/uBlockOrigin/uBlock-issues/issues/292 2018-12-06 09:29:17 -05:00
Raymond Hill
5a7280c46e fix https://github.com/uBlockOrigin/uBlock-issues/issues/311 2018-12-06 09:00:59 -05:00
Raymond Hill
eaa5b4f517 fix https://github.com/uBlockOrigin/uBlock-issues/issues/312 2018-12-06 08:57:24 -05:00
Raymond Hill
ed265e5f68 fix https://github.com/uBlockOrigin/uBlock-issues/issues/331 2018-12-06 08:50:13 -05:00
Raymond Hill
15140e3aa7 make Firefox dev build auto-update 2018-12-05 19:21:23 -05:00
Raymond Hill
e7d4aff2a2 fix https://github.com/uBlockOrigin/uBlock-issues/issues/328 2018-12-05 19:18:20 -05:00
Raymond Hill
0d6a18207a fix https://github.com/uBlockOrigin/uBlock-issues/issues/329 2018-12-05 15:57:41 -05:00
Raymond Hill
98271f6140 cosmetic change to pages' header 2018-12-05 14:48:31 -05:00
Raymond Hill
5c33a57158 fix reported extension error in Chrome 72.0.3622.0
Apparently the "file:///" permission is redundant to the declared
"<all_urls>" permission.
2018-12-05 14:46:35 -05:00
Raymond Hill
097dd296e6 new revision for dev build 2018-12-05 14:44:26 -05:00
Raymond Hill
b548fa4318 clarify which trie version is used in benchmark for large set 2018-12-04 13:32:35 -05:00
Raymond Hill
9946267f93 allow navigating back to benchmarks/tests index page 2018-12-04 13:15:45 -05:00
Raymond Hill
edfe4a33cd fix benchmark/test pages 2018-12-04 13:08:34 -05:00
Raymond Hill
1b6fea16da 3rd-gen hntrie, suitable for large set of hostnames 2018-12-04 13:02:09 -05:00
Raymond Hill
bf28a83e2d code review re cd7b1c0eb4 2018-12-03 08:07:54 -05:00
Raymond Hill
cd7b1c0eb4 fix https://github.com/uBlockOrigin/uBlock-issues/issues/325 2018-12-02 21:41:28 -05:00
Raymond Hill
6ed0a891f0 prepare benchmark for next generation hntrie 2018-12-01 18:24:17 -05:00
1146 changed files with 195692 additions and 51370 deletions

View File

@@ -1,9 +0,0 @@
<--
Do not open issue here.
The official issue tracker for uBlock Origin is at:
https://github.com/uBlockOrigin/uBlock-issues/issues
-->

14
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,14 @@
blank_issues_enabled: false
contact_links:
- 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: 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).

50
.github/workflows/main.yml vendored Normal file
View File

@@ -0,0 +1,50 @@
name: uBO release
on:
create:
branches: master
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@v4
with:
persist-credentials: false
- name: Clone uAssets
run: |
tools/pull-assets.sh
- name: Get release information
run: |
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: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ github.token }}
with:
tag_name: ${{ env.VERSION }}
name: ${{ env.VERSION }}
draft: true
prerelease: true
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,23 +0,0 @@
{
"browser": true,
"devel": true,
"eqeqeq": true,
"esnext": true,
"globals": {
"browser": false, // global variable in Firefox, Edge
"chrome": false, // global variable in Chromium, Chrome, Opera
"Components": false, // global variable in Firefox
"safari": false,
"self": false,
"vAPI": false,
"µBlock": false
},
"laxbreak": true,
"newcap": false,
"nonew": false,
"strict": "global",
"sub": true,
"undef": true,
"unused": true,
"validthis": true
}

View File

@@ -1,18 +0,0 @@
language: ruby
sudo: false
env:
matrix:
- BROWSER=chromium EXT=zip
- BROWSER=firefox EXT=xpi
script: ./tools/make-${BROWSER}.sh all
deploy:
provider: releases
prerelease: true
api_key:
secure: EnAMNsPbnS2I0JDkCWiY/6WLERsUbE2Ni5j9ap8YbZt4+sJv7aSoufWZ+0TZvSwr/w5MKCCDKhwXaPfbUwvqrI+eZv6LBXhwajK9Zla25FVjtdGCwKXQ3ZU85PHgL+5FYtuSGACmQj/ruAdSgrI7PgS08e5lqSgEk6lY4y3/6fE=
file: dist/build/uBlock0.${BROWSER}.${EXT}
skip_cleanup: true
on:
repo: gorhill/uBlock
tags: true
all_branches: 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

290
README.md
View File

@@ -1,185 +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)
***
<h1 align="center">
<sub>
<img src="https://raw.githubusercontent.com/gorhill/uBlock/master/doc/img/icon38@2x.png"
height="38"
width="38">
</sub>
uBlock Origin
</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>
<sup> <!-- Languages -->
<img src="https://raw.githubusercontent.com/gorhill/uBlock/master/doc/img/languageicon-36.png" width="18" height="18">
<sup>
English,
<a href="https://github.com/fang5566/uBlock/blob/master/README.md#ublock-origin">Chinese (中文)</a>,
<a href="https://github.com/delightbot/uBlock/blob/master/README.md#ublock-origin">Korean (한국어)</a>,
<a href="https://github.com/ialexsilva/uBlock/blob/master/README.md#ublock-origin">Português (Brasil)</a>
</sup>
</sup>
<br>
<br>
<sup><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>.</sup>
</p>
[![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]
***
**An efficient blocker add-on for various browsers. Fast, potent, and lean.**
<h1 align="center">
<sub>
<img src="https://github.com/gorhill/uBlock/blob/master/src/img/ublock.svg" height="38" width="38">
</sub>
uBlock Origin (uBO)
</h1>
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), various lists of [malware](http://www.malwaredomainlist.com/) [sites](http://www.malwaredomains.com/), and uBlock Origin's [own filter lists](https://github.com/uBlockOrigin/uAssets/tree/master/filters).
| 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.
***
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.
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.
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)
* [Performance and Efficiency](#performance)
* [Memory](#memory)
* [CPU](#cpu)
* [Blocking](#blocking)
* [Quick tests](#quick-tests)
* [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/38453883-09446c74-3a2b-11e8-9440-dbeb319b0f28.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/38453884-0bb2ac8c-3a2b-11e8-942a-16071cc8f855.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_, _Peter Lowe's Adservers_, _EasyPrivacy_ and _Malware domains_ 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_ enabled by default.
## Performance
#### Memory
<div align="center">
On average, uBlock Origin does make your browser run leaner. <sup>[1]</sup><br><br>
Chromium<br>
<img src="https://cloud.githubusercontent.com/assets/585534/10074141/15f04128-629c-11e5-9155-177fd4909083.png" /><br><br>
Firefox<br>
<img src="https://cloud.githubusercontent.com/assets/585534/10074130/0577118c-629c-11e5-9902-bf367c6a96c3.png" /><br><br>
</div>
<sup>[1] Details of the benchmark available at <a href="https://github.com/gorhill/uBlock/wiki/Firefox-version:-benchmarking-memory-footprint">Firefox version: benchmarking memory footprint</a>.</sup><br>
#### CPU
<p align="center">
uBlock Origin is also easy on the CPU<br>
<img src="https://raw.githubusercontent.com/gorhill/uBlock/master/doc/benchmarks/cpu-usage-overall-chart-20141226.png" /><br>
<sup>Details of the benchmark available in <a href="https://github.com/gorhill/uBlock/blob/master/doc/benchmarks/cpu-usage-overall-20141226.ods">this LibreOffice spreadsheet</a>.</sup>
</p>
#### Blocking
<p align="center">
Being lean and efficient doesn't mean blocking less<br>
<img src="https://raw.githubusercontent.com/gorhill/uBlock/master/doc/benchmarks/privex-201502-16.png" /><br>
<sup>For details of benchmark, see
<a href="https://github.com/gorhill/uBlock/wiki/uBlock-and-others%3A-Blocking-ads%2C-trackers%2C-malwares">uBlock Origin and others: Blocking ads, trackers, malwares</a>.
</p>
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.
Thanks to Debian contributor [Sean Whitton](https://wiki.debian.org/SeanWhitton), users of Debian 9 or later or Ubuntu 16.04 or later may simply
`apt-get install xul-ext-ublock-origin`.
[Manual Installation][Manual Installation]
#### Microsoft Edge
#### Enterprise Deployment
Developer: [@nikrolls](https://github.com/nikrolls).
Stable version available in [Microsoft Store](https://www.microsoft.com/store/p/app/9nblggh444l4).
Development version available at <https://github.com/nikrolls/uBlock-Edge#edge>.
Note that issues specific to the Edge fork are the responsibility of the current maintainer, I have no control over the code base of the fork.
#### Safari (macOS)
Developer: [@el1t](https://github.com/el1t).
Development version available at <https://github.com/el1t/uBlock-Safari#ublock-originfor-safari>.
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 inefficient blockers at the same time (such as AdBlock or Adblock Plus). 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 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

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 to Firefox 56.
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/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, '..'))
cs_extension_id = 'cgbcahbpdhpcegmbfconppldiemgcoii'
tmpdir = tempfile.TemporaryDirectory()
raw_zip_filename = 'uBlock0.chromium.zip'
raw_zip_filepath = os.path.join(tmpdir.name, raw_zip_filename)
github_owner = 'gorhill'
github_repo = 'uBlock'
# 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)
# 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 সক্রিয়/নিষ্ক্রিয় করবে। এটা শুধুমাত্র বর্তমান ওয়েব সাইটে প্রযোজ্য, এটি একটি সার্বজনীন পাওয়ার বোতাম নয়।
ব্যবহার: পপআপে পাওার বাটনটি হলো বর্তমান ওেবসাইটে uBlock কে স্থায়ীভাবে সক্রিয় / নিষ্ক্রিয় করার জন্য। এটা শুধুমাত্র বর্তমান ওয়েব সাইটে প্রযোজ্য, এটি একটি সার্বজনীন পাওয়ার বোতাম নয়।
***
@@ -18,7 +18,7 @@
আপনি যদি চান আপনি নির্বাচন করার জন্য আরো তালিকা পাবেন:
- ফ্যানবয়ের বর্ধিত অনুসরণকরণ তালিকা
- ডেন পোলোকস-এর হোস্ট ফাইল
- Dan Pollocks hosts file
- এইচপিহোস্টসের বিজ্ঞাপন এবং অনুসরণকরণ সার্ভার
- MVPS হোস্টসমূহ
- স্প্যাম৪০৪
@@ -34,7 +34,7 @@
***
বিনামূল্যে।
মুক্তভাবে
পাবলিক লাইসেন্সসহ মুক্ত উৎসের (GPLv3)
ব্যবহারকারীদের দ্বারা ব্যবহারকারীদের জন্য।

47
dist/description/description-bs.txt vendored Normal file
View File

@@ -0,0 +1,47 @@
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 pregled njegove efikasnosti: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
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 trenutačnu web-stranicu, pa nije da ga kompletno isključite.
***
Baš je fleksibilan, nije samo da blokira reklame: može čitati i napraviti filtere iz hosts datoteka.
Odmah po instaliranju, slijedeći spisci filtera su pokrenuti i sprovedeni:
- EasyList
- Peter Lowe-ov popis reklamnih servera
- EasyPrivacy
- Malverske domene
Sljedeće liste su dostupne po odabiru ako ih želite:
- 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, 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, 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 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.
***
Besplatno.
Otvorenog koda sa javnom licencom (GPLv3)
Za korisnike od korisnika.
Saradnici @ Github: https://github.com/gorhill/uBlock/graphs/contributors
Saradnici @ Crowdin: https://crowdin.net/project/ublock
***
Spiska promjena:
https://github.com/gorhill/uBlock/releases

View File

@@ -1,36 +1,36 @@
En effektiv blocker: Bruger kun lidt hukommelse og CPU, men kan alligevel indlæse og anvende langt flere filtre end andre populære blockere.
En effektiv blocker: Forbruger kun lidt hukommelse og CPU, men kan alligevel indlæse og håndhæve tusindvis flere filtre end andre populære blockers.
Illustreret oversigt over effektiviteten: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Illustreret oversigt over dens effektivitet: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Anvendelse: Den store tænd-sluk-knap i pop op-vinduet bruges til permanent at deaktivere/aktivere uBlock på det aktuelle websted. Dette gælder kun for det aktuelle websted; det er ikke en global afbryderknap.
Anvendelse: Den store slå til/fra knap i popup-vinduet benyttes til permanent at deaktivere/aktivere uBlock på det aktuelle websted. Dette gælder kun for det aktuelle websted, det er ikke en global til/fra-knap.
***
Fleksibel og mere end en "ad blocker": den kan også læse og oprette filtre fra hosts-filer.
Fleksibel og mere end en "annonce-blocker": Den kan også læse og oprette filtre fra værtsfiler.
Fra starten bliver disse filterlister indlæst og anvendt:
Helt fra starten indlæses og håndhæves flg. filterlister:
- EasyList
- Peter Lowes Ad server list
- EasyPrivacy
- Malware-domæner
Flere lister er tilgængelige hvis du ønsker det:
Du kan, om ønsket, vælge fra flere tilgængelige lister:
- Fanboys Enhanced Tracking List
- Dan Pollocks hosts fil
-Hphosts's annonce og sporings servere
- Dan Pollocks værtsfil
-Hphosts' annonce- og sporingsservere
- MVPS HOSTS
- Spam404
- Og mange andre
- Og mange flere
Selvfølgelig vil flere aktive filtre betyde højere hukommelsesforbrug. Men selv efter tilføjelse af Fanboys to ekstra lister, samt hpHostss Ad and tracking servers, har uBlock stadig et lavere hukommelsesforbrug end andre meget populære blockere derude.
Jo flere aktive filtre, desto højere hukommelsesforbrug, selvfølgelig. Selv efter tilføjelse af Fanboys to ekstra lister samt hpHosts annonce- og sporingsservere har uBlock imidlertid stadig et lavere hukommelsesforbrug end andre meget populære blockere.
Vær desuden opmærksom på, at hvis du vælger nogle af disse ekstra lister, kan det øge risikoen for, at webstedet ikke bliver vist korrekt især for de lister, der normalt anvendes som hosts-fil.
Vær også opmærksom på, at vælger du nogle af disse ekstra lister, kan det øge risikoen for fejlviste websteder især for de lister, som normalt anvendes som hosts-fil.
***
Uden de forudindstillede lister med filtre er denne udvidelse intet. Hvis du nogensinde virkelig ønsker at bidrage med noget, så tænk på de mennesker der arbejder hårdt for at vedligeholde de filterlister du bruger, som alle blev stillet gratis til rådighed for alle.
Uden forvalgslisterne med filtre er denne udvidelse intet værd. Hvis du nogensinde virkelig ønsker at bidrage med noget, så tænk på de personer, som arbejder hårdt for at vedligeholdede filterlisterne, du benytter - lister, som alle frit kan anvende.
***
@@ -38,12 +38,10 @@ Gratis.
Open source med offentlig licens (GPLv3)
Til brugere, af brugere.
Bidragydere på Github: https://github.com/gorhill/uBlock/graphs/contributors
Bidragydere på Crowdin: https://crowdin.net/project/ublock
Bidragsydere på Github: https://github.com/gorhill/uBlock/graphs/contributors
Bidragsydere på Crowdin: https://crowdin.net/project/ublock
***
Dette er en tidlig version. Hav dette i tankerne når du skriver en anmeldelse.
Projekt ændringslog:
Projektændringslog:
https://github.com/gorhill/uBlock/releases

View File

@@ -1,4 +1,4 @@
Ein effizienter Blocker: Geringer Speicherbedarf und niedrige CPU-Belastung - und dennoch werden Tausende an Filtern mehr angewendet als bei anderen populären Blockern.
Ein effizienter Blocker: Geringer Speicherbedarf und niedrige CPU-Belastung - und dennoch werden tausende Filter mehr angewendet als bei anderen beliebten Blockern.
Ein illustrierter Überblick über seine Effizienz: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
@@ -30,7 +30,7 @@ Bedenke allerdings, dass durch die Wahl zusätzlicher Listen die Wahrscheinlichk
Wenn du etwas beitragen möchtest, dann denke an die Menschen, die hart dafür arbeiten, die von dir benutzten Filterlisten zu pflegen, und diese für uns alle frei verfügbar gemacht haben.
Wenn du etwas beitragen möchtest, dann denke an die Menschen, die hart dafür arbeiten, die von dir benutzten Filterlisten zu pflegen und diese für uns alle frei verfügbar gemacht haben.

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-en_GB.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 pop-up is to permanently disable/enable uBlock for the current website. It applies to the current website 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 website 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 licence (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

@@ -11,7 +11,7 @@ Fleksebla, ĝi estas pli ol "reklamo-blokilo": ĝi ankaŭ povas legi kaj krei fi
Rekte el la kesto, la jenaj filtriloj estas ŝarĝitaj kaj efikigitaj:
- EasyList
- Listo de reklamaj serviloj de Peter Lowe
- Listo de Peter Lowe de reklamaj serviloj
- EasyPrivacy
- Domajnoj kun fiprogramaro

View File

@@ -1,8 +1,8 @@
Un bloqueador eficiente: capaz de cargar y aplicar miles más de filtros en comparación con otros populares bloqueadores, manteniendo un mínimo consumo de memoria y CPU.
Un bloqueador eficiente: capaz de cargar y aplicar miles más de filtros en comparación con otros bloqueadores populares, manteniendo un mínimo consumo de memoria y CPU.
Ejemplo con imágenes ilustrando su eficiencia (en inglés): https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Uso: El botón grande de apagado/encendido en la ventana emergente de la extensión, es para deshabilitar/habilitar uBlock₀ permanentemente en el sitio web actual. Aplica solo al sitio web actual, no activa o desactiva la extensión de forma general.
Uso: El botón grande de apagado/encendido en la interfaz emergente de la extensión, es para deshabilitar/habilitar uBlock₀ permanentemente en el sitio web actual. Aplica solo al sitio web actual, no habilita o deshabilita la extensión de forma general.
***
@@ -13,7 +13,7 @@ Por defecto ya trae configuradas las siguientes listas de filtros:
- EasyList
- Peter Lowes Ad server list
- EasyPrivacy
- Malware domains
- Online Malicious URL Blocklist
Otras listas disponibles pueden ser seleccionadas, si se desea:
@@ -24,13 +24,13 @@ Otras listas disponibles pueden ser seleccionadas, si se desea:
- Spam404
- Y muchas más
Por supuesto, mientras más filtros se activen, mayor será el consumo de memoria. No obstante, incluso después de agregar las dos listas adicionales de "Fanboy's" y la "hpHostss Ad and tracking servers", uBlock₀ consume menos memoria que otros bloqueadores similares.
Por supuesto, mientras más filtros se habiliten, mayor será el consumo de memoria. No obstante, incluso después de añadir las dos listas adicionales de "Fanboy" y la "hpHostss Ad and tracking servers", uBlock₀ consume menos memoria que otros bloqueadores similares.
También tenga en cuenta que seleccionar algunas de estas listas adicionales puede conducir a una mayor probabilidad de aparición de problemas al mostrar un sitio web -- especialmente las listas utilizadas normalmente como archivo hosts.
También se debe tomar en cuenta que seleccionar algunas de estas listas adicionales puede conducir a una mayor probabilidad de aparición de problemas al mostrar un sitio web -- especialmente las listas utilizadas normalmente como archivo hosts.
***
Sin las listas preestablecidas de filtros, esta extensión no sería nada. Así que si alguna vez realmente quieres aportar algo, piensa en las personas que trabajan duro para mantener estas listas de filtros, disponibles de forma gratuita para todos.
Sin las listas de filtros preestablecidas, esta extensión no sería nada. Así que si alguna vez realmente quieres aportar algo, piensa en las personas que trabajan duro para mantener estas listas de filtros, disponibles de forma gratuita para todos.
***

View File

@@ -2,11 +2,11 @@
بررسی تصویری از کارایی این محصول: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
روش استفاده: دکمۀ قدرت بزرگ در پنجرۀ بالاپَر برای فعال یا غیرفعال کردن دائمی یوبلاک برای وب‌سایت فعلی می‌باشد. این فقط برای همین سایت اعمال میشود، این دکمه ی قدرتی برای تمام سایت ها نیست.
روش استفاده: دکمه ی پاور بزرگ در پنجرۀ بالاپَر برای فعال یا غیرفعال کردن دائمی یوبلاک برای وب‌سایت فعلی می‌باشد. این فقط برای همین سایت اعمال میشود، این دکمه ی پاور برای تمام سایت ها نیست.
***
انعطاف پذیری آن بیشتر از "ad blocker" است: این یکی همچنین می تواند فیلتر‌هایی را از فایل‌های هاست‌های میزبان، خوانده و بسازد.
انعطاف پذیر، بیشتر از یک "ad blocker" است: همچنین می تواند فیلتر‌هایی را از فایل‌های هاست‌های میزبان، خوانده و بسازد.
بیرون از جعبه، این لیست فیلترها بارگذاری و اجرا میشوند:

View File

@@ -1,4 +1,4 @@
Isang episyenteng blocker: magaan sa memorya at CPU footprint, pero naka-loload at nag-eenforce ng libo-libong mga filters kaysa sa mga ibang sikat na blockers.
Isang episyenteng blocker: magaan sa memorya at CPU footprint, ngunit nakakapag-loload at nakakapag-enforce ng libo-libong mga filters kumpara sa mga ibang sikat na blockers.
Isinalarawan pangkalahatang-ideya ng kahusayan ng uBlock:
https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared

View File

@@ -1,14 +1,14 @@
uBlock₀ est un bloqueur efficace de publicités et de pisteurs; utilisant peu de mémoire vive & de ressources du processeur, il est pourtant capable de charger & d'appliquer des milliers de filtres de plus que d'autres bloqueurs populaires.
uBlock₀ est un bloqueur efficace de publicités et de pisteurs. Utilisant peu de mémoire vive et de ressources du processeur, il est pourtant capable d'appliquer des milliers de filtres de plus que d'autres bloqueurs populaires.
Consultez cette page en Anglais pour avoir une vue d'ensemble illustrée de son efficacité : https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Consultez cette page en anglais pour avoir une vue d'ensemble illustrée de son efficacité : https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Utilisation : Le gros bouton "Power" dans la fenêtre pop-up permet de désactiver/activer en permanence uBlock₀ pour le site Web en cours de consultation. Cela s'applique uniquement au site Web actuel, ce n'est pas un bouton "Power" global.
***
Flexible, uBlock₀ n'est pas qu'un simple bloqueur de publicités, il peut également lire et créer des filtres depuis des fichiers hosts.
Flexible, uBlock₀ n'est pas qu'un simple bloqueur de publicités. Il peut également lire et créer des filtres depuis des fichiers hosts.
Par défaut, ces listes de filtrage sont chargées et appliquées :
Par défaut, ces listes de filtres sont chargées et appliquées :
- EasyList (Liste anti-publicités maintenue fréquemment à jour par la communauté)
- Peter Lowes Ad server list (Liste de serveurs publicitaires maintenue à jour par Peter Lowe)
@@ -19,12 +19,12 @@ Davantage de listes sont disponibles si vous souhaitez renforcer le blocage :
- Fanboys Enhanced Tracking List (Liste de protection avancée contre le pistage maintenue à jour par Fanboy)
- Dan Pollocks hosts file (Fichier hosts bloquant publicités, domaines malveillants et autres pisteurs, maintenue fréquemment à jour par Dan Pollock)
- hpHostss Ad and tracking servers (Fichier hosts bloquant des serveurs publicitaires & des serveurs de pistage, maintenue à jour par hpHosts)
- hpHostss Ad and tracking servers (Fichier hosts bloquant des serveurs publicitaires et des serveurs de pistage, maintenue à jour par hpHosts)
- MVPS HOSTS (Fichier Hosts bloquant publicités, domaines malveillants et autres pisteurs, maintenue à jour par MVPS)
- Spam404 (Liste de protection contre les spams, maintenue fréquemment à jour par la communauté)
- Et de nombreuses autres
- Et de nombreuses autres listes
Bien évidemment, plus vous activez de filtres, plus l'empreinte mémoire augmentera. Pourtant, même après avoir ajouté deux listes supplémentaires crées par Fanboy et le fichier hosts d'hpHosts, uBlock₀ utilise moins de mémoire vive que tous les autres bloqueurs populaires.
Bien évidemment, plus vous activez de filtres, plus l'empreinte mémoire augmentera. Pourtant, même après avoir ajouté deux listes supplémentaires créées par Fanboy et le fichier hosts d'hpHosts, uBlock₀ utilise moins de mémoire vive que tous les autres bloqueurs populaires.
Veuillez tout de même prendre en compte qu'utiliser certaines listes supplémentaires peut conduire à quelques incompatibilités sur les sites Web que vous visitez - en particulier les fichiers hosts.
@@ -38,10 +38,10 @@ Gratuit.
Source libre sous licence publique GPLv3
Conçu par des utilisateurs pour des utilisateurs.
Contributeurs sur Github: https://github.com/gorhill/uBlock/graphs/contributors
Contributeurs sur Crowdin: https://crowdin.net/project/ublock
Contributeurs sur GitHub : https://github.com/gorhill/uBlock/graphs/contributors
Contributeurs sur Crowdin : https://crowdin.net/project/ublock
***
Consultez ici en Anglais le Journal des changements concernant le projet :
Journal des changements du projet (en anglais) :
https://github.com/gorhill/uBlock/releases

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

@@ -34,7 +34,7 @@
***
חינם.
תוכנה חופשית.
קוד פתוח עם רשיון ציבורי (GPLv3)
בשביל המשתמשים על ידי המשתמשים.

View File

@@ -1,41 +1,41 @@
एक कुशल अवरोधक: स्मृति और सीपीयू पदचिह्न पर आसान है, और अभी तक लोड और हजारों लागू वहाँ से बाहर अन्य लोकप्रिय ब्लॉकर्स और अधिक से अधिक फिल्टर कर सकते हैं
एक बेहतर ब्लॉकर : एक बेहतर ब्लॉक कर जो मेमोरी और सीपीयू पर ज्यादा जोर नहीं देता, और जो हजारों फिल्टरों को आसानी से लोड करके और लागू कर सकता है दूसरे लोकप्रिय ब्लॉकरों से
अपनी क्षमता का सचित्र अवलोकन: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
अपनी काबिलियत का ओवरव्यू: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
उपयोग: पॉपअप में बड़ी शक्ति बटन स्थायी रूप से अक्षम / वर्तमान वेब साइट uBlock लिए सक्षम है। यह केवल मौजूदा वेब साइट पर लागू होता है, यह एक वैश्विक शक्ति बटन नहीं है।
इस्तेमाल: बड़ा पावर बटन पॉपअप uBlock को मौजूदा वेबसाइट में बंद या चालू करने के लिए है। यह सिर्फ मौजूदा वेब साइट पर लागू होता है, यह एक ग्लोबल पावर बटन नहीं है।
***
लचील, यह एक केवल "विज्ञापन अवरोधक" की तुलना से अधिक है: यह भी पढ़ सकता हैं और मेजबान फाइलों से फिल्टर बना सकत है
लचील, यह एक "एडब्लॉकर" से ज्यादा है: यह होस्ट फाइलों को और फिल्टरों को पढ़ और बना सकत है।
Out of the box, these lists of filters are loaded and enforced:
इंस्टॉल करते ही इन फिल्टरों को लोड और लागू किया जाएगा:
- आसान सूची
- Peter Lowe's विज्ञापन सर्वर सूची
- आसान गुप्तता
- मैलवेयर डोमेन
- EasyList
- Peter Lowe's एड सर्वर सूची
- EasyPrivacy
- Malware domains
यदि आप चाहें तो आप का चयन करने के लिए और अधिक सूची उपलब्ध हैं
अगर आप चाहें तो चुनने के लिए और भी सूचियाँ उपलब्ध हैं:
- Fanboy's बढ़ी ट्रैकिंग सूची
- Dan Pollock's मेजबानाइल
- hpHosts's विज्ञापन और ट्रैकिंग सर्वर
- MVPS मेज़बान
-स्पैम404
- Fanboy कि बढ़ी ट्रैकिंग सूची
- Dan Pollock कि होस्ट फाइल
- hpHosts कि एड और ट्रैकिंग सर्वर
- MVPS हॉस्ट्स
- Spam404
- और बहुत सारे
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.
बेशक, ज्यादा फिल्टर्स मतलब ज्यादा मेमोरी फुटप्रिंट। फिर भी, Fanboy की दो और सूचियों, hpHosts के विज्ञापन और ट्रैकिंग सर्वरों को जोड़ने के बाद, uBlock में अभी भी दूसरे लोकप्रिय ब्लॉकर्स की तुलना में कम मेमोरी फ़ुटप्रिंट है।
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.
बिना प्रीसेट फिल्टर सूचियों के, यह एक्सटेंशन कुछ भी नहीं है। इसलिए अगर आप कभी सचमुच में कुछ योगदान करना चाहते हैं, तो उन लोगों के बारे में सोचें जो आपके द्वारा इस्तेमाल की जा रही फ़िल्टर सूचियों को बनाए रखने के लिए कड़ी मेहनत कर रहे हैं, जिन्हें मुफ्त में सभी को इस्तेमाल करने के लिए उपलब्ध कराया गया है।
***
नि: शुल्क।
Open source with public license (GPLv3)
ओपन-सोर्स पब्लिक लाइसेंस के साथ (GPLv3)
उपयोगकर्ताओं द्वारा उपयोगकर्ताओं के लिए।
योगदानकर्ताओं @ Github: https://github.com/gorhill/uBlock/graphs/contributors
@@ -45,5 +45,5 @@ Open source with public license (GPLv3)
It's quite an early version, keep this in mind when you review.
Project change log:
प्रोजेक्ट परिवर्तन लॉग:
https://github.com/gorhill/uBlock/releases

47
dist/description/description-hy.txt vendored Normal file
View File

@@ -0,0 +1,47 @@
Արդյունավետ արգելափակիչ. չի ծանրաբեռնում մշակիչը և օպերատիվ հիշողությունը, միևնույն ժամանակ աջակցում է հազարներով ավելի շատ զտիչիեր, քան այլ հանրաճանաչ արգելափակիչները։
Դրա արդյունավետության պատկերազարդ ակնարկ՝ https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Օգտագործումը. ելնող լուսամուտի հոսանքի մեծ կոճակը ծառայում է ընթացիկ կայքի համար uBlock-ն անջատելու/միացնելու համար։ Դա ընդհանուր հոսանքի կոճակ չէ, այլ վերաբերում է միայն ընթացիկ կայքին։
***
Ճկուն, ավելին, քան պարզապես «գովազդի արգելափակիչ». uBlock֊ն կարող է կարդալ և ստեղծել զտիչներ հոսթ-նիշքերից։
Լռելյայն կբեռնվեն և կկիրառվեն զտիչների հետևյալ ցանկերը՝
- EasyList
- Գովազդի սպասարկիչների ցանկ Փիթեր Լոուից
- EasyPrivacy
- Վնասակար տիրույթներ
Ցանկության դեպքում կկարողանաք ընտրել մատչելի այլ ցանկեր՝
- Հետագծող սպասարկիչների ընդլայնված ցանկ Fanboy-ից
Dan Pollock-ի hosts նիշքը
- Գովազդային և հետագծման սպասարկիչներ hpHosts-ից
- MVPS HOSTS
- Spam404
- Եվ բազում այլ
Իհարկե, որքան շատ զտիչներ են միացված, այնքան բարձր է հիշողության օգտագործումը։ Այնուամենայնիվ, նույնիսկ Fanboy-ի երկու լրացուցիչ ցանկերը, hpHosts-ի գովազդային և հետագծող սպասարկիչներն ավելացնելուց հետո, uBlock֊ն ավելի քիչ է գործածում հիշողությունը, քան շատ սիրված այլ արգելափակիչները։
Նաև նկատի ունեցեք, որ լրացուցիչ ցանկերից մի քանիսը կարող են հանգեցնել կայքի կոտրման մեծ հավանականության, հատկապես այն ցանկերի, որոնք սովորաբար օգտագործվում են որպես hosts նիշք։
***
Առանց զտիչների նախադրված ցուցակների այս ընդլայնումը ոչինչ է։ Այնպես որ, եթե դուք իսկապես ցանկանում եք ներդրում ունենալ, մտածեք այն մարդկանց մասին, ովքեր ջանասիրաբար աշխատում են զտիչների ցանկերի վրա, որոնք տրամադրվում են անվճար օգտագործման համար։
***
Անվճար։
Բաց ելակետային կոդ հրապարակավ թույլատրագրով (GPLv3)։
Օգտվողներին օգտվողների կողմից։
Աջակցողները Github-ում՝ https://github.com/gorhill/uBlock/graphs/contributors
Աջակցողները Crowdin-ում՝ https://crowdin.net/project/ublock
***
Փոփոխությունների մատյան՝
https://github.com/gorhill/uBlock/releases

View File

@@ -15,7 +15,7 @@ Langsung bekerja, daftar filter berikut ini dimuat dan dijalankan:
- EasyPrivacy
- Domain malware
Jika anda ingin, masih banyak tersedia daftar lain untuk anda pilih:
Jika Anda ingin, masih banyak tersedia daftar lain untuk Anda pilih:
- Daftar Pelacakan Fanboy yang DItingkatkan
- Berkas host Dan Pollock
@@ -30,7 +30,7 @@ Perlu diketahui juga bahwa memilih beberapa daftar ekstra juga berpeluang lebih
***
Tanpa daftar filter yang ada, ekstensi ini bukanlah apa-apa. Jadi, jika Anda benar-benar ingin berkontribusi sesuatu, berpikirlah tentang orang-orang yang bekerja keras mengelola daftar filter yang anda gunakan, yang dibuat dan tersedia untuk digunakan oleh semua dengan gratis.
Tanpa daftar filter yang ada, ekstensi ini bukanlah apa-apa. Jadi, jika Anda benar-benar ingin berkontribusi sesuatu, berpikirlah tentang orang-orang yang bekerja keras mengelola daftar filter yang Anda gunakan, yang dibuat dan tersedia untuk digunakan oleh semua dengan gratis.
***

View File

@@ -34,7 +34,7 @@ Senza queste liste di filtri, questa estensione non è niente. osì se vuoi cont
***
Gratuito.
Libero.
Open source with public license (GPLv3)
Fatto dagli utenti per gli utenti.
@@ -43,7 +43,5 @@ Collaboratori @ Crowdin: https://crowdin.net/project/ublock
***
Questa è una versione preliminare, ricordalo quando scriverai una recensione.
Per leggere le novità di ogni versione consulta questa pagina (In Inlgese):
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

View File

@@ -24,17 +24,17 @@
-സ്പാ404
-കൂടാതെ മറ്റ് അനവധി
തീര്‍ച്ചയായും, കൂടുതല്‍ ഫില്‍ട്ടറുകള്‍ എനേബിള്‍ ചെയ്യുംതോറും മെമ്മറി ഉപഭോഗം കൂടുന്നതാണ്. 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.
ഫിൽട്ടറുകളുടെ പ്രീസെറ്റ് ലിസ്റ്റുകൾ ഇല്ലാതെ, ഈ വിപുലീകരണം ഒന്നുമല്ല. അതിനാൽ നിങ്ങൾ എപ്പോഴെങ്കിലും എന്തെങ്കിലും സംഭാവന ചെയ്യാൻ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, നിങ്ങൾ ഉപയോഗിക്കുന്ന ഫിൽട്ടർ ലിസ്റ്റുകൾ പരിപാലിക്കാൻ കഠിനമായി പരിശ്രമിക്കുന്ന ആളുകളെക്കുറിച്ച് ചിന്തിക്കുക, അവ എല്ലാവർക്കും സ use ജന്യമായി ഉപയോഗിക്കാൻ ലഭ്യമാക്കി.
***
Free.
സൗ ജന്യം
ഓപ്പണ്‍‌സോഴ്സ് പബ്ലിക്‌ ലൈസന്‍സ് (ജിപിഎല്വി3)
ഉഭയോക്താക്കള്‍ക്ക്‌ ഉഭയോക്താക്കളില്‍ നിന്നും.

View File

@@ -11,9 +11,9 @@ Fleksibel, uBlock er mer enn en "reklameblokkerer": uBlock kan også lese og opp
Som standard er disse filterlistene lastet og i bruk:
- EasyList
- Peter Lowe's Ad server list
- Peter Lowes Ad server list
- EasyPrivacy
- Malware domains
- Online Malicious URL Blocklist
Flere lister er tilgjengelige om ønskelig:
@@ -30,7 +30,7 @@ Vær også oppmerksom på at å velge noen av disse ekstra listene kan lede til
***
Uten de forhåndsgitte filterlistene er denne utvidelsen ubrukelig. Så hvis du ønsker å bidra med noe, tenk på folkene som arbeider hardt for å opprettholde filterlistene du bruker, som blir gjort tilgjengelige for alle - helt gratis.
Hvis du virkelig ønsker å bidra med noe, tenk på folkene som arbeider hardt for å opprettholde filterlistene du bruker, som blir gjort tilgjengelige for alle - helt gratis.
***

49
dist/description/description-oc.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

@@ -13,7 +13,7 @@ Po zainstalowaniu są wczytywane i stosowane następujące listy filtrów:
EasyList
Peter Lowes Ad server list
EasyPrivacy
Malware domains.
Online Malicious URL Blocklist
Można wybrać więcej list filtrów:

View File

@@ -1,12 +1,12 @@
Эффективный блокировщик: не нагружает процессор и оперативную память, может загружать и применять больше фильтров, чем другие популярные блокировщики.
Эффективный блокировщик: не нагружает процессор и оперативную память, поддерживает больше фильтров, чем другие популярные блокировщики.
Иллюстрированный обзор его эффективности: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Использование: Большая кнопка питания в выпадающем окне служит для выключения/включения uBlock для текущего сайта. Это неглобальная кнопка, она применяется только для текущего сайта.
Использование: Большая кнопка питания в выпадающем окне служит для выключения/включения uBlock для текущего сайта. Это не глобальная кнопка, она применяется только для текущего сайта.
***
Будучи гибким, это нечто большее, чем просто «блокировщик рекламы»: он также может считывать и создавать фильтры из хост-файлов.
Гибкий, больше, чем просто «блокировщик рекламы»: uBlock может читать и создавать фильтры из хост-файлов.
По умолчанию будут загружены и применены следующие списки фильтров:
@@ -24,13 +24,13 @@
- Spam404
- И многие другие
Разумеется, чем больше включено фильтров, тем больше будет использовано памяти. Тем не менее, даже после добавления двух экстра списков от Fanboy, рекламных и отслеживающих серверов от hpHosts, uBlock₀ всё ещё потребляет меньше памяти, чем другие популярные блокировщики.
Разумеется, чем больше включено фильтров, тем больше будет использовано памяти. Тем не менее, даже после добавления двух дополнительных списков от Fanboy, рекламных и отслеживающих серверов от hpHosts, uBlock потребляет меньше памяти, чем другие популярные блокировщики.
Также имейте в виду, что некоторые их этих списков имеют высокую вероятность поломать веб-сайт, особенно те, что созданы из хост-файлов.
Также имейте в виду, что некоторые из этих списков имеют высокую вероятность поломать веб-сайт, особенно те, что созданы из хост-файлов.
***
Без предустановленных списков фильтров это расширение — ничто. Так что, если вы действительно хотите внести свой вклад, подумайте о людях, усердно поддерживающих списки фильтров, предоставленные Вам для бесплатного использования.
Без предустановленных списков фильтров это расширение — ничто. Так что, если вы действительно хотите внести свой вклад, подумайте о людях, усердно поддерживающих списки фильтров, предоставленные вам для бесплатного использования.
***

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

View File

@@ -1,4 +1,4 @@
Një bllokues efikas: me impakt të vogël te memorja dhe procesori, por mund të hapë dhe të zbatojë mijëra filtra më shumë sesa bllokuesit e tjerë të njohur.
Një bllokues efikas: me impakt të vogël te memoria dhe procesori, por mund të hapë dhe të zbatojë mijëra filtra më shumë sesa bllokuesit e tjerë të njohur.
Përmbledhje e ilustruar e efikasitetit të tij: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
@@ -6,7 +6,7 @@ Përdorimi: Çelësi i komandimit te dritarja e vogël e bën uBlock përherë j
***
Është fleksibël dhe jo thjesht një "bllokues reklamash": mund të lexojë dhe të krijojë filtra nga skedat "hosts".
Është fleksibël dhe jo thjesht një "bllokues reklamash": mund të lexojë dhe të krijojë filtra nga skedat "hosts".
Filtrat e listuar këtu hapen dhe zbatohen pas instalimit:
@@ -24,9 +24,9 @@ Po të doni, ka edhe shumë lista të tjera të gatshme:
- Spam404
- Dhe shumë të tjera
Sigurisht që sa më shumë filtra të aktivizoni, aq më i madh do të jetë impakti te memorja. Edhe sikur të shtoni dy listat e tjera të Fanboy, hpHostss Ad and tracking servers, uBlock përsëri ka impakt më të ulët te memorja sesa bllokuesit e tjerë shumë të njohur.
Sigurisht që sa më shumë filtra të aktivizoni, aq më i madh do të jetë impakti te memoria. Edhe sikur të shtoni dy listat e tjera të Fanboy, hpHostss Ad and tracking servers, uBlock përsëri ka impakt më të ulët te memoria sesa bllokuesit e tjerë shumë të njohur.
Por, kujdes, sepse duke përzgjedhur disa prej këtyre listave, gjasat që faqet të shfaqin probleme do të jenë më të mëdha -- sidomos listat që normalisht përdoren si skeda "hosts".
Por, kujdes, sepse duke përzgjedhur disa prej këtyre listave, gjasat që faqet të shfaqin probleme do të jenë më të mëdha -- sidomos listat që normalisht përdoren si skeda "hosts".
***

View File

@@ -3,7 +3,7 @@ En effektiv blockerare: lätt på minne och CPU-fotavtryck, som ändå kan ladda
Illustrerad översikt av dess effektivitet:
https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Användning: Den stora strömbrytarikonen i poppupprutan är till för att avaktivera/aktivera uBlock₀ på den aktuella webbplatsen permanent. Detta gäller enbart för den aktuella webbplatsen, det är inte en global strömbrytare.
Användning: Den stora strömbrytaren i popup-rutan är tillför att permanent inaktivera/aktivera uBlock för den aktuella webbplatsen. Detta gäller enbart för den aktuella webbplatsen, det är inte en global strömbrytare.
***
@@ -19,15 +19,15 @@ Som standard är följande filterlistor laddade och tillämpade:
Fler filterlistor finns tillgängliga att använda om du vill:
- Fanboys Enhanced Tracking List
- Dan Pollocks hosts file
- Dan Pollocks hosts-fil
- hpHosts reklam- och spårarservrar
- MVPS HOSTS
- Spam404
- med flera
Ju fler aktiverade filter, desto högre minnesfotavtryck. Men även efter att ha lagt till Fanboys två extra filterlistor och hpHosts reklam- och språrarservrar, använder uBlock mindre minnesfotavtryck än andra populära blockare.
Givetvis gör fler aktiverade filter att minnesanvändningen blir högre. Även efter att ha lagt till Fanboys två extra filterlistor och hpHosts reklam- och spårarservrar, använder ändå uBlock mindre minnesanvändning än andra populära reklamblockerare.
Tänk på att genom att aktivera vissa av dessa extra filterlistor finns det större risk att webbplatser går sönder - särskilt de listor som i normala fall används som hosts-filer.
Tänk på att genom att aktivera vissa av dessa extra filterlistor finns det större risk att webbplatser går sönder -- särskilt de listor som i normala fall används som hosts-fil.
***

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

View File

@@ -1,49 +1,52 @@
An efficient blocker: easy on memory and CPU footprint, and yet can load and enforce thousands more filters than other popular blockers out there.
ஒரு திறமையான தடுப்பான்: நினைவகம் மற்றும் CPU தடம் எளிதானது, ஆனால் அங்குள்ள பிற பிரபலமான தடுப்பான்களைக் காட்டிலும் ஆயிரக்கணக்கான வடிப்பான்களை ஏற்றலாம் மற்றும் செயல்படுத்தலாம்.
Illustrated overview of its efficiency: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
அதன் செயல்திறனைப் பற்றிய விளக்கமான கண்ணோட்டம்: 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.
பயன்பாடு: தற்போதைய வலைத்தளத்திற்கான uBlock ஐ நிரந்தரமாக முடக்க / இயக்குவதே பாப்அப்பில் உள்ள பெரிய ஆற்றல் பொத்தான். இது தற்போதைய வலைத்தளத்திற்கு மட்டுமே பொருந்தும், இது உலகளாவிய சக்தி பொத்தான் அல்ல.
***
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.
- ஃபான்பாயின் மேம்படுத்தப்பட்ட கண்காணிப்பு பட்டியல்
- டான் பொல்லாக் ஹோஸ்ட்கள் கோப்பு
- hpHosts இன் விளம்பரம் மற்றும் கண்காணிப்பு சேவையகங்கள்
- எம்விபிஎஸ் ஹோஸ்ட்ஸ்
- ஸ்பேம் 404
- மற்றும் பலர்
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.
நிச்சயமாக, அதிகமான வடிப்பான்கள் இயக்கப்பட்டன, நினைவக தடம் அதிகமாகும். இருப்பினும், ஃபான்பாயின் இரண்டு கூடுதல் பட்டியல்களான hpHosts இன் விளம்பரம் மற்றும் கண்காணிப்பு சேவையகங்களைச் சேர்த்த பிறகும், uBlock இன்னும் பிரபலமான பிற தடுப்பான்களைக் காட்டிலும் குறைந்த நினைவக தடம் உள்ளது.
மேலும், இந்த கூடுதல் பட்டியல்களில் சிலவற்றைத் தேர்ந்தெடுப்பது வலைத்தள உடைப்புக்கான அதிக வாய்ப்புக்கு வழிவகுக்கும் என்பதை அறிந்து கொள்ளுங்கள் - குறிப்பாக அந்த பட்டியல்கள் பொதுவாக ஹோஸ்ட்கள் கோப்பாகப் பயன்படுத்தப்படுகின்றன.
***
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.
இலவசம்.
பொது உரிமத்துடன் திறந்த மூல (GPLv3)
பயனர்களால் பயனர்களுக்கு.
Contributors @ Github: https://github.com/gorhill/uBlock/graphs/contributors
Contributors @ Crowdin: https://crowdin.net/project/ublock
பங்களிப்பாளர்கள் @ கிதுப்: https://github.com/gorhill/uBlock/graphs/contributors
பங்களிப்பாளர்கள் @ க்ரவுடின்: 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-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,4 +1,4 @@
Etkili bir engelleyici: Belleği ve işlemciyi yormaz, yine de diğer popüler engelleyicilere göre binlerce daha çok süzgeci yükleyip uygulayabilir.
Etkili bir engelleyici: Belleği ve işlemciyi yormaz, yine de diğer popüler engelleyicilere göre binlerce daha çok filtreyi yükleyip uygulayabilir.
Verimliliğine örneklendirilmiş genel bakış:
https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
@@ -7,14 +7,14 @@ Kullanımı: Arayüzdeki büyük güç düğmesi o anki web sitesinde, uBlock'u
***
Esnek, bir "reklam engelleyici"den daha fazlası: Ayrıca alan adları dosyalarınızdan süzgeçleri okuyabilir ve oluşturabilir.
Esnek, bir "reklam engelleyici"den daha fazlası: Ayrıca alan adları dosyalarınızdan filtreleri okuyabilir ve oluşturabilir.
Hazır olarak şu süzgeç listeleri yüklüdür ve uygulanır:
Hazır olarak, şu filtre listeleri yüklüdür ve uygulanır:
- EasyList
- Peter Lowe'un reklam sunucu listesi
- Peter Lowe'un Reklam sunucu listesi
- EasyPrivacy
- Zararlı alan adları
- Malware domains
İsterseniz seçebileceğiniz daha fazla liste var:
@@ -23,21 +23,21 @@ Hazır olarak şu süzgeç listeleri yüklüdür ve uygulanır:
- hpHosts'un Reklam ve izleyici sunucuları
- MVPS HOSTS
- Spam404
- Ve daha başkaları
- Ve diğer birçoğu
Elbette, daha çok süzgeç etkinleştirildikçe, bellek kullanımı da artar. Yine de, Fanboy'un iki ekstra listesi, hpHosts'un reklam ve izleyici sunucuları ekledikten sonra bile uBlock diğer oldukça popüler engelleyicilere göre daha az bellek kullanır.
Tabii ki, ne kadar çok filtre etkinleştirilirse, bellek kullanımı da o kadar yüksek olur. Yine de, Fanboy'un iki ekstra listesi, hpHosts'un reklam ve izleyici sunucuları ekledikten sonra bile uBlock diğer oldukça popüler engelleyicilere göre daha az bellek kullanır.
Ayrıca, bazı ekstra listelerin seçilmesinin web sitelerinin bozulması olasılığını artırabileceğini unutmayın -- özellikle normalde alan adları dosyası olarak kullanılan listelerin.
***
Ön yüklü gelen süzgeç listeleri olmadan, bu eklenti bir işe yaramaz. Bu yüzden, gerçekten bir şekilde katkıda bulunmak isterseniz, herkesin özgürce kullanması için sunulan kullandığınız süzgeç listelerini oluşturmak için uğraşan insanları düşünün.
Ön ayarlı filtre listeleri olmadan, bu eklenti bir işe yaramaz. Bu yüzden, gerçekten bir şeylerle katkıda bulunmak isterseniz, herkesin özgürce kullanması için sunulan kullandığınız filtre listelerini sürdürmek için uğraşan insanları düşünün.
***
Özgür.
ık kaynak kamu lisanslı (GPLv3)
Kullanıcılardan kullanıcılara.
Kullanıcılar tarafından kullanıcılar için.
Katkıda bulunanlar @ Github: https://github.com/gorhill/uBlock/graphs/contributors
Katkıda bulunanlar @ Crowdin: https://crowdin.net/project/ublock

52
dist/description/description-ur.txt vendored Normal file
View File

@@ -0,0 +1,52 @@
ایک زبردست اشتہارات کو روکنے والا سافٹویئر. کم میموری اور cpu استعمال کرتا ہے مگر کام بہترین کرتا ہے.
اس کا بہترین اور پراثر کام کرنے کی تصاویر:
https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
ہدایات: بڑا آن/ آف کا بٹن دبا کر آپ موجودہ ویب سائٹ پر uBlock کو فعال یا غیر فعال کر سکتے ہیں. یہ بٹن صرف موجودہ ویب سائٹ کے لئے ہے، باقی ویب سائٹس کو اس سے کوئی فرق نہیں پڑے گا.
***
Flexible, it's more than an "ad blocker": it can also read and create filters from hosts files.
یہ والے فلٹر پہلے سے لاگو ہوں گے:
- 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
جتنے زیادہ فلٹر لگائیں گے اتنی زیادہ میموری لے گا. 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.
***
مفت.
اوپن سورس عوامی لائسنس(جی.پی.ایل ورژن ٣) کے ساتھ
عوام کے لیے، عوام کا بنایا ہوا.
معاونین کی فہرست Github پر دیکھیں:
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.
پراجیکٹ میں ترقیاتی کام کا ریکارڈ:
https://github.com/gorhill/uBlock/releases

View File

@@ -41,7 +41,7 @@ https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Github 上的贡献者们:
https://github.com/gorhill/uBlock/graphs/contributors
Crowdin 上的贡献者们:
Crowdin 上的翻译者们:
https://crowdin.net/project/ublock
***

View File

@@ -1,4 +1,4 @@
一個高效率的阻擋器:使用不多的記憶體以及 CPU 資源,卻能比其他熱門的阻擋器多載入並執行數以千計的過濾規則。
一個高效率的阻擋器:uBO 使用不多的記憶體 (RAM) 以及 CPU 資源,卻能比其他熱門的阻擋器多載入並執行數以千計的過濾規則。
效能比較示意圖https://github.com/gorhill/uBlock/wiki/%C2%B5Block-vs.-ABP:-efficiency-compared
@@ -39,7 +39,7 @@
獻給所有人。
貢獻者 @ Github: https://github.com/gorhill/uBlock/graphs/contributors
貢獻者 @ Crowdin: https://crowdin.net/project/ublock
翻譯者 @ Crowdin: https://crowdin.net/project/ublock
***

View File

@@ -1,303 +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)
extension_id = 'uBlock0@raymondhill.net'
tmpdir = tempfile.TemporaryDirectory()
raw_xpi_filename = 'uBlock0.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.firefox.signed.xpi'
signed_xpi_filepath = os.path.join(tmpdir.name, signed_xpi_filename)
github_owner = 'gorhill'
github_repo = 'uBlock'
# 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)
# 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['applications']['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
#
print('Ask AMO to sign self-hosted xpi package...')
with open(unsigned_xpi_filepath, 'rb') as f:
amo_api_key = input_secret('AMO API key', 'amo_api_key')
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=180),
}
jwt_auth = 'JWT ' + jwt.encode(jwt_payload, amo_secret).decode()
headers = { 'Authorization': 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']
# TODO: use real time instead
countdown = 180 / 5
while True:
sys.stdout.write('.')
sys.stdout.flush()
time.sleep(5)
countdown -= 1
if countdown <= 0:
print('Error: AMO signing timed out')
exit(1)
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))
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')
exit(1)
if not signing_check_response['files'] or len(signing_check_response['files']) == 0:
continue
if not signing_check_response['files'][0]['signed']:
print('Error: AMO signing failed')
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))
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', 'master'])
print('All done.')

View File

@@ -1,14 +1,17 @@
{
"addons": {
"uBlock0@raymondhill.net": {
"updates": [
{
"version": "1.17.3.105",
"applications": { "gecko": { "strict_min_version": "52" } },
"update_info_url": "https://github.com/gorhill/uBlock/releases/tag/1.17.3rc5",
"update_link": "https://github.com/gorhill/uBlock/releases/download/1.17.3rc5/uBlock0.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,14 +0,0 @@
{
"addons": {
"uBlock0@raymondhill.net": {
"updates": [
{
"version": "$ext_version",
"applications": { "gecko": { "strict_min_version": "52" } },
"update_info_url": "https://github.com/gorhill/uBlock/releases/tag/$tag_version",
"update_link": "https://github.com/gorhill/uBlock/releases/download/$tag_version/uBlock0.firefox.signed.xpi"
}
]
}
}
}

2
dist/version vendored
View File

@@ -1 +1 @@
1.17.4
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

Some files were not shown because too many files have changed in this diff Show More