Compare commits

...

6016 commits

Author SHA1 Message Date
Raymond Hill
3703f5efb8
New version for stable release 2026-03-10 20:42:16 -04:00
Raymond Hill
d92b6f315f
Update main.yml 2026-03-06 09:30:05 -05:00
Raymond Hill
8f544e53bc
New revision for dev build 2026-02-24 08:59:17 -05:00
Raymond Hill
b230effdbc
Update changelog 2026-02-24 08:55:51 -05:00
Raymond Hill
98d3e9500a
Improve json-edit-related scriptlets 2026-02-24 08:50:41 -05:00
Raymond Hill
f1689a9ab3
Make Firefox dev build auto-update 2026-02-16 10:24:19 -05:00
Raymond Hill
a85fc33ce8
Import translaetion work from https://crowdin.com/project/ublock 2026-02-11 18:05:25 -05:00
Raymond Hill
8d9832b4d6
[mv3] Remove "Steven Black’s Unified Hosts" list
Related feedback:
https://github.com/uBlockOrigin/uAssets/issues/17917#issuecomment-3876123107
2026-02-10 12:10:26 -05:00
Raymond Hill
2b63dcdcb6
[mv3] Force register content scripts when none are found
Possibly will fix cases of no content scripts found in Safari.

Related issue:
https://github.com/uBlockOrigin/uAssets/issues/30158#issuecomment-3869144473
2026-02-09 09:25:57 -05:00
Raymond Hill
aedaa97867
Import translation work from https://crowdin.com/project/ublock 2026-02-08 14:24:17 -05:00
Raymond Hill
93577ecca1
[mv3] Fix removeparam conversion
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/30636
2026-02-08 09:56:25 -05:00
Raymond Hill
60a1b43d71
New revision for dev build 2026-02-07 11:50:41 -05:00
Raymond Hill
51c1b4a6ec
Update changelog 2026-02-07 11:50:20 -05:00
Raymond Hill
baffd32dab
Improve trusted-create-html scriptlet 2026-02-07 11:46:57 -05:00
Raymond Hill
2ce376cf1d
Improve prevent-fetch scriptlet
Related discussion:
https://github.com/uBlockOrigin/uAssets/issues/30731
2026-02-07 11:13:29 -05:00
Raymond Hill
efc59a2fc8
Revert "[mv3][safari] Bring back "AdGuard/uBO – URL Tracking Protection""
This reverts commit c7ff0f8c42.
2026-02-03 18:00:40 -05:00
Raymond Hill
c7ff0f8c42
[mv3][safari] Bring back "AdGuard/uBO – URL Tracking Protection"
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/476
2026-02-03 17:38:15 -05:00
Raymond Hill
1ec05d4c0a
[mv3][safari] Remove image from removeparam
Revert https://github.com/gorhill/uBlock/commit/7aff7da77d for Safari.
2026-02-02 11:06:18 -05:00
Raymond Hill
916d2af99f
New revision for dev build 2026-02-01 10:57:37 -05:00
Raymond Hill
ac017e7664
Update changelog 2026-02-01 10:57:02 -05:00
Raymond Hill
a8ad95394d
Fix handling of extraMatch parameter in trusted-click-element scriptlet
Related feedback:
https://old.reddit.com/r/uBlockOrigin/comments/1qry49n/
2026-02-01 10:54:34 -05:00
Raymond Hill
719798329b
Fix misleading tooltip
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3934
2026-01-31 13:34:46 -05:00
Raymond Hill
d1877d448b
Import translation work from https://crowdin.com/project/ublock 2026-01-31 13:32:56 -05:00
Raymond Hill
0901e9b660
New revision for dev build 2026-01-30 11:16:07 -05:00
Raymond Hill
c00849befa
Update changelog 2026-01-30 11:15:49 -05:00
Raymond Hill
7d95c58408
Improve generateContentFn helper scriptlet
New directive: `join:[separator][sub-directives]`

[separator] is an author-defined two-character string to be used to split
the following sub-directives string. The sub-directives are fed back into
the helper scriptlet to generate sub-content, which will be joined into
a single string. Example:

...##+js(trusted-prevent-fetch, propstomatch, join:--length:10-20--[some literal content]--length:80-100-- push['ads'])
2026-01-30 11:05:57 -05:00
Raymond Hill
359cb070eb
[mv3] Fix minor regression in reported troubleshooting info 2026-01-29 08:38:53 -05:00
Raymond Hill
7aff7da77d
[mv3] Add image to generic removeparam filters
Related discussion:
https://github.com/uBlockOrigin/uBOL-home/issues/140#issuecomment-3817666188
2026-01-29 08:26:29 -05:00
Raymond Hill
9b4f41df94
[mv3] Improve conversion of removeparam filters to DNR rules
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/140
2026-01-28 12:10:50 -05:00
Raymond Hill
2a0842f177
Update changelog 2026-01-26 10:13:38 -05:00
Raymond Hill
552761ec0c
New revision for dev build 2026-01-26 10:12:20 -05:00
Raymond Hill
168394440c
Improve prevent-xhr scriptlet 2026-01-26 10:11:05 -05:00
Raymond Hill
84434e0e7e
Update changelog 2026-01-25 15:59:26 -05:00
Raymond Hill
d383966044
New revision for dev build 2026-01-25 15:58:17 -05:00
Raymond Hill
18a8fc7675
Improve proxyApplyFn helper scriptlet 2026-01-25 15:57:21 -05:00
Raymond Hill
976d12d048
New stable release version 2026-01-25 15:06:42 -05:00
Raymond Hill
08b7eafd26
Import translation work from https://crowdin.com/project/ublock 2026-01-25 13:38:42 -05:00
Raymond Hill
9f0c55fccb
[mv3] Minor change for when side-loaded 2026-01-23 12:31:06 -05:00
Raymond Hill
c6de97ceb7
[mv3] Add to troubleshooting info 2026-01-21 15:40:01 -05:00
Raymond Hill
f36dd3461b
[mv3] Fix regex in regex substitution rules
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/594
2026-01-21 09:40:35 -05:00
Raymond Hill
d44a1ddf2a
Make Firefox dev build auto-update 2026-01-19 09:16:52 -05:00
Raymond Hill
d136c08710
Import translation work from https://crowdin.com/project/ublock 2026-01-18 12:23:17 -05:00
Raymond Hill
f4c3c823fb
Rename list 2026-01-18 10:29:56 -05:00
Raymond Hill
b74b1a789c
[mv3] Remove obsolete comment 2026-01-17 13:28:25 -05:00
Raymond Hill
222f4fbbc1
[mv3] Fix equality test between two rulesets
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/591
2026-01-17 13:19:51 -05:00
Raymond Hill
61f30ea1fb
New revision for release candidate 2026-01-14 12:45:19 -05:00
Raymond Hill
3eeaca4e2d
Update changelog 2026-01-14 12:44:54 -05:00
Raymond Hill
b8bf0bbab4
Add adthrive shim 2026-01-14 12:30:58 -05:00
Raymond Hill
2ec2610f36
[mv3] Add "Liste AR" to stock rulesets
Related discussion:
https://github.com/uBlockOrigin/uBOL-home/discussions/582
2026-01-14 12:00:58 -05:00
Anton Lazarev
c8b42ea819
add elem.shadowRoot fallback in getShadowRoot 2026-01-12 17:30:20 -08:00
Raymond Hill
161cc473a2
[mv3] Fine tune busy state of popup panel 2026-01-11 14:00:58 -05:00
Raymond Hill
dfeb4e79ed
[mv3] Show spinner when filtering mode change takes long
Related issue:
https://github.com/uBlockOrigin/uBOL-home/discussions/583

If the filtering mode change takes more than a second, a spinner
covering the whole popup panel will appear until the browser
API calls complete.
2026-01-11 13:26:16 -05:00
Raymond Hill
3c1c84df50
Import translation work from https://crowdin.com/project/ublock 2026-01-11 13:17:45 -05:00
Raymond Hill
5e9b662024
[mv3] Removing multiple keys is supported 2026-01-10 12:49:17 -05:00
Raymond Hill
c8004c4b02
Fix merging of uncommitted filters
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3912
2026-01-10 12:38:27 -05:00
Raymond Hill
41ced43f03
Improve urlskip implementation
Support multiple instances of regex-based steps.

Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3914
2026-01-10 12:36:47 -05:00
Raymond Hill
74b838cc03
Import translation work from https://crowdin.com/project/ublock 2026-01-04 11:37:19 -05:00
Raymond Hill
329e99fd19
[mv3] Fix regression in conversion of removeparam filters
`removeparam` filters with `important` option must have higher priority
than `allow` filters.
2026-01-04 09:07:48 -05:00
Raymond Hill
f6048a0804
[mv3] Fix class collision 2026-01-03 09:21:10 -05:00
Raymond Hill
e55811bbf9
[mv3] Need to setup scriptlet details only once 2026-01-01 13:15:44 -05:00
Raymond Hill
e6a44b5f95
Update makefile 2026-01-01 13:15:12 -05:00
Raymond Hill
f26135940d
New revision for release candidate 2025-12-31 10:56:49 -05:00
Raymond Hill
b71a2fcf74
Update changelog 2025-12-31 10:56:22 -05:00
Raymond Hill
3f3d4768b6
Improve set-attr/trusted-set-attr scriptlets
Related discussion:
https://github.com/uBlockOrigin/uAssets/issues/31323#issuecomment-3701471598
2025-12-31 08:49:09 -05:00
Raymond Hill
e0fcb8485a
Import translation work from https://github.com/gorhill/uBlock 2025-12-30 15:44:20 -05:00
Raymond Hill
9b45333e0d
[mv3] Fix "Proceed" button not working in strict-block page
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/576
2025-12-30 15:36:42 -05:00
Raymond Hill
3c7eb3497d
Improve trusted-create-html scriptlet 2025-12-30 10:29:40 -05:00
Raymond Hill
c8c29faab4
Import translation work from https://crowdin.com/project/ublock 2025-12-29 10:01:40 -05:00
Raymond Hill
79453f3c1e
New revision for release candidate 2025-12-29 09:58:16 -05:00
Raymond Hill
230f5653a0
Update changelog 2025-12-29 09:57:04 -05:00
Raymond Hill
675ae7b5af
[mv3] Add easylist ai suggestions to stock lists
Related PR:
https://github.com/gorhill/uBlock/pull/3947
2025-12-29 09:46:08 -05:00
Raymond Hill
3cea60be0f
Fix i18n issue in strict-block page 2025-12-28 10:15:08 -05:00
Raymond Hill
85f587162f
[mv3] Use parameter name as url filter where possible
Related issue:
https://github.com/uBlockOrigin/uBOL-home/discussions/575
2025-12-28 09:48:20 -05:00
Raymond Hill
41dd3bf5f2
[mv3] Support removing multiple keys 2025-12-28 09:21:41 -05:00
Raymond Hill
bda2a50ec8
[mv3] Increase local storage limit beyond 5 MB
Reference:
https://developer.apple.com/documentation/safariservices/assessing-your-safari-web-extension-s-browser-compatibility
2025-12-28 09:09:46 -05:00
Raymond Hill
0101a47d25
[mv3] Try to address Safari's webextensions API issues
1) Reset "seen realms" when modifying enabled rulesets. The "seen
realms" code path is an attempt at mitigating an issue whereas
the DNR rules would not be enforced under certain circumstances.

2) Re-write the scripting manager to always wholly
unregister/register all content scripts instead of only the
differences before/after following a change affecting content
scripts.
2025-12-27 14:12:31 -05:00
Raymond Hill
d3024ac309
Fix easylist AI list entry 2025-12-27 11:09:11 -05:00
Fanboynz
a0a7a99675
Add Anti-AI Suggestions list (#3947) 2025-12-27 11:05:08 -05:00
Raymond Hill
7a69bf06d8
Import translation work from https://crowdin.com/project/ublock 2025-12-27 10:17:51 -05:00
Raymond Hill
4b83b55d8d
Import translation work from https://crowdin.com/project/ublock 2025-12-27 10:16:09 -05:00
Raymond Hill
c4225e9179
Import translation work from https://crowdin.com/project/ublock 2025-12-27 10:14:36 -05:00
Raymond Hill
f7f96140d9
[mv3] Add page-wide spinner when restoring/resetting settings 2025-12-27 10:12:34 -05:00
Raymond Hill
2bb3f8c974
Fix comment 2025-12-27 09:51:22 -05:00
Raymond Hill
df0d21d92e
[mv3] Avoid instantiating regexes by using simple needle first
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/223
2025-12-27 09:45:25 -05:00
Raymond Hill
bb34a4b83b
Unescape unduly escaped | in regex-based domain options
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/31261#issuecomment-3693496669
2025-12-27 09:37:30 -05:00
Raymond Hill
6f8edc3ac6
Improve google-ima.js shim
Add expected keywords.
2025-12-26 12:07:40 -05:00
Raymond Hill
ede231b9c2
Import translation work from https://crowdin.com/project/ublock 2025-12-26 10:51:37 -05:00
Raymond Hill
0bd6d09736
Fix source strings as per feedback 2025-12-26 10:50:26 -05:00
Raymond Hill
e7f91cdd95
Import translation work from https://crowdin.com/project/ublock 2025-12-26 10:47:50 -05:00
Raymond Hill
b253c0bc0b
New revision for dev build 2025-12-26 09:31:42 -05:00
Raymond Hill
5a2905c023
Update changelog 2025-12-26 09:31:21 -05:00
Raymond Hill
c053361d30
Mind id/class changes in generic cosmetic filtering surveyor
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3904
2025-12-26 09:28:26 -05:00
Raymond Hill
024019094f
Fix specifichide option
Related internal feedback:
https://github.com/uBlockOrigin/uBlock-discussions/discussions/964
2025-12-26 09:22:42 -05:00
Raymond Hill
9cf8a0fe7c
Import translation work from https://crowdin.com/project/ublock 2025-12-25 16:36:12 -05:00
Raymond Hill
6063d4f0ad
[mv3] Add ability to reset to default settings 2025-12-25 16:32:38 -05:00
Raymond Hill
37d995eeac
Import translation work from https://crowdin.com/project/ublock 2025-12-25 16:27:35 -05:00
Raymond Hill
377cf9d86b
[mv3] Add support for regex-based extended filters
Related issues:
- https://github.com/uBlockOrigin/uBOL-home/issues/223
- https://github.com/uBlockOrigin/uAssets/issues/31261
2025-12-25 12:34:21 -05:00
peace2000
8ad61208e7
reference link update (#3941) 2025-12-25 12:25:36 -05:00
Raymond Hill
cd558406b3
Make Firefox dev build auto-update 2025-12-24 08:36:32 -05:00
Raymond Hill
81448c3ca7
Import translation work from https://crowdin.com/project/ublock 2025-12-23 11:06:19 -05:00
Raymond Hill
c975fbb9d7
[mv3] Mind id/class attribute changes in generic cosmetic filterer
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3904
2025-12-23 10:51:15 -05:00
Raymond Hill
00b79d9023
Use new locally-maintained "URL Tracking Protection" list 2025-12-22 14:34:43 -05:00
Raymond Hill
4e0f47f11a
[mv3] Mind anscestor hostnames when evaluating host permissions
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/569
2025-12-21 11:16:25 -05:00
Raymond Hill
dba33dd71d
New revision for dev build 2025-12-18 09:08:14 -05:00
Raymond Hill
375a6c2166
Update changelog 2025-12-18 09:07:15 -05:00
Raymond Hill
1977196abe
Improve prevent-addEventListener scriptlet 2025-12-18 09:03:36 -05:00
Raymond Hill
af7b975840
New revision for dev build 2025-12-17 14:33:16 -05:00
Raymond Hill
cbf24a40b6
Fix soft regression in scriptlets proxying fetch()
Related commit:
https://github.com/gorhill/uBlock/commit/13612d1d29

Related issue:
https://github.com/uBlockOrigin/uAssets/issues/30158
2025-12-17 12:49:27 -05:00
Raymond Hill
abe9cdbef7
Fix typo in console output
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3901
2025-12-17 11:35:46 -05:00
Raymond Hill
daccdf5026
Make Firefox dev build auto-update 2025-12-16 08:32:14 -05:00
Raymond Hill
a23561d79e
[mv3] Bypass cosmetic filtering when top context is set to no-filtering
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/20

Specific cosmetic filtering will be bypassed when hostname of top context
matches an entry in the no-filtering set.

This doesn't completely solve the issue:
- The browser platform must support `document.location.ancestorOrigins`
- This solution can't be applied to scriptlets
2025-12-15 16:15:13 -05:00
Raymond Hill
92737bfdfe
New revision for dev build 2025-12-15 14:27:44 -05:00
Raymond Hill
2234d8aad2
Fix regression in prevent-fetch scriptlet
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/31169
2025-12-15 09:51:21 -05:00
Raymond Hill
baee6dcaca
Import translation work from https://crowdin.com/project/ublock 2025-12-14 16:05:26 -05:00
Raymond Hill
3855c5a648
[mv3] Fix garbage collection-related code 2025-12-14 10:26:50 -05:00
Raymond Hill
621ad89c64
[mv3] Better validate hostnames in "Filtering mode details" editor
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/564
2025-12-12 09:48:40 -05:00
Raymond Hill
cdfa514c2a
New revision for dev build 2025-12-10 20:23:30 -05:00
Raymond Hill
570a30c5e8
Update changelog 2025-12-10 20:23:06 -05:00
Raymond Hill
6af8a457ed
Add nitropay_ads.js shim
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/30991
2025-12-10 20:21:08 -05:00
Raymond Hill
0fb845d1ac
[mv3] Load specific cosmetic filtering data on-demand only
The cosmetic filtering data embedded in the content scripts has been
extracted in corresponding JSON files. When a list is enabled, the
corresponding cosmetic filtering data from the JSON files, if any, is
persisted into the extension's local storage.

The cosmetic filtering-related content scripts will load the data
from these JSON files on-demand only and matching cosmetic filters
will be extracted, then the result is cached in the session storage,
ensuring there is no longer a need to perform lookup for the rest
of the browser session.

As a result this further reduces the time to First Contentful Paint.

Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/557
2025-12-09 15:32:02 -05:00
Raymond Hill
e036156f3a
[mv3] Sort scriptlet functions
To minimize diff between releases.
2025-12-09 12:58:10 -05:00
Raymond Hill
e7c67d533b
New revision for dev build 2025-12-09 10:54:26 -05:00
Raymond Hill
d864ace50b
Update changelog 2025-12-09 10:53:35 -05:00
Raymond Hill
13612d1d29
Improve scriptlets proxying fetch
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3892
2025-12-09 10:33:20 -05:00
Raymond Hill
d2b680f6bc
Make Firefox dev build auto-update 2025-12-09 09:45:09 -05:00
Raymond Hill
73149e01ff
Make Firefox dev build auto-update 2025-12-09 09:43:47 -05:00
Raymond Hill
74474ebb8d
New revision for dev build 2025-12-08 10:32:54 -05:00
Raymond Hill
1d22781623
Update changelog 2025-12-08 10:32:32 -05:00
Raymond Hill
3fc281adf1
Improve google-ima shim
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/31018
2025-12-08 10:30:41 -05:00
Raymond Hill
5b95c37a46
New revision for dev build 2025-12-07 14:12:29 -05:00
Raymond Hill
d9a6aa53da
Update changelog 2025-12-07 14:11:59 -05:00
Raymond Hill
9584f7797a
Set Firefox minimum version to 115 2025-12-07 14:10:57 -05:00
Raymond Hill
87cb6eb602
Make Firefox dev build auto-update 2025-12-05 09:45:09 -05:00
Raymond Hill
1f8900ec8d
Update submodules 2025-12-05 09:09:22 -05:00
Raymond Hill
0aa0d81caf
[mv3] Re-work specific cosmetic filtering-related content scripts
To minimize delay to First Contentful Paint. The idea is to avoid
complex data structures such as Map in order to speed up first content
script execution. Use stringified arrays where practical and
instanciate those arrays from their stringified representation only
when there are actual cosmetic filters to apply.

Related commit:
https://github.com/gorhill/uBlock/commit/6039ef2b6d
2025-12-05 08:54:34 -05:00
Raymond Hill
6039ef2b6d
[mv3] Generate at most two scriptlet-related files per rulesets
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/557
2025-12-04 12:57:25 -05:00
Raymond Hill
d5793b83f2
Set Firefox minimum version to 115
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3878#discussioncomment-15147836
2025-12-04 06:51:17 -05:00
Raymond Hill
9653f20165
Update submodules 2025-11-30 12:52:34 -05:00
Raymond Hill
967b21415b
Import translation work from https://crowdin.com/project/ublock 2025-11-30 10:42:37 -05:00
Raymond Hill
cd814ee818
[mv3] Improve automatically changing filtering mode
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/554
2025-11-29 09:41:46 -05:00
Raymond Hill
ab3227b8cb
Update changelog 2025-11-28 15:07:25 -05:00
Raymond Hill
be78200c2f
Fix regression in prevent-fetch scriptlet
Related feedback:
https://github.com/uBlockOrigin/uAssets/issues/30954#issuecomment-3589375849
2025-11-28 15:05:53 -05:00
Raymond Hill
95aca83289
Update changelog 2025-11-28 14:35:53 -05:00
Raymond Hill
186f7d1828
New revision for dev build 2025-11-28 14:33:44 -05:00
Raymond Hill
fd12d01928
Add prevent-dialog scriptlet
@scriptlet prevent-dialog

@description
Programmatically close `dialog` elements.

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

@usage:
example.com##+js(prevent-dialog)
2025-11-28 14:32:22 -05:00
Raymond Hill
474723d9ca
[mv3] Improve management of regex-based rules
- Make place for more dynamic regex-based rules when there is a
  risk session regex-based rules could interfere

- Do not prune `allow` strict-block rules as they do not contribute
  toward the overall regex-based rule count

Possibly related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/556
2025-11-28 13:29:59 -05:00
Raymond Hill
015ddcde29
[firefox] Change minimum required version to 128
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3878
2025-11-28 12:53:45 -05:00
Raymond Hill
b983367021
New revision for stable release 2025-11-26 16:23:57 -05:00
Raymond Hill
04ee22713c
Update submodules 2025-11-26 16:21:24 -05:00
Raymond Hill
d2c3d9a33e
Make Firefox dev build auto-update 2025-11-25 10:52:34 -05:00
Raymond Hill
85db7c38c1
[mv3][edge] Reject responseheaders rules only for non-regex rules
Related commit:
a5091488e5
2025-11-23 11:16:16 -05:00
Raymond Hill
cef428e565
Import translation work from https://crowdin.com/project/ublock 2025-11-23 09:27:48 -05:00
Raymond Hill
eae618e7e8
[mv3] Force ltr for troubleshooting info 2025-11-21 10:03:24 -05:00
Raymond Hill
abfdcd6c80
New revision for dev build 2025-11-20 09:34:03 -05:00
Raymond Hill
9d76b9991f
Fix regression in prevent-fetch scriptlet
Related feedback:
https://github.com/uBlockOrigin/uAssets/pull/15692#issuecomment-3558272468
2025-11-20 09:32:54 -05:00
Raymond Hill
42c94d97f9
Make Firefox dev build auto-update 2025-11-20 09:17:41 -05:00
Raymond Hill
64886bd5a5
New revision for dev build 2025-11-17 15:26:19 -05:00
Raymond Hill
fd105b9136
Update changelog 2025-11-17 15:25:52 -05:00
Raymond Hill
b46572e938
Improve prevent-fetch scriptlet
Related issue:
https://github.com/uBlockOrigin/uAssets/pull/15692#issuecomment-3538641262
2025-11-17 15:23:44 -05:00
Raymond Hill
fe958625df
[firefox] Signal that no data collection is required
Related information:
https://extensionworkshop.com/documentation/develop/firefox-builtin-data-consent/
2025-11-17 12:40:04 -05:00
Raymond Hill
95ebd70264
Import translation work from https://crowdin.com/project/ublock 2025-11-16 13:10:53 -05:00
Raymond Hill
d1987f88ee
[mv3] Shorten output in build script 2025-11-14 12:47:28 -05:00
Raymond Hill
d9055b0307
[mv3] Minor code review related to permission changes
Related commit:
801b4679e9
2025-11-14 10:01:09 -05:00
Raymond Hill
d8fb800f30
[mv3][firefox] Fix instanceof quirk; fine tune picker CSS
Related feedback:
https://github.com/uBlockOrigin/uBOL-home/discussions/548
2025-11-14 09:29:28 -05:00
Raymond Hill
801b4679e9
[mv3] Auto reload current tab when permissions granted thru browser
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/526
2025-11-12 12:16:56 -05:00
Raymond Hill
474273ad92
Import translation work from https://crowdin.com/project/ublock 2025-11-10 10:28:12 -05:00
Raymond Hill
89e5f22f37
Make Firefox dev build auto-update 2025-11-10 10:03:18 -05:00
Raymond Hill
77207adb33
New revision for dev build 2025-11-07 20:35:49 -05:00
Raymond Hill
d228ff83a6
Update changelog 2025-11-07 20:35:11 -05:00
Raymond Hill
2e509d42fc
Fix regression in trusted-replace-argument scriptlet 2025-11-07 20:32:30 -05:00
Raymond Hill
16c0f69853
[mv3][safari] Rwrite certain main_frame + regexFilter rules
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/539
2025-11-06 12:23:36 -05:00
Raymond Hill
6314b7f95e
Drop threaded serialization/deserialization 2025-11-06 10:45:42 -05:00
Raymond Hill
7351de08bb
Update submodules 2025-11-05 12:46:18 -05:00
Raymond Hill
e099a40bc8
Update submodules 2025-11-04 17:12:22 -05:00
Raymond Hill
0ca8221fa2
New revision for dev build 2025-11-03 10:27:16 -05:00
Raymond Hill
9849b5f0b1
[mv3] Remove "Custom filters" pane when picker is forbidden
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/536
2025-11-03 09:19:22 -05:00
Raymond Hill
a5091488e5
[mv3][edge] Filter out rules with responseHeaders condition
MS store validator rejects those rules in static rulesets.
2025-11-02 12:55:44 -05:00
Raymond Hill
52fac1ea91
Import translation work from https://crowdin.com/project/ublock 2025-11-02 12:11:28 -05:00
Raymond Hill
a93072533d
Minor improvement of editInboundObjectFn scriptlet 2025-11-02 09:37:38 -05:00
Raymond Hill
694e3f79c7
Update changelog 2025-11-02 09:21:54 -05:00
Raymond Hill
cd0f5be12c
Add web-accessible resource for sensors analytics
Related discussion:
https://github.com/uBlockOrigin/uAssets/issues/30647#issuecomment-3477502513
2025-11-02 09:17:55 -05:00
Raymond Hill
cb5e9c52fe
New revision for dev build 2025-11-01 13:04:53 -04:00
Raymond Hill
7bb4707a12
Update changelog 2025-11-01 13:02:58 -04:00
Raymond Hill
b5f74456a4
Fix custom prefixes unduly assigning trust to external lists
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/issues/3843#issuecomment-3475894380
2025-11-01 13:00:05 -04:00
Raymond Hill
5639b43731
Update changelog 2025-11-01 11:38:41 -04:00
Raymond Hill
53d60ac36c
Improve m3u-prune scriptlet
Related feedback:
https://github.com/uBlockOrigin/uAssets/issues/30633#issuecomment-3475806340
2025-11-01 11:25:06 -04:00
Raymond Hill
b0d51160f2
Update makefile 2025-10-30 09:02:38 -04:00
Raymond Hill
4f5d7c40dc
Make Firefox dev build auto-update 2025-10-29 09:30:09 -04:00
Raymond Hill
2c5ae5113e
Import translation work from https://crowdin.com/project/ublock 2025-10-28 12:24:52 -04:00
Raymond Hill
d80cb4532f
New revision for dev build 2025-10-24 12:34:25 -04:00
Raymond Hill
19dfb7121a
Update changelog 2025-10-24 12:33:59 -04:00
Raymond Hill
60e15cb6e1
Improve prevent-fetch scriptlet
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3828

Ability to set header values for the trusted version of the
scriptlet. Example:

..##+js(trusted-prevent-fetch, target, length:100, '{"headers":{"content-type": "image/png"}}')
2025-10-24 12:26:37 -04:00
Raymond Hill
2e416f51b7
New revision for dev build 2025-10-23 09:17:20 -04:00
Raymond Hill
bec301831f
Update changelog 2025-10-23 09:16:59 -04:00
Raymond Hill
8491e9c476
Fix regex-matching in JSONPath 2025-10-23 09:13:58 -04:00
Raymond Hill
01427bd754
[mv3] Update EST list URLs 2025-10-23 08:50:50 -04:00
Raymond Hill
d6fc057d3b
[mv3] Minor code review 2025-10-23 08:46:33 -04:00
peace2000
83974d4293
New address for Estonian list (#3944) 2025-10-23 08:45:46 -04:00
peace2000
c01f3e597c
New address for Estonian list (#3945) 2025-10-23 08:45:30 -04:00
Raymond Hill
50e898b847
Ignore negated request types when validating redirect option
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3835
2025-10-20 09:14:22 -04:00
Raymond Hill
ae2f4da11f
Import translation work from https://crowdin.com/project/ublock 2025-10-19 10:58:41 -04:00
Raymond Hill
511255f7c7
[mv3] Automatically select optimal for newly allowed hosts
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/456
2025-10-18 10:03:10 -04:00
Raymond Hill
5e2b85d53d
[mv3][safari] Avoid race condition 2025-10-15 12:44:48 -04:00
Raymond Hill
19db28c810
New release version 2025-10-15 10:05:06 -04:00
Raymond Hill
014ea0170e
Import translation work from https://crowdin.com/project/ublock 2025-10-15 10:03:45 -04:00
Raymond Hill
ede6b17060
Import translation work from https://crowdin.com/project/ublock 2025-10-12 12:59:07 -04:00
Raymond Hill
8cc18c1089
[mv3][safari] Force-reload rulesets when new browsing realm is seen
Workaround for Safari-specific issue:
- https://github.com/uBlockOrigin/uBOL-home/issues/515
- https://bugs.webkit.org/show_bug.cgi?id=300236
2025-10-12 12:11:57 -04:00
Raymond Hill
6fb58f8599
[mv3][safari] Minor code review 2025-10-11 15:01:39 -04:00
Raymond Hill
22d2ecc472
[mv3][safari] Workaround for user styles issue with bfcache
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/518
2025-10-11 14:46:35 -04:00
Raymond Hill
f9bb6d7f7e
Improve trusted-click-element scriptlet
Related feedback:
https://github.com/uBlockOrigin/uAssets/discussions/30340
2025-10-10 10:18:16 -04:00
Raymond Hill
04dbfa556b
Make Firefox dev build auto-update 2025-10-09 08:58:13 -04:00
Raymond Hill
1c7b7e435e
[mv3] Improve troubleshooting information 2025-10-08 13:50:26 -04:00
Raymond Hill
4f41880e43
[mv3][safari] No longer discard method=-related DNR rules 2025-10-08 11:49:55 -04:00
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
1088 changed files with 148589 additions and 40856 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-slim
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,24 +0,0 @@
{
"browser": true,
"devel": true,
"eqeqeq": true,
"esversion": 8,
"globals": {
"browser": false, // global variable in Firefox, Edge
"chrome": false, // global variable in Chromium, Chrome, Opera
"log": false,
"safari": false,
"self": false,
"vAPI": false,
"webext": false,
"µBlock": false
},
"laxbreak": true,
"newcap": false,
"nonew": false,
"strict": "global",
"sub": true,
"undef": true,
"unused": true,
"validthis": true
}

View file

@ -1,19 +0,0 @@
language: ruby
sudo: false
env:
matrix:
- BROWSER=chromium EXT=zip
- BROWSER=firefox EXT=xpi
- BROWSER=thunderbird EXT=xpi
script: "./tools/make-${BROWSER}.sh ${TRAVIS_TAG}"
deploy:
provider: releases
prerelease: true
api_key:
secure: ujdEXakLw9fncnI70udUSrRvB0nNUogGr08/eC5UqS4uf5GJ6W6LAB2kNUIn2BaJujQEdYEeH7nFmRKzbqwQs4N1Qm9qOq75zOV6FP/922lSMuPuKB7rXVNRK88WYs/j7g40JEDKEjEYKGa4m3OGnDnywIoKtAsI3kqcCBOe34A=
file: dist/build/uBlock0_${TRAVIS_TAG}.${BROWSER}.${EXT}
skip_cleanup: true
on:
repo: gorhill/uBlock
tags: true
all_branches: true

495
CHANGELOG.md Normal file
View file

@ -0,0 +1,495 @@
- [Improve `json-edit`-related scriptlets](https://github.com/gorhill/uBlock/commit/98d3e9500a)
- [Improve `trusted-create-html` scriptlet](https://github.com/gorhill/uBlock/commit/baffd32dab)
- [Improve `prevent-fetch` scriptlet](https://github.com/gorhill/uBlock/commit/2ce376cf1d)
- [Fix handling of `extraMatch` parameter in `trusted-click-element` scriptlet](https://github.com/gorhill/uBlock/commit/a8ad95394d)
- [Improve `generateContentFn` helper scriptlet](https://github.com/gorhill/uBlock/commit/7d95c58408)
- [Improve `prevent-xhr` scriptlet](https://github.com/gorhill/uBlock/commit/168394440c)
- [Improve `proxyApplyFn` helper scriptlet](https://github.com/gorhill/uBlock/commit/18a8fc7675)
----------
# 1.69.0
- [Add `adthrive` shim](https://github.com/gorhill/uBlock/commit/b8bf0bbab4)
- [Add `elem.shadowRoot` fallback in `getShadowRoot`](https://github.com/gorhill/uBlock/commit/c8b42ea819) (by @antonok-edm)
- [Fix merging of uncommitted filters](https://github.com/gorhill/uBlock/commit/c8004c4b02)
- [Improve `urlskip` implementation](https://github.com/gorhill/uBlock/commit/41ced43f03)
- [Improve `set-attr`/`trusted-set-attr` scriptlets](https://github.com/gorhill/uBlock/commit/3f3d4768b6)
- [Improve `trusted-create-html` scriptlet](https://github.com/gorhill/uBlock/commit/3c7eb3497d)
- [Add Anti-AI Suggestions list](https://github.com/gorhill/uBlock/commit/a0a7a99675) (by @ryanbr)
- [Unescape unduly escaped `|` in regex-based domain options](https://github.com/gorhill/uBlock/commit/bb34a4b83b)
- [Mind id/class changes in generic cosmetic filtering surveyor](https://github.com/gorhill/uBlock/commit/c053361d30)
- [Fix `specifichide` option](https://github.com/gorhill/uBlock/commit/024019094f)
- [Improve `prevent-addEventListener` scriptlet](https://github.com/gorhill/uBlock/commit/1977196abe)
- [Add `nitropay_ads.js` shim](https://github.com/gorhill/uBlock/commit/6af8a457ed)
- [Improve scriptlets proxying `fetch`](https://github.com/gorhill/uBlock/commit/13612d1d29)
- [Improve google-ima shim](https://github.com/gorhill/uBlock/commit/3fc281adf1)
- [[firefox] Change minimum required version to 115](https://github.com/gorhill/uBlock/commit/d5793b83f2)
- [Fix regression in `prevent-fetch` scriptlet](https://github.com/gorhill/uBlock/commit/be78200c2f)
- [Add `prevent-dialog` scriptlet](https://github.com/gorhill/uBlock/commit/fd12d01928)
----------
# 1.68.0
- [Improve `prevent-fetch` scriptlet](https://github.com/gorhill/uBlock/commit/b46572e938)
- [Fix regression in `trusted-replace-argument` scriptlet](https://github.com/gorhill/uBlock/commit/2e509d42fc)
- [Add web-accessible resource for sensors analytics](https://github.com/gorhill/uBlock/commit/cd0f5be12c)
- [Fix custom prefixes unduly assigning trust to external lists](https://github.com/gorhill/uBlock/commit/b5f74456a4)
- [Improve `m3u-prune` scriptlet](https://github.com/gorhill/uBlock/commit/53d60ac36c)
- [Improve `prevent-fetch` scriptlet](https://github.com/gorhill/uBlock/commit/60e15cb6e1)
- [Fix regex-matching in `JSONPath`](https://github.com/gorhill/uBlock/commit/8491e9c476)
- [Ignore negated request types when validating `redirect` option](https://github.com/gorhill/uBlock/commit/50e898b847)
----------
# 1.67.0
- [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) \
notes="See release notes at https://github.com/gorhill/uBlock/releases"
# 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
# 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

253
README.md
View file

@ -1,148 +1,185 @@
[![Build](https://travis-ci.org/gorhill/uBlock.svg?branch=master)](https://travis-ci.org/gorhill/uBlock)
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/ublock/localized.svg)](https://crowdin.com/project/ublock)
[![License](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://github.com/gorhill/uBlock/blob/master/LICENSE.txt)
***
<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)
* [Installation](#installation)
* [Firefox](#firefox)
* [Thunderbird](#thunderbird)
* [Chromium](#chromium)
* [Firefox](#firefox--firefox-for-android)
* [Microsoft Edge](#microsoft-edge)
- [Safari (macOS)](#safari-macos)
* [All Programs](#all-programs)
* [Enterprise Deployment](#enterprise-deployment)
* [Release History](#release-history)
* [Privacy policy](https://github.com/gorhill/uBlock/wiki/Privacy-policy)
* [Wiki](https://github.com/gorhill/uBlock/wiki)
* [Translations](#translations)
* [About](#about)
## Documentation
Basic mode | Advanced-user mode
:----------:|:------------------:
[Popup user interface](https://github.com/gorhill/uBlock/wiki/Quick-guide:-popup-user-interface) | [A point-and-click firewall which can be configured on a per-site basis](https://github.com/gorhill/uBlock/wiki/Dynamic-filtering:-quick-guide)
<a href="https://github.com/gorhill/uBlock/wiki/Quick-guide:-popup-user-interface"><img src="https://user-images.githubusercontent.com/585534/84045360-b10ee580-a976-11ea-9e91-29c2107b47c2.png" /></a><br><sup>.<br>.</sup> | <a href="https://github.com/gorhill/uBlock/wiki/Dynamic-filtering:-quick-guide"><img src="https://user-images.githubusercontent.com/585534/84045366-b1a77c00-a976-11ea-9121-e8c8f35c66c8.png" /></a><br><sup>Configure as you wish:<br>picture shows 3rd-party scripts and frames blocked by default everywhere</sup>
<table>
<thead>
<tr>
<th>Basic Mode</th>
<th>Advanced Mode</th>
</tr>
</thead>
<tbody>
<tr>
<td>The <a href="https://github.com/gorhill/uBlock/wiki/Quick-guide:-popup-user-interface">simple popup user interface</a> for an install-it-and-forget-it type of installation that is configured optimally by default.</td>
<td>The <a href="https://github.com/gorhill/uBlock/wiki/Dynamic-filtering:-quick-guide">advanced popup user interface</a> includes a point-and-click firewall that is configurable on a per-site basis.</td>
</tr>
<tr>
<td align="center" valign="top"><a href="https://github.com/gorhill/uBlock/wiki/Quick-guide:-popup-user-interface"><img src="https://user-images.githubusercontent.com/585534/232531044-c4ac4dd5-0b60-4c1e-aabb-914be04b846c.png"/></a></td>
<td align="center" valign="top"><a href="https://github.com/gorhill/uBlock/wiki/Dynamic-filtering:-quick-guide"><img src="https://user-images.githubusercontent.com/585534/232531439-a8f81cc3-6622-45c4-8b32-7348cecf6e98.png"/></a></td>
</tr>
</tbody>
</table>
Visit the [uBlock Origin's wiki](https://github.com/gorhill/uBlock/wiki) for documentation.
Visit the [Wiki][Wiki] for documentation.
For support/questions/help, there is [/r/uBlockOrigin](https://www.reddit.com/r/uBlockOrigin/) on Reddit.
## Philosophy
uBlock Origin (or uBlock₀) is not an *ad blocker*; it's a general-purpose blocker. uBlock Origin blocks ads through its support of the [Adblock Plus filter syntax](https://adblockplus.org/en/filters). uBlock Origin [extends](https://github.com/gorhill/uBlock/wiki/Filter-syntax-extensions) the syntax and is designed to work with custom rules and filters. Furthermore, advanced mode allows uBlock Origin to work in [default-deny mode](https://github.com/gorhill/uBlock/wiki/Dynamic-filtering:-default-deny), which mode will cause [all 3rd-party network requests](https://requestpolicycontinued.github.io/#what-are-cross-site-requests) to be blocked by default, unless allowed by the user.
That said, it's important to note that using a blocker is **NOT** [theft](https://twitter.com/LeaVerou/status/518154828166725632). Don't fall for this creepy idea. The _ultimate_ logical consequence of `blocking = theft` is the criminalisation of the inalienable right to privacy.
Ads, "unintrusive" or not, are just the visible portions of privacy-invading apparatus entering your browser when you visit most sites nowadays. **uBlock Origin's main goal is to help users neutralize such privacy-invading apparatus** — in a way that welcomes those users who don't wish to use more technical, involved means (such as [uMatrix](https://github.com/gorhill/uMatrix)).
_EasyList_, _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.
For support, questions, or help, visit [/r/uBlockOrigin][Reddit].
## Installation
Feel free to read [about the extension's required permissions](https://github.com/gorhill/uBlock/wiki/Permissions).
[Required Permissions][Permissions]
#### Firefox
[Firefox Add-ons][Mozilla]
[Development Builds][Beta]
uBO [works best][Works Best] on Firefox and is available for desktop and Android versions.
#### Thunderbird
[Thunderbird Add-ons][Thunderbird]
In Thunderbird, uBlock Origin does not affect emails, just feeds.
#### Chromium
You can install the latest version [manually](https://github.com/gorhill/uBlock/tree/master/dist#install), from the [Chrome Web Store](https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm), or from the [Opera add-ons](https://addons.opera.com/extensions/details/ublock/).
[Chrome Web Store][Chrome]
There is also a development version in the Chrome Web Store if you want to test uBlock Origin with the latest changes: see [_uBlock Origin dev build_](https://chrome.google.com/webstore/detail/ublock-origin-dev-build/cgbcahbpdhpcegmbfconppldiemgcoii).
[Microsoft Edge Add-ons][Edge] (Published by [Nicole Rolls][Nicole Rolls] until version 1.62. Ownership transfer at version 1.64.)
It is expected that uBlock Origin is compatible with any Chromium-based browsers.
[Opera Add-ons][Opera]
#### Firefox / Firefox for Android
[Development Builds][Chrome Dev]
[Firefox Add-ons web site](https://addons.mozilla.org/addon/ublock-origin/).
uBO should be compatible with any Chromium-based browser.
There is also a development version if you want to test uBlock Origin with the latest changes: for installation, see [Install / Firefox webext / For beta version](https://github.com/gorhill/uBlock/blob/master/dist/README.md#for-beta-version)
#### All Programs
uBlock Origin is compatible with [SeaMonkey](http://www.seamonkey-project.org/), [Pale Moon](https://www.palemoon.org/), and possibly other browsers based on Firefox: for installation, see [Install / Firefox legacy](https://github.com/gorhill/uBlock/blob/master/dist/README.md#firefox-legacy).
Do **NOT** use uBO with any other content blocker. uBO [performs][Performance] as well as or better than most popular blockers. Other blockers can prevent uBO's privacy or anti-blocker-defusing features from working correctly.
uBO mat also be installable as a [Debian package](https://packages.debian.org/stable/source/ublock-origin):
[Manual Installation][Manual Installation]
- Firefox 56-: `apt-get install xul-ext-ublock-origin`
- Firefox 55+: `apt-get install webext-ublock-origin`
#### Enterprise Deployment
There is no guarantee the package will be available on your specific platform -- in which case, you will have to install from [Firefox Add-ons web site](https://addons.mozilla.org/addon/ublock-origin/).
#### Microsoft Edge
Publisher: [Nik Rolls](https://github.com/nikrolls/uBlock-Edge).
Chromium-based Edge: Stable version available in [Microsoft Edge Add-ons](https://microsoftedge.microsoft.com/addons/detail/odfafepnkmbhccpbejgmiehpchacaeak).
#### Safari (macOS)
Developer: [@el1t](https://github.com/el1t).
Development version available at <https://github.com/el1t/uBlock-Safari#ublock-originfor-safari>.
Warning: It is not possible for extensions like uBlock Origin to work with Safari 13+. See <https://github.com/el1t/uBlock-Safari/issues/158>.
Note that issues specific to the Safari fork are the responsibility of the current maintainer, I have no control over the code base of the fork.
#### Note for all browsers
To benefit from uBlock Origin's higher efficiency, it's advised that you don't use other content blockers at the same time (such as Adblock Plus, AdBlock). uBlock Origin will do [as well or better](#blocking) than most popular ad blockers. Other blockers can also prevent uBlock Origin's privacy or anti-blocker-defusing features from working properly.
#### Deploying
Below is documentation to assist administrators in deploying uBlock Origin:
- [Deploying uBlock Origin](https://github.com/gorhill/uBlock/wiki/Deploying-uBlock-Origin)
- Firefox: [Deploying uBlock Origin for Firefox with CCK2 and Group Policy](http://decentsecurity.com/ublock-for-firefox-deployment/) (external)
- Google Chrome: [Managing Google Chrome with adblocking and security](https://decentsecurity.com/ublock-for-google-chrome-deployment/) (external)
[Deploying uBO][Deployment]
## Release History
See the [releases pages](https://github.com/gorhill/uBlock/releases) for a history of releases and highlights for each release.
[Releases Page][Releases]
## Translations
Help translate uBO via [Crowdin][Crowdin].
## About
[uBlock Origin's manifesto](MANIFESTO.md).
[Manifesto][Manifesto]
Free. Open source. For users by users. No donations sought.
[Privacy Policy][Privacy Policy]
Without the preset lists of filters, this extension is nothing. So if ever you
really do want to contribute something, think about the people working hard
to maintain the filter lists you are using, which were made available to use by
all for free.
[GPLv3 License][License]
You can contribute by helping translate uBlock Origin [on Crowdin](https://crowdin.net/project/ublock).
Free. Open-source. For users by users. No donations sought.
## License
If you ever want to contribute something, think about the people working hard to maintain the filter lists you are using, which are available to use by all for free.
[GPLv3](https://github.com/gorhill/uBlock/blob/master/LICENSE.txt).
<!----------------------------------------------------------------------------->
[Peter Lowe's Blocklist]: https://pgl.yoyo.org/adservers/
[Malicious Blocklist]: https://gitlab.com/malware-filter/urlhaus-filter#malicious-url-blocklist
[Performance]: https://www.debugbear.com/blog/chrome-extensions-website-performance#the-impact-of-ad-blocking-on-website-performance
[EasyPrivacy]: https://easylist.to/#easyprivacy
[Thunderbird]: https://addons.thunderbird.net/thunderbird/addon/ublock-origin/
[Chrome Dev]: https://chromewebstore.google.com/detail/ublock-origin-development/cgbcahbpdhpcegmbfconppldiemgcoii
[EasyList]: https://easylist.to/#easylist
[Mozilla]: https://addons.mozilla.org/addon/ublock-origin/
[Crowdin]: https://crowdin.com/project/ublock
[Chrome]: https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm
[Reddit]: https://www.reddit.com/r/uBlockOrigin/
[Theft]: https://x.com/LeaVerou/status/518154828166725632
[Opera]: https://addons.opera.com/extensions/details/ublock/
[Edge]: https://microsoftedge.microsoft.com/addons/detail/ublock-origin/odfafepnkmbhccpbejgmiehpchacaeak
[NPM]: https://www.npmjs.com/package/@gorhill/ubo-core
[Manifesto]: MANIFESTO.md
[License]: LICENSE.txt
[Nicole Rolls]: https://github.com/nicole-ashley
<!---------------------------------[ Internal ]-------------------------------->
[Manual Installation]: https://github.com/gorhill/uBlock/tree/master/dist#install
[Extended Syntax]: https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#extended-syntax
[Privacy Policy]: https://github.com/gorhill/uBlock/wiki/Privacy-policy
[uBO Filters]: https://github.com/uBlockOrigin/uAssets/tree/master/filters
[Permissions]: https://github.com/gorhill/uBlock/wiki/Permissions
[Commit Rate]: https://github.com/gorhill/uBlock/commits/master
[Works Best]: https://github.com/gorhill/uBlock/wiki/uBlock-Origin-works-best-on-Firefox
[Deployment]: https://github.com/gorhill/uBlock/wiki/Deploying-uBlock-Origin
[Blocking]: https://github.com/gorhill/uBlock/wiki/Blocking-mode
[Releases]: https://github.com/gorhill/uBlock/releases
[Issues]: https://github.com/uBlockOrigin/uBlock-issues/issues
[Beta]: https://github.com/gorhill/uBlock/blob/master/dist/README.md#for-beta-version
[Wiki]: https://github.com/gorhill/uBlock/wiki
<!----------------------------------[ Badges ]--------------------------------->
[Badge Localization]: https://d322cqt584bo4o.cloudfront.net/ublock/localized.svg
[Badge Commits]: https://img.shields.io/github/commit-activity/m/gorhill/ublock?label=Commits
[Badge Mozilla]: https://img.shields.io/amo/rating/ublock-origin?label=Firefox
[Badge License]: https://img.shields.io/badge/License-GPLv3-blue.svg
[Badge Chrome]: https://img.shields.io/chrome-web-store/rating/cjpalhdlnbpafiamejdnhcphjbkeiagm?label=Chrome
[Badge Edge]: https://img.shields.io/badge/dynamic/json?label=Edge&color=brightgreen&query=%24.averageRating&suffix=%2F%35&url=https%3A%2F%2Fmicrosoftedge.microsoft.com%2Faddons%2Fgetproductdetailsbycrxid%2Fodfafepnkmbhccpbejgmiehpchacaeak
[Badge Issues]: https://img.shields.io/github/issues/uBlockOrigin/uBlock-issues
[Badge NPM]: https://img.shields.io/npm/v/@gorhill/ubo-core

87
REMOVED.md Normal file
View file

@ -0,0 +1,87 @@
## Renamed/removed assets
For convenience, list of commits of renamed/removed assets, so that they can be
more easily found.
Use the _Before_ link to browse the repo before the rename/removal of assets.
#### 2022-10-28
Removed:
- ./doc/
Git:
- After: https://github.com/gorhill/uBlock/tree/ba637bb22e48f98383b9f1191a0c30e965475068
- Commit: https://github.com/gorhill/uBlock/commit/ba637bb22e48f98383b9f1191a0c30e965475068
- Before: https://github.com/gorhill/uBlock/tree/6c046ed95cd02d023453c66f766159f6410ae7f7
#### 2022-05-08
Removed:
- ./src/css/popup.css
- ./src/js/popup.js
- ./src/popup.html
Git:
- After: https://github.com/gorhill/uBlock/tree/cef36518edd4d6ca4b3278493cb93329b0833408
- Commit: https://github.com/gorhill/uBlock/commit/cef36518edd4d6ca4b3278493cb93329b0833408
- Before: https://github.com/gorhill/uBlock/tree/cef36518edd4d6ca4b3278493cb93329b0833408
#### 2021-07-16
Moved:
- ./platform/chromium/ => ./platform/common/
Git:
- After: https://github.com/gorhill/uBlock/tree/a4aced69dc814befcbb57ff1cc04bee307f2c131
- Commit: https://github.com/gorhill/uBlock/commit/a4aced69dc814befcbb57ff1cc04bee307f2c131
- Before: https://github.com/gorhill/uBlock/tree/ec7db30b2f4ff492ebc2a87ded28afa74aa50948
#### 2019-09-19
Removed:
- ./platform/safari/*
Git:
- After: https://github.com/gorhill/uBlock/tree/149b5cf59cc760fa98c9753f4b4ec12d4b884d9a
- Commit: https://github.com/gorhill/uBlock/commit/149b5cf59cc760fa98c9753f4b4ec12d4b884d9a
- Before: https://github.com/gorhill/uBlock/tree/917f3620e0c08b722bbd4d400bca2735d9f6975f
#### 2014-11-24
Moved:
- ./meta/crx/ => ./platform/chromium/
Git:
- After: https://github.com/gorhill/uBlock/tree/a430e526b6b72182a07cca94822861da7fbdf77b
- Commit: https://github.com/gorhill/uBlock/commit/a430e526b6b72182a07cca94822861da7fbdf77b
- Before: https://github.com/gorhill/uBlock/tree/266f62914fab3a9ae5d01fa808b9e7a68e948777
#### 2014-11-09
Moved:
- ./*.html => ./src/
- ./*.sh => ./tools/
- ./_locales/ => ./src/_locales/
- ./assets => ./src/assets/
- ./css/ => ./src/css/
- ./img/ => ./src/img/
- ./js/ => ./src/js/
- ./lib/ => ./src/lib/
Git:
- After: https://github.com/gorhill/uBlock/tree/5b79bf353647a4dad9d4968d0f246582744f07bc
- Commit: https://github.com/gorhill/uBlock/commit/5b79bf353647a4dad9d4968d0f246582744f07bc
- Before: https://github.com/gorhill/uBlock/tree/96c4e2e2565ffbd7d413ed7721d9610772b03859

996
assets/assets.dev.json Normal file
View file

@ -0,0 +1,996 @@
{
"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/uBO URL Tracking Protection",
"tags": "privacy",
"contentURL": "https://ublockorigin.github.io/uAssets/filters/privacy-removeparam.txt",
"cdnURLs": [
"https://ublockorigin.github.io/uAssetsCDN/filters/privacy-removeparam.txt",
"https://ublockorigin.pages.dev/filters/privacy-removeparam.txt",
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/privacy-removeparam.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/privacy-removeparam.txt"
],
"supportURL": "https://github.com/uBlockOrigin/uAssets"
},
"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"
},
"fanboy-ai-suggestions": {
"content": "filters",
"group": "annoyances",
"parent": "EasyList Annoyances",
"off": true,
"title": "EasyList AI Widgets",
"tags": "annoyances",
"preferred": true,
"contentURL": "https://ublockorigin.github.io/uAssets/thirdparties/easylist-ai.txt",
"cdnURLs": [
"https://ublockorigin.github.io/uAssetsCDN/thirdparties/easylist-ai.txt",
"https://ublockorigin.pages.dev/thirdparties/easylist-ai.txt",
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/thirdparties/easylist-ai.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/thirdparties/easylist-ai.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://ubo-et.lepik.io/list.txt",
"supportURL": "https://github.com/sander85/uBO-et"
},
"FIN-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇫🇮fi: Adblock List for Finland",
"tags": "ads finnish",
"lang": "fi",
"contentURL": "https://raw.githubusercontent.com/finnish-easylist-addition/finnish-easylist-addition/gh-pages/Finland_adb.txt",
"supportURL": "https://github.com/finnish-easylist-addition/finnish-easylist-addition"
},
"FRA-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇫🇷fr 🇨🇦ca: AdGuard Français",
"tags": "ads french",
"lang": "ar br ff fr kab lb oc son",
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/16.txt",
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"GRC-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇬🇷gr 🇨🇾cy: Greek AdBlock Filter",
"tags": "ads greek",
"lang": "el",
"contentURL": "https://www.void.gr/kargig/void-gr-filters.txt",
"supportURL": "https://github.com/kargig/greek-adblockplus-filter"
},
"HRV-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇭🇷hr 🇷🇸rs: Dandelion Sprout's Serbo-Croatian filters",
"tags": "ads croatian serbian bosnian",
"lang": "bs hr sr",
"contentURL": [
"https://raw.githubusercontent.com/DandelionSprout/adfilt/master/SerboCroatianList.txt",
"https://cdn.jsdelivr.net/gh/DandelionSprout/adfilt@master/SerboCroatianList.txt",
"https://cdn.statically.io/gl/DandelionSprout/adfilt/master/SerboCroatianList.txt"
],
"supportURL": "https://github.com/DandelionSprout/adfilt#readme"
},
"HUN-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇭🇺hu: hufilter",
"tags": "ads hungarian",
"lang": "hu",
"contentURL": "https://cdn.jsdelivr.net/gh/hufilter/hufilter@gh-pages/hufilter-ublock.txt",
"supportURL": "https://github.com/hufilter/hufilter"
},
"IDN-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇮🇩id 🇲🇾my: ABPindo",
"tags": "ads indonesian malay",
"lang": "id ms",
"contentURL": "https://raw.githubusercontent.com/ABPindo/indonesianadblockrules/master/subscriptions/abpindo.txt",
"supportURL": "https://github.com/ABPindo/indonesianadblockrules"
},
"IND-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇮🇳in 🇱🇰lk 🇳🇵np: IndianList",
"tags": "ads assamese bengali gujarati hindi kannada malayalam marathi nepali punjabi sinhala tamil telugu",
"lang": "as bn gu hi kn ml mr ne pa sat si ta te",
"contentURL": "https://easylist-downloads.adblockplus.org/indianlist.txt",
"supportURL": "https://github.com/mediumkreation/IndianList"
},
"IRN-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇮🇷ir: PersianBlocker",
"tags": "ads af ir persian pashto tajik tj",
"lang": "fa ps tg",
"contentURL": [
"https://raw.githubusercontent.com/MasterKia/PersianBlocker/main/PersianBlocker.txt",
"https://cdn.statically.io/gh/MasterKia/PersianBlocker/main/PersianBlocker.txt"
],
"cdnURLs": [
"https://cdn.jsdelivr.net/gh/MasterKia/PersianBlocker@main/PersianBlocker.txt",
"https://cdn.statically.io/gh/MasterKia/PersianBlocker/main/PersianBlocker.txt"
],
"supportURL": "https://github.com/MasterKia/PersianBlocker"
},
"ISL-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇮🇸is: Icelandic ABP List",
"tags": "ads icelandic",
"lang": "is",
"contentURL": "https://raw.githubusercontent.com/brave/adblock-lists/master/custom/is.txt",
"supportURL": "https://github.com/brave/adblock-lists/issues"
},
"ISR-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇮🇱il: EasyList Hebrew",
"tags": "ads hebrew",
"lang": "he",
"contentURL": "https://raw.githubusercontent.com/easylist/EasyListHebrew/master/EasyListHebrew.txt",
"supportURL": "https://github.com/easylist/EasyListHebrew"
},
"ITA-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇮🇹it: EasyList Italy",
"tags": "ads italian",
"lang": "fur it lij sc",
"contentURL": "https://easylist-downloads.adblockplus.org/easylistitaly.txt",
"supportURL": "https://forums.lanik.us/viewforum.php?f=96"
},
"JPN-1": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇯🇵jp: AdGuard Japanese",
"tags": "ads japanese 日本語",
"lang": "ja",
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/7.txt",
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"KOR-1": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇰🇷kr: List-KR",
"tags": "ads korean 한국어",
"lang": "ko",
"contentURL": "https://cdn.jsdelivr.net/gh/List-KR/List-KR@latest/filter-uBlockOrigin.txt",
"supportURL": "https://github.com/List-KR/List-KR#readme"
},
"LTU-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇱🇹lt: EasyList Lithuania",
"tags": "ads lithuanian",
"lang": "lt",
"contentURL": "https://raw.githubusercontent.com/EasyList-Lithuania/easylist_lithuania/master/easylistlithuania.txt",
"cdnURLs": [
"https://cdn.jsdelivr.net/gh/EasyList-Lithuania/easylist_lithuania@master/easylistlithuania.txt",
"https://cdn.statically.io/gh/EasyList-Lithuania/easylist_lithuania/master/easylistlithuania.txt"
],
"supportURL": "https://github.com/EasyList-Lithuania/easylist_lithuania"
},
"LVA-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇱🇻lv: Latvian List",
"tags": "ads latvian",
"lang": "lv",
"contentURL": "https://raw.githubusercontent.com/Latvian-List/adblock-latvian/master/lists/latvian-list.txt",
"supportURL": "https://github.com/Latvian-List/adblock-latvian"
},
"MKD-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇲🇰mk: Macedonian adBlock Filters",
"tags": "ads macedonian",
"lang": "mk",
"contentURL": "https://raw.githubusercontent.com/DeepSpaceHarbor/Macedonian-adBlock-Filters/master/Filters",
"supportURL": "https://github.com/DeepSpaceHarbor/Macedonian-adBlock-Filters"
},
"NLD-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇳🇱nl 🇧🇪be: AdGuard Dutch",
"tags": "ads afrikaans be belgië frisian dutch flemish nederlands netherlands nl sr suriname za",
"lang": "af fy nl",
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/8.txt",
"cdnURLs": null,
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"NOR-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇳🇴no 🇩🇰dk 🇮🇸is: Dandelion Sprouts nordiske filtre",
"tags": "ads norwegian danish icelandic",
"lang": "nb nn no da is",
"contentURL": [
"https://raw.githubusercontent.com/DandelionSprout/adfilt/master/NorwegianList.txt",
"https://cdn.jsdelivr.net/gh/DandelionSprout/adfilt@master/NorwegianList.txt",
"https://cdn.statically.io/gl/DandelionSprout/adfilt/master/NorwegianList.txt"
],
"supportURL": "https://github.com/DandelionSprout/adfilt"
},
"POL-0": {
"content": "filters",
"group": "regions",
"parent": "🇵🇱pl: Oficjalne Polskie Filtry",
"off": true,
"title": "🇵🇱pl: Oficjalne Polskie Filtry do uBlocka Origin",
"tags": "ads polish polski",
"lang": "szl pl _",
"contentURL": "https://raw.githubusercontent.com/MajkiIT/polish-ads-filter/master/polish-adblock-filters/adblock.txt",
"supportURL": "https://github.com/MajkiIT/polish-ads-filter"
},
"POL-3": {
"content": "filters",
"group": "regions",
"parent": "🇵🇱pl: Oficjalne Polskie Filtry",
"off": true,
"title": "🇵🇱pl: CERT.PL's Warning List",
"tags": "malware polish polski",
"lang": "szl pl",
"contentURL": "https://hole.cert.pl/domains/v2/domains_ublock.txt",
"supportURL": "https://cert.pl/lista-ostrzezen/"
},
"ROU-1": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇷🇴ro 🇲🇩md: Romanian Ad (ROad) Block List Light",
"tags": "ads romanian română moldavian moldovenească молдовеняскэ",
"lang": "ro",
"contentURL": [
"https://raw.githubusercontent.com/tcptomato/ROad-Block/master/road-block-filters-light.txt"
],
"supportURL": "https://github.com/tcptomato/ROad-Block"
},
"RUS-0": {
"content": "filters",
"group": "regions",
"parent": "🇷🇺ru 🇺🇦ua 🇺🇿uz 🇰🇿kz: RU AdList",
"off": true,
"title": "🇷🇺ru 🇺🇦ua 🇺🇿uz 🇰🇿kz: RU AdList",
"tags": "ads belarusian беларуская kazakh tatar russian русский ukrainian українська uzbek uk",
"lang": "be kk tt ru uz",
"contentURL": "https://raw.githubusercontent.com/easylist/ruadlist/master/RuAdList-uBO.txt",
"cdnURLs": [
"https://cdn.jsdelivr.net/gh/dimisa-RUAdList/RUAdListCDN@main/lists/ruadlist.ubo.min.txt",
"https://cdn.statically.io/gh/dimisa-RUAdList/RUAdListCDN/main/lists/ruadlist.ubo.min.txt",
"https://raw.githubusercontent.com/dimisa-RUAdList/RUAdListCDN/main/lists/ruadlist.ubo.min.txt"
],
"supportURL": "https://forums.lanik.us/viewforum.php?f=102",
"instructionURL": "https://forums.lanik.us/viewtopic.php?f=102&t=22512"
},
"RUS-1": {
"content": "filters",
"group": "regions",
"parent": "🇷🇺ru 🇺🇦ua 🇺🇿uz 🇰🇿kz: RU AdList",
"off": true,
"title": "🇷🇺ru 🇺🇦ua 🇺🇿uz 🇰🇿kz: RU AdList: Counters",
"tags": "ads belarusian беларуская kazakh tatar russian русский ukrainian українська uzbek be kk tt ru uk uz",
"contentURL": "https://raw.githubusercontent.com/easylist/ruadlist/master/cntblock.txt",
"cdnURLs": [
"https://cdn.jsdelivr.net/gh/easylist/ruadlist@master/cntblock.txt",
"https://cdn.statically.io/gh/easylist/ruadlist/master/cntblock.txt",
"https://raw.githubusercontent.com/easylist/ruadlist/master/cntblock.txt"
],
"supportURL": "https://forums.lanik.us/viewforum.php?f=102",
"instructionURL": "https://forums.lanik.us/viewtopic.php?f=102&t=22512"
},
"spa-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇪🇸es 🇦🇷ar 🇲🇽mx 🇨🇴co: EasyList Spanish",
"tags": "ads aragonese basque catalan spanish español galician guarani",
"lang": "an ast ca cak es eu gl gn trs quz",
"contentURL": "https://easylist-downloads.adblockplus.org/easylistspanish.txt",
"supportURL": "https://forums.lanik.us/viewforum.php?f=103"
},
"spa-1": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇪🇸es 🇦🇷ar 🇧🇷br 🇵🇹pt: AdGuard Spanish/Portuguese",
"tags": "ads aragonese basque catalan spanish español galician guarani portuguese português",
"lang": "an ast ca cak es eu gl gn trs pt quz",
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/9.txt",
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"SVN-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇸🇮si: Slovenian List",
"tags": "ads slovenian slovenski",
"lang": "sl",
"contentURL": "https://raw.githubusercontent.com/betterwebleon/slovenian-list/master/filters.txt",
"supportURL": "https://github.com/betterwebleon/slovenian-list"
},
"SWE-1": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇸🇪se: Frellwit's Swedish Filter",
"tags": "ads swedish svenska",
"lang": "sv",
"contentURL": "https://raw.githubusercontent.com/lassekongo83/Frellwits-filter-lists/master/Frellwits-Swedish-Filter.txt",
"cdnURLs": [
"https://raw.githubusercontent.com/lassekongo83/Frellwits-filter-lists/swefilter/swefilter.min.txt",
"https://cdn.jsdelivr.net/gh/lassekongo83/Frellwits-filter-lists@swefilter/swefilter.min.txt"
],
"supportURL": "https://github.com/lassekongo83/Frellwits-filter-lists"
},
"THA-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇹🇭th: EasyList Thailand",
"tags": "ads thai ไทย",
"lang": "th",
"contentURL": "https://raw.githubusercontent.com/easylist-thailand/easylist-thailand/master/subscription/easylist-thailand.txt",
"supportURL": "https://github.com/easylist-thailand/easylist-thailand"
},
"TUR-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇹🇷tr: AdGuard Turkish",
"tags": "ads turkish türkçe",
"lang": "tr",
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/13.txt",
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"UKR-0": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇺🇦ua: AdGuard Ukrainian",
"tags": "ads ukraine україна",
"lang": "uk",
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/23.txt",
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"VIE-1": {
"content": "filters",
"group": "regions",
"off": true,
"title": "🇻🇳vn: ABPVN List",
"tags": "ads vietnamese việt",
"lang": "vi",
"contentURL": "https://raw.githubusercontent.com/abpvn/abpvn/master/filter/abpvn_ublock.txt",
"supportURL": "https://abpvn.com/"
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

139
dist/README.md vendored
View file

@ -1,80 +1,103 @@
## INSTALL
# INSTALL
### Chromium
## Chromium
- Download and unzip `ublock0.chromium.zip` ([latest release desirable](https://github.com/gorhill/uBlock/releases)).
- Rename the unzipped directory to `ublock`
- When you later update manually, replace the **content** of the `ublock` folder with the **content** of the latest zipped version.
- This will ensure that all the extension settings will be preserved
- As long as the extension loads **from same folder path from which it was originally installed**, all your settings will be preserved.
- Go to chromium/chrome *Extensions*.
- Click to check *Developer mode*.
- Click *Load unpacked extension...*.
- In the file selector dialog:
- Select the directory `ublock` which was created above.
- Click *Open*.
1. Download and unzip `ublock0.chromium.zip` ([latest release desirable](https://github.com/gorhill/uBlock/releases)).
2. Rename the unzipped directory to `ublock`.
- When you update manually, replace the **content** of the `ublock` folder with the **content** of the latest zipped version. This ensures all extension settings are preserved.
- As long as the extension loads from the same folder path as it was originally installed, your settings will be kept.
3. Open Chromium/Chrome and go to *Extensions*.
4. Click to enable *Developer mode*.
5. Click *Load unpacked extension...*.
6. In the file selector dialog:
- Select the `ublock` directory you created.
- Click *Open*.
The extension will now be available in your chromium/chromium-based browser.
The extension will now be available in your Chromium/Chromium-based browser.
Remember that you have to update manually also. For some users, updating manually is actually an advantage because:
- You can update when **you** want
- If ever a new version sucks, you can easily just re-install the previous one
**Note:** You must update manually. For some users, manual updates are beneficial because:
- You can update when **you** want.
- If a new version is unsatisfactory, you can easily reinstall the previous one.
### Firefox
## Firefox
Compatible with Firefox 52 and beyond.
Compatible with Firefox 52 and beyond.
#### For stable release version
### For Stable Release Version
This works only if you set `xpinstall.signatures.required` to `false` in `about:config`.<sup>[see "Add-on signing in Firefox"](https://support.mozilla.org/en-US/kb/add-on-signing-in-firefox)</sup>
This method only works if you set `xpinstall.signatures.required` to `false` in `about:config`.<sup>[see "Add-on signing in Firefox"](https://support.mozilla.org/en-US/kb/add-on-signing-in-firefox)</sup>
- Download `ublock0.firefox.xpi` ([latest release desirable](https://github.com/gorhill/uBlock/releases)).
- Right-click and choose _"Save As..."_.
- Drag and drop the previously downloaded `ublock0.firefox.xpi` into Firefox
1. Download `ublock0.firefox.xpi` ([latest release desirable](https://github.com/gorhill/uBlock/releases)).
- Right-click and choose _"Save As..."_.
2. Drag and drop the downloaded `ublock0.firefox.xpi` into Firefox.
#### For beta version
### For Beta Version
- Click on `ublock0.firefox.signed.xpi` ([latest release desirable](https://github.com/gorhill/uBlock/releases)).
#### Location of uBO settings
### Location of uBO Settings
On Linux, the settings are saved in a JSON file located at `~/.mozilla/firefox/[profile name]/browser-extension-data/uBlock0@raymondhill.net/storage.js`.
On Linux, the settings are saved in a JSON file located at:
```
~/.mozilla/firefox/[profile name]/browser-extension-data/uBlock0@raymondhill.net/storage.js
```
When you uninstall the extension, Firefox deletes this file, and all your settings will be lost.
When you uninstall the extension, Firefox deletes that file, so all your settings are lost when you uninstall.
### Firefox Legacy
### Firefox legacy
Compatible with Firefox 24-56, [Pale Moon](https://www.palemoon.org/), and [SeaMonkey](https://www.seamonkey-project.org/).
Compatible with Firefox 24-56, [Pale Moon](https://www.palemoon.org/) and [SeaMonkey](http://www.seamonkey-project.org/).
1. Download `ublock0.firefox-legacy.xpi` ([latest release desirable](https://github.com/gorhill/uBlock-for-firefox-legacy/releases)).
- Right-click and select "Save Link As..."
2. Drag and drop the downloaded `ublock0.firefox-legacy.xpi` into Firefox.
- Download `ublock0.firefox-legacy.xpi` ([latest release desirable](https://github.com/gorhill/uBlock-for-firefox-legacy/releases)).
- Right-click and select "Save Link As..."
- Drag and drop the previously downloaded `ublock0.firefox-legacy.xpi` into Firefox
For Firefox 43 and beyond, you may need to toggle the setting `xpinstall.signatures.required` to `false` in `about:config`.<sup>[see "Add-on signing in Firefox"](https://support.mozilla.org/en-US/kb/add-on-signing-in-firefox)</sup>
With Firefox 43 and beyond, you may need to toggle the setting `xpinstall.signatures.required` to `false` in `about:config`.<sup>[see "Add-on signing in Firefox"](https://support.mozilla.org/en-US/kb/add-on-signing-in-firefox)</sup>
Your uBlock Origin settings are preserved even after uninstalling the addon.
Your uBlock Origin settings are kept intact even after you uninstall the addon.
- On Linux, settings are saved in a SQLite file located at:
```
~/.mozilla/firefox/[profile name]/extension-data/ublock0.sqlite
```
- On Windows, settings are saved in a SQLite file located at:
```
%APPDATA%\Mozilla\Firefox\Profiles\[profile name]\extension-data\ublock0.sqlite
```
On Linux, the settings are saved in a SQlite file located at `~/.mozilla/firefox/[profile name]/extension-data/ublock0.sqlite`.
## Build Instructions (for Developers)
On Windows, the settings are saved in a SQlite file located at `%APPDATA%\Mozilla\Firefox\Profiles\[profile name]\extension-data\ublock0.sqlite`.
If you want to automatically receive updates for this version, you can also install [uBlock Origin Updater](https://github.com/JustOff/ublock0-updater).
### Build instructions (for developers)
- Clone [uBlock](https://github.com/gorhill/uBlock) and [uAssets](https://github.com/uBlockOrigin/uAssets) repositories in the same parent directory
- `git clone https://github.com/gorhill/uBlock.git`
- `git clone https://github.com/uBlockOrigin/uAssets.git`
- Set path to uBlock: `cd uBlock`
- The official version of uBO is in the `master` branch
- `git checkout master`
- Build the plugin:
- Chromium: `./tools/make-chromium.sh`
- Firefox webext: `./tools/make-firefox.sh all`
- Firefox legacy:
- `git checkout firefox-legacy`
- `./tools/make-firefox-legacy.sh all`
- Load the result of the build into your browser:
- Chromium: load the unpacked extension folder `/uBlock/dist/build/uBlock0.chromium/` in Chromium to use the extension.
- Firefox: drag-and-drop `/uBlock/dist/build/uBlock0.firefox.xpi` or `/uBlock/dist/build/uBlock0.firefox-legacy.xpi` into Firefox.
1. Clone the [uBlock repository](https://github.com/gorhill/uBlock):
```bash
git clone https://github.com/gorhill/uBlock.git
```
2. Set the path to uBlock:
```bash
cd uBlock
```
3. The official version of uBO is in the `master` branch:
```bash
git checkout master
```
4. Build the plugin:
- Chromium:
```bash
make chromium
```
- Firefox:
```bash
make firefox
```
- NPM package:
```bash
make npm
```
5. Load the result of the build into your browser:
- **Chromium:**
- Navigate to `chrome://extensions/`
- Check _"Developer mode"_
- Click _"Load unpacked"_
- Select `/uBlock/dist/build/uBlock0.chromium/`
- **Firefox:**
- Navigate to `about:debugging#/runtime/this-firefox`
- Click _"Load Temporary Add-on..."_
- Select `/uBlock/dist/build/uBlock0.firefox/`

View file

@ -1,192 +0,0 @@
#!/usr/bin/env python3
import datetime
import json
import jwt
import os
import re
import requests
import shutil
import subprocess
import sys
import tempfile
import time
import zipfile
from distutils.version import StrictVersion
from string import Template
# - Download target (raw) uBlock0.chromium.zip from GitHub
# - This is referred to as "raw" package
# - This will fail if not a dev build
# - Upload uBlock0.chromium.zip to Chrome store
# - Publish uBlock0.chromium.zip to Chrome store
# Find path to project root
projdir = os.path.split(os.path.abspath(__file__))[0]
while not os.path.isdir(os.path.join(projdir, '.git')):
projdir = os.path.normpath(os.path.join(projdir, '..'))
# We need a version string to work with
if len(sys.argv) >= 2 and sys.argv[1]:
version = sys.argv[1]
else:
version = input('Github release version: ')
version.strip()
if not re.search('^\d+\.\d+\.\d+(b|rc)\d+$', version):
print('Error: Invalid version string.')
exit(1)
cs_extension_id = 'cgbcahbpdhpcegmbfconppldiemgcoii'
tmpdir = tempfile.TemporaryDirectory()
raw_zip_filename = 'uBlock0_' + version + '.chromium.zip'
raw_zip_filepath = os.path.join(tmpdir.name, raw_zip_filename)
github_owner = 'gorhill'
github_repo = 'uBlock'
# Load/save auth secrets
# The build directory is excluded from git
ubo_secrets = dict()
ubo_secrets_filename = os.path.join(projdir, 'dist', 'build', 'ubo_secrets')
if os.path.isfile(ubo_secrets_filename):
with open(ubo_secrets_filename) as f:
ubo_secrets = json.load(f)
def input_secret(prompt, token):
if token in ubo_secrets:
prompt += ''
prompt += ': '
value = input(prompt).strip()
if len(value) == 0:
if token not in ubo_secrets:
print('Token error:', token)
exit(1)
value = ubo_secrets[token]
elif token not in ubo_secrets or value != ubo_secrets[token]:
ubo_secrets[token] = value
exists = os.path.isfile(ubo_secrets_filename)
with open(ubo_secrets_filename, 'w') as f:
json.dump(ubo_secrets, f, indent=2)
if not exists:
os.chmod(ubo_secrets_filename, 0o600)
return value
# GitHub API token
github_token = input_secret('Github token', 'github_token')
github_auth = 'token ' + github_token
#
# Get metadata from GitHub about the release
#
# https://developer.github.com/v3/repos/releases/#get-a-single-release
print('Downloading release info from GitHub...')
release_info_url = 'https://api.github.com/repos/{0}/{1}/releases/tags/{2}'.format(github_owner, github_repo, version)
headers = { 'Authorization': github_auth, }
response = requests.get(release_info_url, headers=headers)
if response.status_code != 200:
print('Error: Release not found: {0}'.format(response.status_code))
exit(1)
release_info = response.json()
#
# Extract URL to raw package from metadata
#
# Find url for uBlock0.chromium.zip
raw_zip_url = ''
for asset in release_info['assets']:
if asset['name'] == raw_zip_filename:
raw_zip_url = asset['url']
if len(raw_zip_url) == 0:
print('Error: Release asset URL not found')
exit(1)
#
# Download raw package from GitHub
#
# https://developer.github.com/v3/repos/releases/#get-a-single-release-asset
print('Downloading raw zip package from GitHub...')
headers = {
'Authorization': github_auth,
'Accept': 'application/octet-stream',
}
response = requests.get(raw_zip_url, headers=headers)
# Redirections are transparently handled:
# http://docs.python-requests.org/en/master/user/quickstart/#redirection-and-history
if response.status_code != 200:
print('Error: Downloading raw package failed -- server error {0}'.format(response.status_code))
exit(1)
with open(raw_zip_filepath, 'wb') as f:
f.write(response.content)
print('Downloaded raw package saved as {0}'.format(raw_zip_filepath))
#
# Upload to Chrome store
#
# Auth tokens
cs_id = input_secret('Chrome store id', 'cs_id')
cs_secret = input_secret('Chrome store secret', 'cs_secret')
cs_refresh = input_secret('Chrome store refresh token', 'cs_refresh')
print('Uploading to Chrome store...')
with open(raw_zip_filepath, 'rb') as f:
print('Generating access token...')
auth_url = 'https://accounts.google.com/o/oauth2/token'
auth_payload = {
'client_id': cs_id,
'client_secret': cs_secret,
'grant_type': 'refresh_token',
'refresh_token': cs_refresh,
}
auth_response = requests.post(auth_url, data=auth_payload)
if auth_response.status_code != 200:
print('Error: Auth failed -- server error {0}'.format(auth_response.status_code))
print(auth_response.text)
exit(1)
response_dict = auth_response.json()
if 'access_token' not in response_dict:
print('Error: Auth failed -- no access token')
exit(1)
# Prepare access token
cs_auth = 'Bearer ' + response_dict['access_token']
headers = {
'Authorization': cs_auth,
'x-goog-api-version': '2',
}
# Upload
print('Uploading package...')
upload_url = 'https://www.googleapis.com/upload/chromewebstore/v1.1/items/{0}'.format(cs_extension_id)
upload_response = requests.put(upload_url, headers=headers, data=f)
f.close()
if upload_response.status_code != 200:
print('Upload failed -- server error {0}'.format(upload_response.status_code))
print(upload_response.text)
exit(1)
response_dict = upload_response.json();
if 'uploadState' not in response_dict or response_dict['uploadState'] != 'SUCCESS':
print('Upload failed -- server error {0}'.format(response_dict['uploadState']))
exit(1)
print('Upload succeeded.')
# Publish
print('Publishing package...')
publish_url = 'https://www.googleapis.com/chromewebstore/v1.1/items/{0}/publish'.format(cs_extension_id)
headers = {
'Authorization': cs_auth,
'x-goog-api-version': '2',
'Content-Length': '0',
}
publish_response = requests.post(publish_url, headers=headers)
if publish_response.status_code != 200:
print('Error: Chrome store publishing failed -- server error {0}'.format(publish_response.status_code))
exit(1)
response_dict = publish_response.json();
if 'status' not in response_dict or response_dict['status'][0] != 'OK':
print('Publishing failed -- server error {0}'.format(response_dict['status']))
exit(1)
print('Publishing succeeded.')
print('All done.')

49
dist/description/description-az.txt vendored Normal file
View file

@ -0,0 +1,49 @@
Səmərəli bir əngəlləyici: yaddaş və prosessor yükünü artırmadığı halda digər məşhur əngəlləyicilərlə müqayisədə minlərlə daha çox filtri dəstəkləyir.
Proqramın səmərəliliyinə dair ümumi əyani məlumat: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
İstifadə: Açılan pəncərədəki böyük açar düyməsi uBlock₀-u cari veb-saytda işə salmaq/dayandırmaq üçündür. Bu zaman uBlock₀ bütün veb-saytlarda deyil, yalnız cari veb-saytda işə düşür/dayandırılır.
***
Uyuşqan olmaqla yanaşı, uBlock₀ adi reklam əngəlləyicisindən fərqli olaraq domen adlarının olduğu faylları oxuya və yarada bilir.
Standart rejimdə aşağıdakı filtr siyahıları yüklənəcək və tətbiq olunacaq:
- EasyList
- Peter Lowe-dan reklam serverləri siyahısı
- EasyPrivacy
- Zərərli domenlər
Əlavə olaraq aşağıdakı siyahıları da seçə bilərsiniz:
- Fanboy-dan izləmə serverlərinin genişləndirilmiş siyahısı
- Dan Pollock-dan veb-domenlər faylı
- hpHosts reklam və izləmə serverləri siyahısı
- MVPS veb-domenləri
- Spam404
- Və bir çox başqaları
Təbii ki, hər yeni seçilən filtrlər siyahısı yaddaş yükünü də artırır. Buna baxmayaraq, Fanboy-dan iki əlavə siyahı və hpHosts reklam və izləmə serverləri siyahısını seçsəniz belə, uBlock₀ digər məşhur reklam əngəlləyicilərindən fərqli olaraq yaddaşda daha az yer tutur.
Həmçinin nəzərə alın ki, əlavə siyahıların bəzisini -- xüsusən tərkibində domen adları olan siyahıları seçdikdə, veb-saytın düzgün yüklənməməsi ehtimalı da artır.
***
Əvvəldən quraşdırılmış filtr siyahıları olmadan, uBlock₀ heç bir işə yaramır. Ona görə də, əgər siz həqiqətən bir töfhə vermək istəyirsinizsə, hər kəsin istifadəsinə pulsuz təqdim olunan filtr siyahılarını yorulmadan dəstəkləyən insanlar haqqında düşünün.
***
Pulsuz.
Ümumi lisenziyalı (GPLv3) açıq mənbə kodu.
İstifadəçilər tərəfindən istifadəçilər üçün.
Github-a qoşulan iştirakçılarımız: https://github.com/gorhill/uBlock/graphs/contributors
Crowdin-ə qoşulan iştirakçılarımız: https://crowdin.net/project/ublock
***
It's quite an early version, keep this in mind when you review.
Layihəyə edilmiş dəyişikliklərin siyahısı:
https://github.com/gorhill/uBlock/releases

View file

@ -2,7 +2,7 @@
এটির কার্যকারিতার সচিত্র সংক্ষিপ্ত বিবরণ: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
ব্যবহার: পপআপে বড় বোতামটি বর্তমান ওয়েব সাইটকে স্থায়ীভাবে জন্য ইউব্লক দ্বারা সক্রিয়/নিষ্ক্রিয় করবে। এটা শুধুমাত্র বর্তমান ওয়েব সাইটে প্রযোজ্য, এটি একটি সার্বজনীন পাওয়ার বোতাম নয়।
ব্যবহার: পপআপের বড় পাওয়ার বাটনটি হলো বর্তমান ওয়েবসাইটে uBlock কে স্থায়ীভাবে সক্রিয় / নিষ্ক্রিয় করার জন্য। এটা শুধুমাত্র বর্তমান ওয়েব সাইটে প্রযোজ্য, এটি একটি সার্বজনীন পাওয়ার বোতাম নয়।
***
@ -18,7 +18,7 @@
আপনি যদি চান আপনি নির্বাচন করার জন্য আরো তালিকা পাবেন:
- ফ্যানবয়ের বর্ধিত অনুসরণকরণ তালিকা
- ডেন পোলোক-এর হোস্ট ফাইল
- Dan Pollocks hosts file
- এইচপিহোস্টসের বিজ্ঞাপন এবং অনুসরণকরণ সার্ভার
- MVPS হোস্টসমূহ
- স্প্যাম৪০৪

View file

@ -1,36 +1,36 @@
Efikasan bloker: lagan je na otisak/zahtjev memorije i procesora, a može učitati i primijeniti tisuće/hiljade više filtera nego ostali popularni blokeri.
Efikasan bloker: lagan na memoriju i procesor, a može učitati i primijeniti još hiljadu više drugih filtera nego drugi poznati blokeri.
Ilustrovani/Ilustrirani pregled njegove efikasnosti: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Ilustrovani pregled njegove efikasnosti: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Korištenje/Upotreba: Veliko dugme/gumb u iskočnom prozoru je da se trajno omogući/onemogući uBlock na trenutačnoj stranici. To se odnosi samo na trenutnu web-stranicu, nije da se kompletno isključi.
Upotreba: Veliko dugme u skočnom prozoru je da trajno omogućite/onemogućite uBlock na trenutačnoj web-stranici. To se odnosi samo na trenutačnu web-stranicu, pa nije da ga kompletno isključite.
***
Fleksibilan je, više je od "blokatora reklama": može i učitati i napraviti filtere iz izvornih datoteka.
Baš je fleksibilan, nije samo da blokira reklame: može čitati i napraviti filtere iz hosts datoteka.
Odmah po instalaciji/instaliranju, ovi slijedeći popisi/spisci filtera su pokrenuti i provođeni:
Odmah po instaliranju, slijedeći spisci filtera su pokrenuti i sprovedeni:
- EasyList
- Peter Lowes Ad server list
- Peter Lowe-ov popis reklamnih servera
- EasyPrivacy
- Malware domains
- Malverske domene
Ostale liste/spisci su dostupni za odabir/izbor ako ih želite:
Sljedeće liste su dostupne po odabiru ako ih želite:
- Fanboys Enhanced Tracking List
- Dan Pollocks hosts file
- hpHostss Ad and tracking servers
- Fanboy-eva Poboljšana Lista za Praćenje
- Dan Pollock-ova hosts datoteka
- hpHosts-ovi serveri za reklame i praćenje
- MVPS HOSTS
- Spam404
- I mnogi drugi
Naravno, što je više omogućeno filtera, veća je i upotreba memorije. Ipak, čak i nakon dodavanja Fanboy-ova dva dodatna popisa/spiska, hpHosts servera za reklame i praćenje, uBlock još uvijek ima manji memorijski otisak/zahtjev od drugih/ostalih poznatih blokera.
Naravno, sa više omogućenih filtera, veća je i upotreba memorije. Ipak, čak i nakon što Fanboy-ova dva dodatna spiska, i hpHosts serveri za reklame i praćenje, su dodata, uBlock još uvijek ima manju upotrebu memorije od drugih poznatih blokera.
Također, čuvajte na umu da odabirom/izbor nekih od ovih dodatnih popisa može povećati prilike da se web-stranica pokvari -- posebno/naručito onih popisa/spiskova koji se obično koriste kao izvorne datoteke.
Također, držite na umu da ako odaberete nekih od ovih pomoćnih spisaka možete i povećati prilike kvara web-stranice -- pogotovo onih spisaka koji se obično koriste kao hosts datoteke.
***
Bez napredne liste/spiska filtera, ovo proširenje neće raditi. Tako da ako ikad želite doprinijeti nešto, razmislite o ljudima koji naporno rade održavajući popise/spiskove filtera koje vi koristite, i koji su dostupni svima za besplatnu korist.
Bez prednaštimanih listih filtera, ovo proširenje neće raditi. Tako da ako ikad želite doprinijeti nešto, razmislite o ljudima koji naporno rade održavajući spiske filtera koje vi koristite i koji su dostupni za besplatno korištenje svima.
***
@ -38,10 +38,10 @@ Besplatno.
Otvorenog koda sa javnom licencom (GPLv3)
Za korisnike od korisnika.
Suradnici @ Github: https://github.com/gorhill/uBlock/graphs/contributors
Suradnici @ Crowdin: https://crowdin.net/project/ublock
Saradnici @ Github: https://github.com/gorhill/uBlock/graphs/contributors
Saradnici @ Crowdin: https://crowdin.net/project/ublock
***
Popis/izvješće promjena:
Spiska promjena:
https://github.com/gorhill/uBlock/releases

View file

@ -1,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)

View file

@ -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:

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,6 +1,6 @@
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.
@ -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 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,49 +1,47 @@
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
Դրա արդյունավետության պատկերազարդ ակնարկ՝ 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.
Ճկուն, ավելին, քան պարզապես «գովազդի արգելափակիչ». uBlock֊ն կարող է կարդալ և ստեղծել զտիչներ հոսթ-նիշքերից։
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
- Հետագծող սպասարկիչների ընդլայնված ցանկ Fanboy-ից
Dan Pollock-ի hosts նիշքը
- Գովազդային և հետագծման սպասարկիչներ hpHosts-ից
- 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.
Իհարկե, որքան շատ զտիչներ են միացված, այնքան բարձր է հիշողության օգտագործումը։ Այնուամենայնիվ, նույնիսկ 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.
Նաև նկատի ունեցեք, որ լրացուցիչ ցանկերից մի քանիսը կարող են հանգեցնել կայքի կոտրման մեծ հավանականության, հատկապես այն ցանկերի, որոնք սովորաբար օգտագործվում են որպես hosts նիշք։
***
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
Աջակցողները 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.
Project change log:
Փոփոխությունների մատյան՝
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

@ -13,7 +13,7 @@ Som standard er disse filterlistene lastet og i bruk:
- EasyList
- Peter Lowes Ad server list
- EasyPrivacy
- Malware domains
- Online Malicious URL Blocklist
Flere lister er tilgjengelige om ønskelig:

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:

49
dist/description/description-si.txt vendored Normal file
View file

@ -0,0 +1,49 @@
An efficient blocker: easy on memory and CPU footprint, and yet can load and enforce thousands more filters than other popular blockers out there.
Illustrated overview of its efficiency: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Usage: The big power button in the popup is to permanently disable/enable uBlock for the current web site. It applies to the current web site only, it is not a global power button.
***
Flexible, it's more than an "ad blocker": it can also read and create filters from hosts files.
Out of the box, these lists of filters are loaded and enforced:
- EasyList
- Peter Lowes Ad server list
- EasyPrivacy
- Malware domains
More lists are available for you to select if you wish:
- Fanboys Enhanced Tracking List
- Dan Pollocks hosts file
- hpHostss Ad and tracking servers
- MVPS HOSTS
- Spam404
- And many others
Of course, the more filters enabled, the higher the memory footprint. Yet, even after adding Fanboy's two extra lists, hpHostss Ad and tracking servers, uBlock still has a lower memory footprint than other very popular blockers out there.
Also, be aware that selecting some of these extra lists may lead to higher likelihood of web site breakage -- especially those lists which are normally used as hosts file.
***
Without the preset lists of filters, this extension is nothing. So if ever you really do want to contribute something, think about the people working hard to maintain the filter lists you are using, which were made available to use by all for free.
***
Free.
Open source with public license (GPLv3)
For users by users.
Contributors @ Github: https://github.com/gorhill/uBlock/graphs/contributors
Contributors @ Crowdin: https://crowdin.net/project/ublock
***
It's quite an early version, keep this in mind when you review.
Project change log:
https://github.com/gorhill/uBlock/releases

49
dist/description/description-so.txt vendored Normal file
View file

@ -0,0 +1,49 @@
An efficient blocker: easy on memory and CPU footprint, and yet can load and enforce thousands more filters than other popular blockers out there.
Illustrated overview of its efficiency: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Usage: The big power button in the popup is to permanently disable/enable uBlock for the current web site. It applies to the current web site only, it is not a global power button.
***
Flexible, it's more than an "ad blocker": it can also read and create filters from hosts files.
Out of the box, these lists of filters are loaded and enforced:
- EasyList
- Peter Lowes Ad server list
- EasyPrivacy
- Malware domains
More lists are available for you to select if you wish:
- Fanboys Enhanced Tracking List
- Dan Pollocks hosts file
- hpHostss Ad and tracking servers
- MVPS HOSTS
- Spam404
- And many others
Of course, the more filters enabled, the higher the memory footprint. Yet, even after adding Fanboy's two extra lists, hpHostss Ad and tracking servers, uBlock still has a lower memory footprint than other very popular blockers out there.
Also, be aware that selecting some of these extra lists may lead to higher likelihood of web site breakage -- especially those lists which are normally used as hosts file.
***
Without the preset lists of filters, this extension is nothing. So if ever you really do want to contribute something, think about the people working hard to maintain the filter lists you are using, which were made available to use by all for free.
***
Free.
Open source with public license (GPLv3)
For users by users.
Contributors @ Github: https://github.com/gorhill/uBlock/graphs/contributors
Contributors @ Crowdin: https://crowdin.net/project/ublock
***
It's quite an early version, keep this in mind when you review.
Project change log:
https://github.com/gorhill/uBlock/releases

49
dist/description/description-sw.txt vendored Normal file
View file

@ -0,0 +1,49 @@
Kizuizi kinachofaa: nyepesi kwenye kumbukumbu na nyayo za CPU, na bado inawezapakia na kuamrisha maelfu ya vichujio kuliko vizuizi vingine.
Kielelezo cha ufanisi wake: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Utumiaji: Kitufe kikubwa cha nishati kinalemaza/kuwezesha kabisa uBlock kwenye tovuti ya sasa. Inatekelezeka kwenye tovutio ya sasa pekee, si kitufe cha kila mahali.
***
Inawezabadilishwa, na ni zaidi ya "kizuizi cha matangazo": inawezasoma na kuunda vichujio kutoka faili za wenyeji.
Punde inapoanza kutumiwa, vichujio hivi vinapakiwa na kuamrishwa:
- EasyList
-Orodha ya Peter Lowe ya seva za matangazo
- EasyPrivacy
- Vikoa vya programu-hasidi
Orodha zaidi zinawezateuliwa iwapo unataka:
- Orodha fuatiliaji yake Fanboy iliyoboreshwa
- Faili yake Dan Pollock ya wenyeji
- seva za hpHosts za matangazo na ufuatiliaji
- Wenyeji wa MVPS
- Spam404
- Na mengineo
Inajulikana kuwa unavyowezesha vichujio zaidi, ndipo kumbukumbu inavyotumika zaidi. Hata hivyo, hata baada ya kuongeza orodha mbili anuwai za Fanboy, seva za hpHosts za matangazo, na za ufuatiliaji, uBlock bado inatumia kumbukumbu kidogo kuliko vizuizi vingine vinavyopatikana kule nje.
Pia, unahamasishwa kuwa kuteua baadhi ya orodha hizi huenda kukaongeza hatari ya tovuti kuvunjika -- sana sana zile orodha ambazo hutumika kama faili za wenyeji.
***
Bila orodha setiawali za vichujio, kiendelezi hiki sii kitu. Kwa hivyo, iwapo ungependa kuchangia kitu cha maana, fikiria wale wanaotia bidii kudumisha orodha za vichujio unayotumia, na zilizofanywa huria kwa kila mmoja.
***
Huru
Programu huria yenye leseni ya umma (GPLv3)
Na watumiaji kwa watumiaji
Wachangiaji @ Github: https://github.com/gorhill/uBlock/graphs/contributors
Wachangiaji @ Crowdin: https://crowdin.net/project/ublock
***
It's quite an early version, keep this in mind when you review.
Batli ya mabadiliko ya mradi:
https://github.com/gorhill/uBlock/releases

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 @@
一個高效率的阻擋器:使用不多的記憶體以及 CPU 資源,卻能比其他熱門的阻擋器多載入並執行數以千計的過濾規則。
一個高效率的阻擋器:uBO 使用不多的記憶體 (RAM) 以及 CPU 資源,卻能比其他熱門的阻擋器多載入並執行數以千計的過濾規則。
效能比較示意圖https://github.com/gorhill/uBlock/wiki/%C2%B5Block-vs.-ABP:-efficiency-compared

View file

@ -1,321 +0,0 @@
#!/usr/bin/env python3
import datetime
import json
import jwt
import os
import re
import requests
import shutil
import subprocess
import sys
import tempfile
import time
import zipfile
from distutils.version import LooseVersion
from string import Template
# - Download target (raw) uBlock0.firefox.xpi from GitHub
# - This is referred to as "raw" package
# - This will fail if not a dev build
# - Modify raw package to make it self-hosted
# - This is referred to as "unsigned" package
# - Ask AMO to sign uBlock0.firefox.xpi
# - Generate JWT to be used for communication with server
# - Upload unsigned package to AMO
# - Wait for a valid download URL for signed package
# - Download signed package as uBlock0.firefox.signed.xpi
# - This is referred to as "signed" package
# - Upload uBlock0.firefox.signed.xpi to GitHub
# - Remove uBlock0.firefox.xpi from GitHub
# - Modify updates.json to point to new version
# - Commit changes to repo
# Find path to project root
projdir = os.path.split(os.path.abspath(__file__))[0]
while not os.path.isdir(os.path.join(projdir, '.git')):
projdir = os.path.normpath(os.path.join(projdir, '..'))
# Check that found project root is valid
version_filepath = os.path.join(projdir, 'dist', 'version')
if not os.path.isfile(version_filepath):
print('Version file not found.')
exit(1)
# We need a version string to work with
if len(sys.argv) >= 2 and sys.argv[1]:
tag_version = sys.argv[1]
else:
tag_version = input('Github release version: ')
tag_version.strip()
match = re.search('^(\d+\.\d+\.\d+)(?:(b|rc)(\d+))?$', tag_version)
if not match:
print('Error: Invalid version string.')
exit(1)
ext_version = match.group(1);
if match.group(2):
revision = int(match.group(3))
if match.group(2) == 'rc':
revision += 100;
ext_version += '.' + str(revision)
extension_id = 'uBlock0@raymondhill.net'
tmpdir = tempfile.TemporaryDirectory()
raw_xpi_filename = 'uBlock0_' + tag_version + '.firefox.xpi'
raw_xpi_filepath = os.path.join(tmpdir.name, raw_xpi_filename)
unsigned_xpi_filepath = os.path.join(tmpdir.name, 'uBlock0.firefox.unsigned.xpi')
signed_xpi_filename = 'uBlock0_' + tag_version + '.firefox.signed.xpi'
signed_xpi_filepath = os.path.join(tmpdir.name, signed_xpi_filename)
github_owner = 'gorhill'
github_repo = 'uBlock'
# Load/save auth secrets
# The build directory is excluded from git
ubo_secrets = dict()
ubo_secrets_filename = os.path.join(projdir, 'dist', 'build', 'ubo_secrets')
if os.path.isfile(ubo_secrets_filename):
with open(ubo_secrets_filename) as f:
ubo_secrets = json.load(f)
def input_secret(prompt, token):
if token in ubo_secrets:
prompt += ''
prompt += ': '
value = input(prompt).strip()
if len(value) == 0:
if token not in ubo_secrets:
print('Token error:', token)
exit(1)
value = ubo_secrets[token]
elif token not in ubo_secrets or value != ubo_secrets[token]:
ubo_secrets[token] = value
exists = os.path.isfile(ubo_secrets_filename)
with open(ubo_secrets_filename, 'w') as f:
json.dump(ubo_secrets, f, indent=2)
if not exists:
os.chmod(ubo_secrets_filename, 0o600)
return value
# GitHub API token
github_token = input_secret('Github token', 'github_token')
github_auth = 'token ' + github_token
#
# Get metadata from GitHub about the release
#
# https://developer.github.com/v3/repos/releases/#get-a-single-release
print('Downloading release info from GitHub...')
release_info_url = 'https://api.github.com/repos/{0}/{1}/releases/tags/{2}'.format(github_owner, github_repo, tag_version)
headers = { 'Authorization': github_auth, }
response = requests.get(release_info_url, headers=headers)
if response.status_code != 200:
print('Error: Release not found: {0}'.format(response.status_code))
exit(1)
release_info = response.json()
#
# Extract URL to raw package from metadata
#
# Find url for uBlock0.firefox.xpi
raw_xpi_url = ''
for asset in release_info['assets']:
if asset['name'] == signed_xpi_filename:
print('Error: Found existing signed self-hosted package.')
exit(1)
if asset['name'] == raw_xpi_filename:
raw_xpi_url = asset['url']
if len(raw_xpi_url) == 0:
print('Error: Release asset URL not found')
exit(1)
#
# Download raw package from GitHub
#
# https://developer.github.com/v3/repos/releases/#get-a-single-release-asset
print('Downloading raw xpi package from GitHub...')
headers = {
'Authorization': github_auth,
'Accept': 'application/octet-stream',
}
response = requests.get(raw_xpi_url, headers=headers)
# Redirections are transparently handled:
# http://docs.python-requests.org/en/master/user/quickstart/#redirection-and-history
if response.status_code != 200:
print('Error: Downloading raw package failed -- server error {0}'.format(response.status_code))
exit(1)
with open(raw_xpi_filepath, 'wb') as f:
f.write(response.content)
print('Downloaded raw package saved as {0}'.format(raw_xpi_filepath))
#
# Convert the package to a self-hosted one: add `update_url` to the manifest
#
print('Converting raw xpi package into self-hosted xpi package...')
with zipfile.ZipFile(raw_xpi_filepath, 'r') as zipin:
with zipfile.ZipFile(unsigned_xpi_filepath, 'w') as zipout:
for item in zipin.infolist():
data = zipin.read(item.filename)
if item.filename == 'manifest.json':
manifest = json.loads(bytes.decode(data))
manifest['browser_specific_settings']['gecko']['update_url'] = 'https://raw.githubusercontent.com/{0}/{1}/master/dist/firefox/updates.json'.format(github_owner, github_repo)
data = json.dumps(manifest, indent=2, separators=(',', ': '), sort_keys=True).encode()
zipout.writestr(item, data)
#
# Ask AMO to sign the self-hosted package
# - https://developer.mozilla.org/en-US/Add-ons/Distribution#Distributing_your_add-on
# - https://pyjwt.readthedocs.io/en/latest/usage.html
# - https://addons-server.readthedocs.io/en/latest/topics/api/auth.html
# - https://addons-server.readthedocs.io/en/latest/topics/api/signing.html
#
amo_api_key = ''
amo_secret = ''
def get_jwt_auth():
global amo_api_key
if amo_api_key == '':
amo_api_key = input_secret('AMO API key', 'amo_api_key')
global amo_secret
if amo_secret == '':
amo_secret = input_secret('AMO API secret', 'amo_secret')
amo_nonce = os.urandom(8).hex()
jwt_payload = {
'iss': amo_api_key,
'jti': amo_nonce,
'iat': datetime.datetime.utcnow(),
'exp': datetime.datetime.utcnow() + datetime.timedelta(seconds=15),
}
return 'JWT ' + jwt.encode(jwt_payload, amo_secret).decode()
print('Ask AMO to sign self-hosted xpi package...')
with open(unsigned_xpi_filepath, 'rb') as f:
# https://blog.mozilla.org/addons/2019/11/11/security-improvements-in-amo-upload-tools/
# "We recommend allowing up to 15 minutes."
interval = 60 # check every 60 seconds
countdown = 15 * 60 / interval # for at most 15 minutes
headers = { 'Authorization': get_jwt_auth(), }
data = { 'channel': 'unlisted' }
files = { 'upload': f, }
signing_url = 'https://addons.mozilla.org/api/v3/addons/{0}/versions/{1}/'.format(extension_id, ext_version)
print('Submitting package to be signed...')
response = requests.put(signing_url, headers=headers, data=data, files=files)
if response.status_code != 202:
print('Error: Creating new version failed -- server error {0}'.format(response.status_code))
print(response.text)
exit(1)
print('Request for signing self-hosted xpi package succeeded.')
signing_request_response = response.json();
f.close()
print('Waiting for AMO to process the request to sign the self-hosted xpi package...')
# Wait for signed package to be ready
signing_check_url = signing_request_response['url']
while True:
time.sleep(interval)
sys.stdout.write('.')
sys.stdout.flush()
countdown -= 1
if countdown <= 0:
print('Error: AMO signing timed out')
exit(1)
headers = { 'Authorization': get_jwt_auth(), }
response = requests.get(signing_check_url, headers=headers)
if response.status_code != 200:
print('Error: AMO signing failed -- server error {0}'.format(response.status_code))
print(response.text)
exit(1)
signing_check_response = response.json()
if not signing_check_response['processed']:
continue
if not signing_check_response['valid']:
print('Error: AMO validation failed')
print(response.text)
exit(1)
if not signing_check_response['files'] or len(signing_check_response['files']) == 0:
continue
if not signing_check_response['files'][0]['signed']:
continue
if not signing_check_response['files'][0]['download_url']:
print('Error: AMO signing failed')
print(response.text)
exit(1)
print('\r')
print('Self-hosted xpi package successfully signed.')
download_url = signing_check_response['files'][0]['download_url']
print('Downloading signed self-hosted xpi package from {0}...'.format(download_url))
response = requests.get(download_url, headers=headers)
if response.status_code != 200:
print('Error: Download signed package failed -- server error {0}'.format(response.status_code))
print(response.text)
exit(1)
with open(signed_xpi_filepath, 'wb') as f:
f.write(response.content)
f.close()
print('Signed self-hosted xpi package downloaded.')
break
#
# Upload signed package to GitHub
#
# https://developer.github.com/v3/repos/releases/#upload-a-release-asset
print('Uploading signed self-hosted xpi package to GitHub...')
with open(signed_xpi_filepath, 'rb') as f:
url = release_info['upload_url'].replace('{?name,label}', '?name=' + signed_xpi_filename)
headers = {
'Authorization': github_auth,
'Content-Type': 'application/zip',
}
response = requests.post(url, headers=headers, data=f.read())
if response.status_code != 201:
print('Error: Upload signed package failed -- server error: {0}'.format(response.status_code))
exit(1)
#
# Remove raw package from GitHub
#
# https://developer.github.com/v3/repos/releases/#delete-a-release-asset
print('Remove raw xpi package from GitHub...')
headers = { 'Authorization': github_auth, }
response = requests.delete(raw_xpi_url, headers=headers)
if response.status_code != 204:
print('Error: Deletion of raw package failed -- server error: {0}'.format(response.status_code))
#
# Update updates.json to point to new package -- but only if just-signed
# package is higher version than current one.
#
print('Update GitHub to point to newly signed self-hosted xpi package...')
updates_json_filepath = os.path.join(projdir, 'dist', 'firefox', 'updates.json')
with open(updates_json_filepath) as f:
updates_json = json.load(f)
f.close()
previous_version = updates_json['addons'][extension_id]['updates'][0]['version']
if LooseVersion(ext_version) > LooseVersion(previous_version):
with open(os.path.join(projdir, 'dist', 'firefox', 'updates.template.json')) as f:
template_json = Template(f.read())
f.close()
updates_json = template_json.substitute(ext_version=ext_version, tag_version=tag_version)
with open(updates_json_filepath, 'w') as f:
f.write(updates_json)
f.close()
# Automatically git add/commit if needed.
# - Stage the changed file
r = subprocess.run(['git', 'status', '-s', updates_json_filepath], stdout=subprocess.PIPE)
rout = bytes.decode(r.stdout).strip()
if len(rout) >= 2 and rout[1] == 'M':
subprocess.run(['git', 'add', updates_json_filepath])
# - Commit the staged file
r = subprocess.run(['git', 'status', '-s', updates_json_filepath], stdout=subprocess.PIPE)
rout = bytes.decode(r.stdout).strip()
if len(rout) >= 2 and rout[0] == 'M':
subprocess.run(['git', 'commit', '-m', 'Make Firefox dev build auto-update', updates_json_filepath])
subprocess.run(['git', 'push', 'origin', 'HEAD'])
print('All done.')

View file

@ -1,14 +1,17 @@
{
"addons": {
"uBlock0@raymondhill.net": {
"updates": [
{
"version": "1.27.11.109",
"browser_specific_settings": { "gecko": { "strict_min_version": "55" } },
"update_info_url": "https://github.com/gorhill/uBlock/releases/tag/1.27.11rc9",
"update_link": "https://github.com/gorhill/uBlock/releases/download/1.27.11rc9/uBlock0_1.27.11rc9.firefox.signed.xpi"
"addons": {
"uBlock0@raymondhill.net": {
"updates": [
{
"version": "1.69.1.4",
"browser_specific_settings": {
"gecko": {
"strict_min_version": "115.0"
}
},
"update_link": "https://github.com/gorhill/uBlock/releases/download/1.69.1b4/uBlock0_1.69.1b4.firefox.signed.xpi"
}
]
}
]
}
}
}
}

View file

@ -1,14 +0,0 @@
{
"addons": {
"uBlock0@raymondhill.net": {
"updates": [
{
"version": "$ext_version",
"browser_specific_settings": { "gecko": { "strict_min_version": "55" } },
"update_info_url": "https://github.com/gorhill/uBlock/releases/tag/$tag_version",
"update_link": "https://github.com/gorhill/uBlock/releases/download/$tag_version/uBlock0_$tag_version.firefox.signed.xpi"
}
]
}
}
}

2
dist/version vendored
View file

@ -1 +1 @@
1.28.0
1.70.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

View file

@ -1,31 +0,0 @@
Steps, roughly:
Capture Task Manager using SimpleScreenRecorder
Launch reference benchmark
Stop and save capture once reference benchmark completes
Extract/crop/scale area to OCR (the CPU figures)
avconv -i ublock-cpu.webm -r 4 -vsync 1 -vf "[in] crop=40:86:310:100 [T1], [T1] scale=160:360 [out]" -t 2400 img/img-%04d.png
Execute tesseract custom script:
./tessall
`all.txt` contains a csv of the results.
Paste in spreadsheet. Etc.
`tessal` script:
#!/bin/sh
rm all.txt
echo
for i in img/img*.png; do
echo -ne '\r' $i
b=`basename $i .png`
tesseract $i out -psm 6 digits 1>/dev/null 2>&1
cat out.txt | perl -p -000 -e 's/(\d+)\s+/\1,/g' | perl -pe 's/,$/\n/' >> all.txt
done

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 475 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Some files were not shown because too many files have changed in this diff Show more