1
0
mirror of https://github.com/gorhill/uBlock.git synced 2024-11-17 16:02:33 +01:00
Commit Graph

244 Commits

Author SHA1 Message Date
Raymond Hill
d693d4fba3
add new "Benchmarks" pane in dashboard
Purpose is strictly for development purpose. The new pane can
be enabled by setting the advanced setting `benchmarkingPane`
to  `true`.
2018-11-02 16:18:50 -03:00
Raymond Hill
6d9382a501
fix https://github.com/uBlockOrigin/uBlock-issues/issues/77 2018-10-29 09:56:51 -03:00
Raymond Hill
9039874fc9
refactor some webRequest-related code (now that firefox legacy is out of the way) 2018-10-28 10:58:25 -03:00
Raymond Hill
cabb0d36b6
fix https://github.com/gorhill/uBlock/issues/3371 2018-10-23 14:01:08 -03:00
Raymond Hill
e107cbb370
revised fix for https://github.com/uBlockOrigin/uBlock-issues/issues/229 2018-09-21 09:16:46 -04:00
Raymond Hill
06fe7e6871
code review for static extended filtering, notably:
- use domain-derived integer hash to store filters

- remove code meant for firefox/legacy

- properly handle subdomains of entity-based filters
2018-09-09 08:10:09 -04:00
Raymond Hill
89c073f3e9
fix https://github.com/uBlockOrigin/uBlock-issues/issues/209 2018-09-07 09:11:07 -04:00
Raymond Hill
3c85c03194
fix #308, #3436, https://github.com/uBlockOrigin/uBlock-issues/issues/155
<https://github.com/gorhill/uBlock/issues/3436>: a new per-site switch
has been added, no-scripting, which purpose is to wholly disable/enable
javascript for a given site. This new switch has precedence over all
other ways javascript can be disabled, including precedence over dynamic
filtering rules.

The popup panel will report the number of script resources which have
been seen by uBO for the current page. There is a minor inaccuracy to
be fixed regarding the count, and which fix requires to extend request
journaling.

<https://github.com/gorhill/uBlock/issues/308>: the `noscript` tags will
now be respected when the new no-scripting switch is in effect on a given
site.

A default setting has been added to the _Settings_ pane to
disable/enable globally the new no-script switch, such that one can
work in default-deny mode regarding javascript execution.

<https://github.com/uBlockOrigin/uBlock-issues/issues/155>: a new
hidden setting, `requestJournalProcessPeriod`, has been added to
allow controlling the delay before uBO internally process it's
network request journal queue. Default to 1000 (milliseconds).
2018-08-31 18:47:02 -04:00
Raymond Hill
b7c4ee0c45
enable cache storage compression by default 2018-08-21 12:59:35 -04:00
Raymond Hill
e163080518
added optional lz4 compression for cache storage (https://github.com/uBlockOrigin/uBlock-issues/issues/141)
Squashed commit of the following:

commit 6a8473822537636ac54d5dabdb14472114bb730b
Author: Raymond Hill <rhill@raymondhill.net>
Date:   Mon Aug 6 10:56:44 2018 -0400

    remove remnant of snappyjs and spurious instruction

commit 9a4b709bee97d3cc2235fab602359fa5953bdb46
Author: Raymond Hill <rhill@raymondhill.net>
Date:   Mon Aug 6 09:48:58 2018 -0400

    make cache storage compression optionally available on all platforms

    New advanced setting: `cacheStorageCompression`. Default is `false`.

commit 22ee6547f2f7c9c5aefe25dea1262a1b31612155
Author: Raymond Hill <rhill@raymondhill.net>
Date:   Sun Aug 5 19:16:26 2018 -0400

    remove Chromium from lz4 experiment

commit ee3e201c45afe983508f70713a2d43af74737d8d
Author: Raymond Hill <rhill@raymondhill.net>
Date:   Sun Aug 5 18:52:43 2018 -0400

    import lz4-block-codec.wasm library

commit 883a3118efcfd749c82356fde7134754d6ae371d
Author: Raymond Hill <rhill@raymondhill.net>
Date:   Sun Aug 5 18:50:46 2018 -0400

    implement storage compression through lz4-wasm [draft]

commit 48d1ccaba407de447c2cd6747dc3a90839c260a7
Merge: 8ae77e6 b34c897
Author: Raymond Hill <rhill@raymondhill.net>
Date:   Sat Aug 4 08:56:51 2018 -0400

    Merge branch 'master' of github.com:gorhill/uBlock into lz4

commit 8ae77e6aeeaa85af335e664c2560d2afd37288c6
Author: Raymond Hill <rhill@raymondhill.net>
Date:   Wed Jul 25 18:17:45 2018 -0400

    experiment with compression
2018-08-06 12:34:41 -04:00
Raymond Hill
ef455deb0a
fix https://github.com/uBlockOrigin/uBlock-issues/issues/106 2018-07-18 18:00:55 -04:00
Raymond Hill
798f8dab9d
reduce baseline memory at selfie-load time 2018-06-01 07:54:31 -04:00
Raymond Hill
ab867dedf5
improve in-memory storage of specific cosmetic filters + more ES6
- collate together specific filters with same base domain
- replace string-based hash to integer-based hash
- revisit code to benefit from ES6-specific syntax
2018-05-31 10:41:03 -04:00
Raymond Hill
c6cab02999
fine-tune logger-related code
- Default to being detached
- Default to "Current tab"
- Append current tab title to "Current tab" entry
- Avoid iterating through all tabs when no change
2018-05-27 08:31:17 -04:00
Raymond Hill
b4306e3297
code reivew of c5d8588118: immediate scriptlets injection works well only on Chromium-based browsers for now 2018-05-18 10:19:14 -04:00
Raymond Hill
c5d8588118
inject scriptlets earlier (experimental) (ex. https://github.com/uBlockOrigin/uAssets/issues/2300) 2018-05-17 07:33:21 -04:00
Raymond Hill
3923520b87
remove no longer needed platform-dependent polyfill.js 2018-04-27 08:36:38 -04:00
Raymond Hill
427d0fd0ff
fix https://github.com/uBlockOrigin/uBlock-issues/issues/21 2018-04-24 17:12:41 -04:00
Raymond Hill
86e80d43d6
fix https://github.com/gorhill/uBlock/issues/3693#issuecomment-379782428 2018-04-20 11:26:11 -04:00
Raymond Hill
0036154d52
code review: be sure "ublock" flavor is always present 2018-04-18 07:11:13 -04:00
Raymond Hill
8071321e91
lower default value of manualUpdateAssetFetchPeriod 2018-04-09 08:26:14 -04:00
Raymond Hill
4d8974fe80
code review: avoid redundant PSL selfie 2018-04-06 16:02:35 -04:00
Raymond Hill
93f49a61d7
add pre-processor directives to filter list compiler (https://github.com/AdguardTeam/AdguardBrowserExtension/issues/917) 2018-04-05 07:29:15 -04:00
Raymond Hill
0a879a816b
treat behind-the-scene network requests like all others 2018-03-30 08:55:51 -04:00
Raymond Hill
2c901588c7
fix #3546, #3428 2018-02-26 13:59:16 -05:00
Raymond Hill
a81d2a759b
fix #3318, #3387 2018-02-21 13:29:36 -05:00
Raymond Hill
6b7d8e75f4
bring out of band fixes (c5cbf5db47, 2999dbee5c) for Firefox/webext into master 2018-02-21 08:19:43 -05:00
Raymond Hill
17930cc778
fix #3474, #2823 2018-02-15 17:25:38 -05:00
Raymond Hill
a9f68fe02f
Fix #3069, and consequently #3374, #3378.
A new filtering class has been created: "static extended filtering".
This new class is an umbrella class for more specialized filtering
engines:
- Cosmetic filtering
- Scriptlet filtering
- HTML filtering

HTML filtering is available only on platforms which support modifying
the response body on the fly, so only Firefox 57+ at the moment.

With the ability to modify the response body, HTML filtering has
been introduced: removing elements from the DOM before the source
data has been parsed by the browser.

A consequence of HTML filtering ability is to bring back script tag
filtering feature.
2017-12-28 13:49:02 -05:00
Raymond Hill
b446f9f8bd
fix regression reported in dec0b80a72 (commitcomment-26435928) by partially reverting changes from 4a09c9f866 2017-12-22 11:45:07 -05:00
Raymond Hill
4a09c9f866
improve slightly pre-parsing of ##script:... filters 2017-12-17 10:28:12 -05:00
Raymond Hill
dec0b80a72
fix #2877 2017-12-17 08:09:47 -05:00
gorhill
6112a68faf
fix #2984 2017-10-21 13:43:46 -04:00
gorhill
0c1207bd7a
fix #3110 2017-10-09 09:28:28 -04:00
gorhill
2c4faaa84d
fix #3020 2017-09-16 07:49:43 -04:00
gorhill
2660bee0d2
fix #2919 2017-09-05 19:49:48 -04:00
gorhill
49d287994f
remove obsolete default whitelist directive 2017-07-14 07:49:58 -04:00
gorhill
cc935ee19a
minor fine tuning 2017-06-02 08:17:09 -04:00
gorhill
39aeaa12a7
new feature: element zapper 2017-05-27 11:51:24 -04:00
gorhill
aae97b8535
fix badfilter option; performance work
- badfilter option was no longer working following last refactoring
  changes.
- performance work:
    - reduce duplication of large strings.
    - new lighter FilterBucket to use when only 2 filters: FilterPair.
2017-05-26 20:00:21 -04:00
gorhill
f3e6057e07
fix #2598: refactor to address the cause rather than the symptoms 2017-05-25 17:46:59 -04:00
gorhill
a222e23e49
fix #2630 2017-05-19 08:45:19 -04:00
gorhill
0232382695
refactor static network filtering, add support for csp injection 2017-05-12 10:35:11 -04:00
gorhill
5015826546 fix #2267 2017-03-05 12:54:47 -05:00
gorhill
4d1ed37556 Firefox WebExt readiness (#622) + support more webRequest types when available (websocket, font, csp_report) 2017-03-05 08:25:55 -05:00
gorhill
9309df4196 3rd-party filters pane revisited 2017-01-22 16:05:16 -05:00
gorhill
82155c09b6 fix #2323 2017-01-19 08:35:08 -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
gorhill
c6dbdbd23b code review of procedural cosmetic filters + better validate :style option (#2278) 2016-12-30 10:32:17 -05:00
gorhill
d4155bf9e0 new revision for dev build + force lists to be recompiled 2016-12-25 17:00:24 -05:00
gorhill
ee4fc2aed6 code review re advanced settings + added popupFontSize 2016-11-06 16:27:21 -05:00
gorhill
446d7fad2e fix #2010, #2086 2016-11-05 14:48:42 -04:00
gorhill
8c3da95d65 fix #2067 (experimental) + support for hidden settings 2016-11-03 11:20:47 -04:00
gorhill
6062ec9b23 fix #2100 2016-10-26 12:40:05 -04:00
gorhill
e01a130bc5 changes required to use chromium platform code for webext platform code 2016-10-19 10:20:26 -04:00
gorhill
0454ad1b1f re. #1070: rewrite redirect engine to use ES6 Sets/Maps 2016-10-10 09:01:05 -04:00
gorhill
3ff3ae7d70 fix #2053 2016-10-08 10:15:31 -04:00
gorhill
c956b93369 fix #1669 2016-10-03 23:41:23 -04:00
gorhill
269c35a04a fix #1997 2016-09-16 17:41:17 -04:00
gorhill
a7fe367eec refactor where appropriate to make use of ES6 Set/Map (#1070)
At the same time, the following issues were fixed:
- #1954: automatically lookup site-specific scriptlets
- https://github.com/uBlockOrigin/uAssets/issues/23
2016-09-12 10:22:25 -04:00
Cqoicebordel
42ce8e7e5d Add vivaldi-scheme as a default in Whitelist (#1785)
Vivaldi is another browser based on Blink, that supports uBlock. Adding its scheme in the default whitelisting would prevent any issue with it.
2016-08-24 09:05:36 -04:00
gorhill
e9157bafb7 fix #1892, #1891 2016-08-13 16:42:58 -04:00
gorhill
e99d993a4c new content script code: perf work re. high-high generics
Now splitting high-high generics in two subgroups: one group for
simple selectors, another group for complex selectors. Turns out
the great majority of high-high generics are simple selectors, and
simple selectors can be applied incrementally with DOM changes, as
opposed to complex selectors. This brings in a significant perf.
improvement in the processing of high-high generics (previously,
all high-high generic selectors were processed as one big complex
selector).
2016-06-28 22:01:15 -04:00
gorhill
2ea36d6a7f fix https://github.com/uBlockOrigin/uAssets/issues/50 2016-05-26 08:34:28 -04:00
gorhill
36e681e39b this fixes #1484 2016-03-17 13:56:21 -04:00
gorhill
74905aa2a5 this fixes #370, #1477 2016-03-15 11:18:34 -04:00
gorhill
c96d90b048 this fixes #883 2016-03-06 19:16:46 -05:00
gorhill
cf77bc2dae 1st part of fix for #1293: 2nd part after 6 weeks following release of 1.6.0 2016-01-25 00:54:54 -05:00
gorhill
7a49a7f56f this addresses #1275: will complete the fix 4-6 weeks after releasing 1.6.0 2016-01-22 20:01:07 -05:00
gorhill
89148351e8 #1163: this implements "block elements by size" 2016-01-17 13:30:43 -05:00
gorhill
ddd77985ef remove block-then-redirect 1st-party list.
redirection is now used for all kind of purpose: privacy, to counter
anti-blocker mechanisms, etc.
2016-01-07 18:09:06 -05:00
gorhill
16a128dff0 this fixes #747 2016-01-03 13:58:25 -05:00
gorhill
1fe5a16c32 this fixes #1100: ability to inject directly a resource from redirection library 2015-12-22 16:32:09 -05:00
gorhill
d7523aad6d this fixes #451 2015-12-13 00:56:30 -05:00
gorhill
334506e1b9 experimental filters 2015-12-06 08:22:31 -05:00
gorhill
e1def0dc7e this will addresses #965 for next release 2015-11-24 12:11:39 -05:00
gorhill
1005a3e524 refactoring redirect engine: static filters are now the way to create redirection rules 2015-11-23 19:34:41 -05:00
gorhill
77504cb561 this fixes #951 2015-11-20 08:47:29 -05:00
gorhill
403f728777 put back http, https does not respond anymore 2015-11-01 11:27:15 -05:00
gorhill
13f05e5647 https now available 2015-10-28 15:23:51 -04:00
gorhill
2d0ed21544 this addresses http://www.wilderssecurity.com/threads/ublock-a-lean-and-fast-blocker.365273/page-63#post-2532835 2015-10-09 09:43:36 -04:00
gorhill
31f9cfe3de this fixes #711 2015-09-13 14:29:43 -04:00
gorhill
90a2c608bb this fixes #708 2015-09-13 10:26:36 -04:00
gorhill
59bdcbdb7e code reviewed implementation of high-medium generic cosmetic filters 2015-09-11 17:59:25 -04:00
gorhill
36a15e2e02 Experimental fix for #44
Disregard no-popups per-site switch for a URL which matches
a link clicked by the user.
2015-09-10 13:46:18 -04:00
gorhill
027e8c5977 #621: re-factored how domain= filter option is tested 2015-08-22 12:15:16 -04:00
gorhill
a63ac99e03 this fixes #621
Interpretation/implementation of exception filters with negated
hostname(s) has been revised: no block filter is implied anymore
for such filters. At time of writing I found only 10 such filters
in EasyList, and none in commonly used filter lists.
2015-08-21 21:52:16 -04:00
gorhill
efccaf1416 All third-party assets which are not enabled by default will no longer be
part of the package. The code here is to ensure a seamless transition from
local assets which have been converted to remote assets. The only side
effect to expect is that the selfie, if any, will be invalidated.
2015-08-18 13:15:58 -04:00
gorhill
251ed0d0d7 this addresses #583: provide a link to the "Badware risks" wiki page 2015-08-10 08:30:23 -04:00
gorhill
1ba7894a29 ability to prevent local ip address leak thru webrtc 2015-06-24 20:01:27 -04:00
gorhill
0f5739900c more concise name 2015-06-17 09:21:44 -04:00
gorhill
b8ed68525f filter list dedicated to sites documented as crapware risk 2015-06-16 09:16:15 -04:00
gorhill
2619d31e63 probably will fix #339 2015-06-11 18:33:11 -04:00
gorhill
b51e951536 this fixes #313 2015-06-08 08:09:08 -04:00
gorhill
ee8dd54481 added ability to disable hyperlink auditing 2015-06-02 08:26:35 -04:00
gorhill
14371b5d92 this fixes #274 2015-06-01 15:03:22 -04:00
gorhill
72c930ddff logger: UI work on URL-based dynamic filtering 2015-05-24 18:50:09 -04:00
gorhill
ea4f4cee72 logger: do not regenerate whole tab selector if no change 2015-05-18 08:12:35 -04:00
gorhill
52b2868c74 re. #150: make sure all filter lists are re-compiled 2015-04-29 10:50:55 -04:00
gorhill
318f2bf093 this fixes #142 2015-04-27 15:09:19 -04:00
gorhill
600fa2c3d9 this fixes #135 2015-04-27 10:54:13 -04:00
gorhill
6a9585c056 1st step of splitting ublock's own filters into two separate files 2015-04-24 07:40:34 -04:00
gorhill
78ad7929a6 This addresses colour-blindness issues, using contributed solution https://github.com/chrisaljoudi/uBlock/issues/467#issuecomment-95177219 2015-04-22 10:46:10 -04:00
gorhill
58e5695157 this addresses 5f65b1798a (commitcomment-10787154) 2015-04-18 07:30:52 -04:00
gorhill
bea512a6d0 minor change 2015-04-16 10:45:20 -04:00
Bernd
bf957d6b42 remove '' 2015-04-15 21:30:57 +02:00
YFdyh000
6e77ec33ff Correct issue links 2015-04-07 09:46:26 +08:00
gorhill
bc83836a7b support font request type 2015-04-05 10:38:47 -04:00
gorhill
f2ff0edfaf this fixes #1013, #1062 (draft) 2015-03-27 13:00:55 -04:00
gorhill
a4b4bc98ff this fixes #1013 2015-03-25 19:28:22 -04:00
gorhill
e642423a55 re. #1070 2015-03-22 10:43:20 -04:00
gorhill
45882970fa remember/restore element picker session data when same URL 2015-03-20 11:39:20 -04:00
gorhill
6a523656c3 code review: no need to distinguish generic exception filters 2015-03-13 12:48:40 -04:00
gorhill
57274ac726 this fixes #497 2015-03-13 12:26:54 -04:00
gorhill
ba689f7929 re. #962 2015-03-09 01:09:27 -04:00
Deathamns
95b778fbc7 Change extension description 2015-03-07 19:20:18 +01:00
gorhill
d8b949ecbe this fixes #932 2015-03-06 23:36:09 -05:00
gorhill
5f65b1798a this fixes #702 2015-03-04 19:36:09 -05:00
gorhill
1aff89c677 more work on request logger 2015-03-03 19:11:32 -05:00
gorhill
82c0342f23 hostname-based version of #915 2015-03-02 16:22:23 -05:00
gorhill
1136734e33 this fixes #915 2015-03-02 10:41:51 -05:00
gorhill
c28568f9b0 support 2-letter hostname, for when using TLD alone 2015-03-01 17:25:48 -05:00
gorhill
7ad472e75d this fixes #903 2015-02-28 10:00:12 -05:00
gorhill
25c0333fbe this addresses a part of #498 2015-02-26 18:08:42 -05:00
gorhill
c7bab5502e this mitigates #520, #376 2015-02-23 18:31:29 -05:00
gorhill
4d48fd078c usability: minimized by default 2015-02-18 09:15:59 -05:00
gorhill
e464dd9042 this fixes #820 2015-02-16 21:15:09 -05:00
gorhill
bca949748d this fixes #376 2015-02-13 12:10:10 -05:00
gorhill
646f92b32f #731: added session and permanent firewalls 2015-02-11 00:26:45 -05:00
gorhill
6be9a8a9d3 this fixes #723 2015-02-07 22:20:24 -05:00
gorhill
7a5d09b4a2 this fixes #665 2015-02-04 18:06:31 -05:00
gorhill
8dcc994371 addressing all small details 2015-01-24 12:06:22 -05:00
gorhill
1d1a3983e3 syncing with master 2015-01-23 15:36:32 -05:00
gorhill
673b8774be this fixes #582 2015-01-23 11:32:49 -05:00
gorhill
4edfae4b94 code review: jshint'ed 2015-01-21 08:59:23 -05:00
gorhill
255c68baa4 this fixes #536 2015-01-20 19:39:13 -05:00
gorhill
881e8111d8 "advanced user" flag + rearranging a bit dashboard 2015-01-06 11:44:06 -05:00
gorhill
1597ce7fd9 lot of work related to dynamic filtering + new net requests logger 2015-01-06 08:01:15 -05:00
gorhill
1fe7045b92 too many changes for #433: branching so that I can commit and keep working on it 2014-12-28 10:07:43 -05:00
Raymond Hill
84c069dfaa continued: corralling platform-specific stuff into their meta folder 2014-11-16 00:21:13 -02:00
Raymond Hill
eafc96859c further separate platform-specific code 2014-11-15 16:15:11 -02:00
Deathamns
749b6f186d Use a dedicated file for storing extension info
Chrome has getManifest(), Safari doesn't have anything, Firefox has an
asynchronous API...
So, instead of using extension APIs, store the common informations
(extension name, version, homepage url) in a file (vapi-appinfo.js), which
can be included when it's needed (its data will be available at vAPI.app.____).
The file's content is updated each time the extension is being built, so
it shouldn't be modified manually.
2014-11-09 17:39:38 +01:00
Deathamns
0886f7e886 Add .jshintrc, and use the "use strict" directive
.jshintrc's otion-set is a personal choice, merely a suggestion.
Beside that, it includes some common globals for specific browsers, so
there's no need to set the globals in every .js file.

In order to force strict coding, "use strict" directive was added into
every .js file.
2014-11-09 17:39:17 +01:00
Deathamns
5b79bf3536 Work on vendor API abstraction, and near complete Safari support 2014-11-09 17:39:12 +01:00