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
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
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
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
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
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
3a249f395c
Improve prevent-xhr scriptlet
...
As per filter list maintainers feedback.
2024-08-26 14:28:53 -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
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
56dfdd2568
Improve various scriptlets
...
Specifically, improve proxying of native methods.
2024-08-16 11:49:16 -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
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
3668445679
Use random trusted-types policy name
...
Related commit:
4f0d1301ab
2024-08-04 00:15:40 -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
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
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
bf75dc2f90
Code review of trusted-replace-node-text scriptlet
2024-07-22 09:51:40 -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
62f87b0ea8
Rename parameters as per earlier commit
...
Related commit:
8afd9e233d
2024-07-20 09:43:08 -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
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
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
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
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
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
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
scripthunter7
83aee4a516
Update subscription URL for hufilter
2024-06-20 10:48:09 +02: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
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
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
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
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
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
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
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
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
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
Fanboynz
363ad6795c
Add accept/reject to local-storage ( #3916 )
2024-05-09 20:51:07 -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
2ccc3135c1
Improve trusted-set-local-storage-item scriptlet
...
Related discussion:
df1041c616 (commitcomment-141265533)
2024-05-05 06:54:46 -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
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
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
277e90a4a7
Improve spoof-css scriptlet
2024-04-09 20:05:05 -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
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
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
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
108f1556c2
Use hard tabs for assets.json
2024-03-26 13:59:12 -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
9fd80cf6dd
Improve spoof-css scriptlet
2024-03-20 09:31:17 -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
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
65b6753c69
Simpler to use an extra property than to use a new assets.json
2024-03-14 10:20:25 -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
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
b95a1e987f
Use hard tabs
2024-03-05 09:03:51 -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
603239970d
Improve spoof-css scriptlet
2024-03-02 08:11:29 -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
33749d2d3f
Use requestIdleCallback() in href-sanitizer scriptlet
...
Instead of requestAnimationFrame().
2024-02-17 12:53:57 -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
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
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
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
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
9b40b2150a
Fix argument list lookup in trusted-replace-argument scriptlet
2024-02-02 12:46:59 -05:00
Raymond Hill
b4da81f8d4
Improve logging information in prevent-window-open scriptlet
2024-02-02 09:36:08 -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
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
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
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
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
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
302d2f5670
Fix type
...
Related issue:
https://github.com/uBlockOrigin/uAssets/pull/22228
2024-01-26 22:38:31 -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
49a6dc868f
Fix verbose mode not applying to newly injected scriptlets
...
Related commit:
869a653fdf
2024-01-25 13:30:41 -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
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
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
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