Commit Graph

1092 Commits

Author SHA1 Message Date
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 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 c955c2b974
Actually, prefer uAssetsCDN over uAssets for mirrors 2022-03-24 14:08:14 -04:00
Raymond Hill 0bfa41ceb9
Update CDN links to gh-pages repo 2022-03-24 12:58:54 -04:00
Raymond Hill 3c52e75863
Set reference list URL to deployed gh-pages 2022-03-23 12:08:28 -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 53a0d1ec5f
Add ublockorigin.github.io as CDN for uBO's own filter lists 2022-03-18 11:11:44 -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
Ming Di Leom b4fe22c7b6
fix(assets): remove netlify from urlhaus-filter 2022-03-14 09:33:43 -04: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 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 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 82ad7bd4fb
Remove redundant mirrors 2022-01-11 07:10:55 -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 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 8d7469afcf
Fix typo 2021-12-13 14:28:39 -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 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
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 ee5ef4e8ab
Update block-lan list location 2021-11-18 12:27:26 -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 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 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
Imre Kristoffer Eilertsen d8fea7f568
Fix https://github.com/uBlockOrigin/uBlock-issues/issues/1742 (#3860) 2021-11-06 12:52:23 -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 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
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 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 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 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 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 745fbd1c02
Add no-xhr-if scriptlet
As per request from filter list maintainers.
2021-09-11 09:15:39 -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 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
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 4fe8126c66
Add ability to match against script content of data: URI
Related commit:
- ebc42ae21e
2021-07-18 08:50:57 -04:00
Raymond Hill f07b1475a3
Fix hasty last commit 2021-07-17 14:27:37 -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 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 c91b4258e9
Put back mistakenly removed newline 2021-07-03 09:23:06 -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 2a8c85b132
Add "AdGuard URL Tracking" list as stock lists (under "Privacy") 2021-06-25 07:09:22 -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 ce801b952b
Add empty array, object to set-constant scriptlet 2021-05-28 07:09:30 -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 4509df154f
Lower update period of assets.json and add support for CDN urls 2021-05-18 09:21:09 -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 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 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 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 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 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 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 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 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 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 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 5fa873960f
Listen to load events on window, not document
Related feedback:
- 0f330c7359 (r45774155)
2021-01-08 13:11:09 -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 ab06a01062
Better handle Request argument in no-fetch-if
As per internal feedback.
2020-12-24 08:26:30 -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 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 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 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 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 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 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 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 11b9f88b38
Update urlhaus-filter URL
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1285
2020-10-08 07:25:15 -04:00
pixeltris 75c58ec7af
Update for twitch.tv #5184 (#3781) 2020-10-02 12:20:30 -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 793e2c7896
Further fine tune new `aost` scriptlet 2020-09-23 09:41:00 -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 1e91fb8733
Fine tune regex used to detect inline script contexts
Related commit:
- b735ac6b6a
2020-09-22 11:18:12 -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 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 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 8275690e93
Fix https://github.com/uBlockOrigin/uAssets/issues/5696#issuecomment-675757755 2020-08-20 09:53:11 -04:00
Raymond Hill bf01fc737d
urlhaus blocklist CDNs: remove githack, add github, gitlab 2020-07-20 12:52:41 -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 321eae7417
Remove stray empty line 2020-07-16 16:39:07 -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