Commit Graph

957 Commits

Author SHA1 Message Date
Raymond Hill 9367a6015b
Convert new setTimeout-if scriptlet to blacklist approach
As per feedback from filter list maintainers, the
whitelist approach has been deemed to confusing.

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

`setInterval-if` has been Similarly changed to
`no-setInterval-if` alias `nosiif`.
2019-09-15 11:01:50 -04:00
Raymond Hill 2fd86a66fc
Add json-prune.js scriptlet
The scriptlet will trap calls to JSON.parse, and
if the result of the parsing is an Object, it
will remove specified properties from the result
before returning to the caller.

Usage:

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

Where:

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

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

Example:

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

A property in a list of properties can be a chain
of properties, example: adpath.url.first
2019-09-09 14:06:23 -04:00
Raymond Hill 35854e4baf
Use more descriptive name for raf-if.js
Related feedback:
- 6831967f5f (commitcomment-34979880)
2019-09-06 09:40:04 -04:00
Raymond Hill e3043fadc7
Fix console logging ability in setTimeout-if
Regression from e0fd9750d4
2019-08-25 09:38:08 -04:00
Raymond Hill e0fd9750d4
Further fix new setTimeout-if/setInterval-if scriptlets
Addtionally, a dedicated test page has been added:

https://gorhill.github.io/uBlock/tests/scriptlet-injection-filters-1.html
2019-08-25 09:03:24 -04:00
Raymond Hill e0f0aedad6
Ability to negate delay in new setTimeout-if scriptlet
This also apply to setInterval-if. Thus to defuse
calls to setTimeout(fn, 1000), the filter could be:

    ##+js(stif, , !1000)

Meaning "allow setTimeout if the delay is not 1000".
2019-08-24 13:54:31 -04:00
Raymond Hill c5536577b2
Add two scriptlets: setTimeout-if and setInterval-if
Usage is similar to that of raf-if introduced in
commit 6831967f5f.

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

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

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

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

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

Keep in mind that the new scriptlets function on a
whitelist basis, whereas the deprecated ones
function on a blacklist basis. Prefixing the needle
with `!` allow to use the new scriptlets on a
blacklist basis.
2019-08-22 09:32:46 -04:00
Raymond Hill 252ce421c9
Fix `raf-if` scriptlet: bad Proxy target
It was working nonetheless, which made me
miss the mistake.
2019-08-21 10:36:08 -04:00
Raymond Hill 6831967f5f
Add new scriptlet to defuse calls to requestAnimationFrame
Scriptlet name: `raf-if.js`

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

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

requestAnimationFrame will be defused when:

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

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

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

Otherwise no logging occurs.
2019-08-21 10:13:23 -04:00
Raymond Hill 3d66bdc8e9
Add shorthand alias for `set-constant.js`: `set.js` 2019-07-29 10:16:36 -04:00
Raymond Hill a89aad0304
Remove trailing spaces
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/679
2019-07-22 07:32:39 -04:00
Raymond Hill ce644c5960
Remove code unused in next release
Since https://github.com/uBlockOrigin/uBlock-issues/issues/156
won't be fixed in next release, no need to ship
with code which will be unused, and anyways only once
the fix is worked on will it be clear exactly what needs
to be used by scriptlets to deal harmoniously with
property listener collisions.
2019-07-11 10:17:06 -04:00
Raymond Hill c499ce82a9
Use `Reflect.construct(t)` rather than `new t()`
Using `new` seemed to work but it's maybe
semantically better to use `Reflect.construct`.
2019-07-11 09:45:53 -04:00
Raymond Hill 9a95fbff94
Restore erroneously remove comments in migration 2019-07-10 08:11:51 -04:00
Raymond Hill e55cae6232
Fine tune new resources-related code
Make sure the parser is safely compatible with old
resources format -- for those users still using
custom resources (via `userResourcesLocation`).

Prepare code for future fix to
<https://github.com/uBlockOrigin/uBlock-issues/issues/156>:

This commit introduces a new private Map() object,
`uBOSafe`, accessible by all injected scriptlets. This
private safe can be used to store data which can be shared
with different scriptlets. The idea is for scriptlets to
use that safe to graciously deal with the need to install
multiple listeners for the same property.
2019-07-08 08:56:36 -04:00
Raymond Hill 4c201c90e1
Remove strat mime type in scriptlets.js
Related ffedback:
- 6f5aa947fb (commitcomment-34205920)
2019-07-06 13:53:36 -04:00
Raymond Hill 6f5aa947fb
Finalize converting resources.txt into immutable resources
With hindsight, I revised decisions made earlier during
this development cycle:

Un-redirectable scriptlets have been removed from
/web_accessible_resources and instead put in the new
/assets/resources/scriptlets.js, which contains all
scriptlets used for web page injection purpose.

uBO will no longer fetch a remote version of built-in
resources.

Advanced setting `userResourcesLocation` will still be
honoured by uBO, and if set, will be fetched every
time at least one asset is updated.
2019-07-06 12:36:28 -04:00
Raymond Hill 7904bebffb
Removed seemingly abandoned "DNK: Schacks" list
Related discussion:
- https://github.com/DandelionSprout/adfilt/issues/7#issuecomment-496691761
2019-05-28 18:12:49 -04:00
Raymond Hill b654d883df
Revert "Add Energized Blu Go as stock multipurpose list"
I was made awars of license issue:
- https://github.com/AdroitAdorKhan/EnergizedProtection/issues/46

This reverts commit 0991a1138e.
2019-05-02 06:29:40 -04:00
Raymond Hill 0991a1138e
Add Energized Blu Go as stock multipurpose list
Link to project page:
https://github.com/AdroitAdorKhan/EnergizedProtection
2019-04-30 09:35:10 -04:00
Raymond Hill 93efba2014
Fix https://github.com/NanoMeow/QuickReports/issues/1091 2019-04-27 15:50:19 -04:00
Raymond Hill c9b55d48e3
Fix https://github.com/uBlockOrigin/uBlock-issues/issues/531 2019-04-17 07:41:49 -04:00
Raymond Hill 53860c3ad2
Forgot to add `lij` re. https://github.com/uBlockOrigin/uBlock-issues/issues/501 2019-04-14 18:30:57 -04:00
Raymond Hill c9c21f9cbf
Add more languages for list selection at install/reset time
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/501

Also, the handling of 3-letter language codes has been fixed.
2019-04-14 18:20:57 -04:00
okiehsch 98182c12a8 adress https://github.com/DandelionSprout/adfilt/issues/7#issuecomment-478296690 (#3754) 2019-03-30 23:22:50 -03:00
Raymond Hill e4f3559db1
Remove JPN-0 from stock lists
As per feedback, for example:
- https://www.reddit.com/r/uBlockOrigin/comments/apby98/
2019-02-12 10:23:48 -05:00
Raymond Hill 3e41939e41
Add "AdGuard Social Media filter" to stock lists
Related issue:
- https://github.com/gorhill/uBlock/issues/3214
2019-01-11 09:39:37 -05:00
Raymond Hill 4e54c47253
Remove not really needed URLs 2019-01-08 08:00:10 -05:00
gwarser 0f8f999f99 New Polish anti-adblock list (#3747)
* New Polish anti-adblock list

* We already had POL-1

Removed in February 2018
2018-12-08 12:53:40 -05:00
Raymond Hill 5a7280c46e
fix https://github.com/uBlockOrigin/uBlock-issues/issues/311 2018-12-06 09:00:59 -05:00
Raymond Hill eaa5b4f517
fix https://github.com/uBlockOrigin/uBlock-issues/issues/312 2018-12-06 08:57:24 -05:00
okiehsch a8a0d1d407 edit some filterlist titles (#3744) 2018-11-25 12:15:07 -05:00
ZaphodBeebblebrox 8d6bb24fc3 Add Finnish filter list (#3743)
* Add new Finnish filter list

* Correct ordering of lists.

* Correct spacing
2018-11-14 10:49:04 -02:00
Raymond Hill c6025e6643
fix https://github.com/uBlockOrigin/uBlock-issues/issues/285 2018-10-24 08:49:57 -03:00
gwarser 4a442eece4 Update Spam404 URL (#3740) 2018-10-22 18:43:51 -03:00
Hugo Xu 1e549537ea Update assets.json (#3739) 2018-10-19 11:53:18 -03:00
Babak Farrokhi bd320d4572 Moving to GitCDN due to forthcoming sunset of rawgit.com (#3738) 2018-10-17 11:59:30 -03:00
Raymond Hill f38df80959
fix https://github.com/uBlockOrigin/uBlock-issues/issues/197#issuecomment-426960842 2018-10-04 06:35:50 -04:00
Raymond Hill 7ab0d94f92
fix https://github.com/uBlockOrigin/uBlock-issues/issues/197 2018-09-05 07:23:58 -04:00
Raymond Hill bae93f290e
address https://github.com/uBlockOrigin/uBlock-issues/issues/193 2018-09-02 06:34:17 -04:00
Raymond Hill 27dc7ba6f8
adjust title to that of "Title" directive 2018-08-14 12:34:31 -04:00
Raymond Hill 36774c9c7f
fix https://github.com/uBlockOrigin/uBlock-issues/issues/166 2018-08-14 12:29:59 -04:00
Hugo Xu 7c4146d8ba Update assets.json (#3725) 2018-05-30 14:07:19 -04:00
Raymond Hill 21d7dda6b4
fix https://github.com/uBlockOrigin/uBlock-issues/issues/41 2018-05-15 07:12:13 -04:00
Martin Vobruba 26979d89bd Change URL for CZ/SK filters (#3719)
See tomasko126/easylistczechandslovak#138
2018-04-23 16:23:05 -04:00
Raymond Hill bb0e3264de
remove unused file 2018-04-15 06:53:17 -04:00
Raymond Hill 4ec386de98
Switch abpnv.com to HTTPS (#3664) 2018-04-10 08:44:38 -04:00
Raymond Hill 5729950779
remove redundant list: https://github.com/gorhill/uBlock/issues/3147#issuecomment-378829539 2018-04-05 06:01:46 -04:00
Raymond Hill 51bae66785
fix #3603 2018-03-14 07:29:58 -04:00
Raymond Hill 64682ab8a1
convert spaces to tabs 2018-02-26 13:58:29 -05:00
Raymond Hill 010edeb069
fix #3547 2018-02-25 13:53:20 -05:00
Raymond Hill ccfbdc614e
remove now redundant POL filter list 2018-02-20 07:07:16 -05:00
Raymond Hill c0f25d112a
fix https://github.com/uBlockOrigin/uAssets/issues/1546 2018-02-15 07:48:39 -05:00
Raymond Hill b0600645a6
add instruction URL to POL filter list 2018-02-08 08:15:22 -05:00
Babak Farrokhi 32bde274b9 Use rawgit.com to download filter list (#3438)
- (githubusercontent.com cannot be accessed from iran
2018-01-15 08:24:43 -05:00
Raymond Hill 367001a3de
address https://github.com/uBlockOrigin/uAssets/issues/1026 2017-12-17 09:37:10 -05:00
Raymond Hill 46d446ec92
fix https://github.com/uBlockOrigin/uAssets/issues/999 2017-12-14 18:28:14 -05:00
Martin Vobruba 23065a8b90 Change URL for CZ/SK filters and add "sk" lang (#3312)
We've introduced a new set of filters for uBlock because some uBlock
specific rules are breaking ABP and we will remove them from the
filters.txt file.
2017-12-03 08:22:10 -05:00
gorhill 949b994811
fix #3241 2017-11-18 06:25:42 -05:00
gorhill 386e8bee9c
fix #3210 2017-11-09 12:53:05 -05:00
gorhill d523d64511
first add adguard mobile to stock lists (#3210) 2017-11-09 06:16:31 -05:00
gwarser feff4f0bfb Update supportURL for POL filters (#3181) 2017-10-31 09:22:56 -04:00
gorhill 938d5b83f6
fix #3166 2017-10-24 06:19:45 -04:00
gorhill 2606a9df06
fix #3147 2017-10-23 22:31:36 -04:00
gorhill 3c97db1652
fix #3135 2017-10-15 11:30:19 -04:00
gorhill 01fe37c390
fix #3092 2017-10-13 08:01:30 -04:00
gorhill 229edd6c0e
fix #3095 2017-10-05 08:31:20 -04:00
gorhill ec14e56b02
fix #3089 2017-10-04 11:37:51 -04:00
gorhill e1ba1a39c2
remove "CHN: CJX´s Annoyance" (because optional), select "RUS: Adguard" and "CHN: CJX´s" by default for new installations 2017-09-30 12:57:56 -04:00
gorhill 6ec3412ba9
fix #2600 2017-09-28 13:19:28 -04:00
gorhill 5a0c7c5383
fix https://github.com/uBlockOrigin/uAssets/issues/690 2017-09-28 09:59:26 -04:00
gorhill 41512db6c9
fix #3061 2017-09-27 10:35:39 -04:00
gorhill 965c5661d6
remove Fanboy's Korean: it's officially unsupported 2017-09-26 08:03:24 -04:00
gorhill 1402710a1e
add Adguard Spyware, as per https://github.com/AdguardTeam/AdguardFilters/issues/5138#issuecomment-331614672 2017-09-23 08:26:46 -04:00
gorhill 2a7810e492
rename Adguard list as per https://github.com/AdguardTeam/AdguardFilters/issues/5138#issuecomment-309683940 2017-09-19 09:05:45 -04:00
Michael Kharitonov 4ebc5ecc1c RUS-0 title change (#3029) 2017-09-18 17:25:29 -04:00
gorhill 6ca9825c61
remove "RUS BitBlock" from stock filter lists: see https://github.com/gorhill/uBlock/pull/3019#issuecomment-330076525 2017-09-17 16:03:21 -04:00
Michael Kharitonov 7c51959cd5 Add instruction for Ru AdList (#3019)
Ru AdList has many additions to block ads, counters, annoyances, anti-adblock warnings in Russian websites. This page contains the guide to all of them.
2017-09-17 08:24:21 -04:00
ficofabrid 52681400ab Switch "ITA: ABP X Files" homepage to HTTPS (#2885) 2017-09-16 17:13:48 -04:00
gorhill dec5e3e839
fix #2685; add Adguard's generic filters; remove EasyList w/out element hiding 2017-09-16 08:37:15 -04:00
gorhill 462406ecf1
add Adguard's Annoyance List to stock filter lists 2017-09-10 13:14:14 -04:00
gorhill 355dbc00ba
fix #2997 2017-09-10 12:39:56 -04:00
gorhill 651da7157a
remove obsolete lists: reek's anti-adblock-killer, immortal_domains 2017-09-10 08:33:41 -04:00
Sander Lepik 61c7f86fd2 Switch adblock.ee to HTTPS (#2884)
* Switch adblock.ee to HTTPS

Signed-off-by: Sander Lepik <sander@lepik.eu>

* Undo changes on wrong files

Signed-off-by: Sander Lepik <sander@lepik.eu>
2017-08-18 09:07:41 -04:00
gorhill 42c9928abd
update URLs of Adguard lists, see https://github.com/AdguardTeam/AdguardFilters/issues/5138 2017-06-19 09:19:07 -04:00
gorhill f6825d1920
maybe address #2682 2017-06-05 07:27:47 -04:00
gorhill a8caba9cfd
use the no-redirection URL 2017-05-25 16:53:34 -04:00
gorhill 0ae695f8b1
fix URLs following project name change 2017-05-25 16:44:54 -04:00
Anton Bershanskiy 583ca9cdb6 Use HTTPS wherever possible in uBlock/assets.json (#2591) 2017-05-07 23:30:26 -04:00
gorhill c8071c822a
fix #2572 2017-04-30 07:23:18 -04:00
gorhill 3ce66a4780
adding AdBlock Protector in stock filter lists 2017-04-29 12:29:48 -04:00
gorhill 43fbcc7e89
fix #2081 2017-04-26 13:03:46 -04:00
gorhill 774faa1c8c
fix #2553 2017-04-22 08:37:47 -04:00
gorhill 749b31c97e
possible workaround fix for https://github.com/nikrolls/uBlock-Edge/issues/69 2017-04-14 16:36:51 -04:00
gorhill 52d580aabc
add alt URLs for EasyList/EasyPrivacy (https://github.com/gorhill/uBlock/issues/2037#issuecomment-287532208) 2017-03-22 17:15:38 -04:00
gorhill 0b4f31bd8a fix #2344 2017-01-27 13:44:52 -05:00
gorhill 28ad456d77 fix mixed-up regarding fanboy anti-social 2017-01-22 18:52:04 -05:00
gorhill 9309df4196 3rd-party filters pane revisited 2017-01-22 16:05:16 -05:00
gorhill 8f46662a24 added POL list compatible with uBO-specific syntax 2017-01-20 12:48:42 -05:00
Raymond Hill 3b9fd49c50 Assets management refactored (#2314)
* refactoring assets management code

* finalizing refactoring of assets management

* various code review of new assets management code

* fix #2281

* fix #1961

* fix #1293

* fix #1275

* fix update scheduler timing logic

* forward compatibility (to be removed once 1.11+ is widespread)

* more codereview; give admins ability to specify own assets.json

* "assetKey" is more accurate than "path"

* fix group count update when building dom incrementally

* reorganize content (order, added URLs, etc.)

* ability to customize updater through advanced settings

* better spinner icon
2017-01-18 13:17:47 -05:00