Commit Graph

12328 Commits

Author SHA1 Message Date
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