Skip to content

Commit

Permalink
Add support for diff-patching filter lists
Browse files Browse the repository at this point in the history
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
  • Loading branch information
gorhill committed Oct 30, 2023
1 parent 032f170 commit d05ff8f
Show file tree
Hide file tree
Showing 4 changed files with 490 additions and 78 deletions.
6 changes: 2 additions & 4 deletions assets/assets.dev.json
Original file line number Diff line number Diff line change
Expand Up @@ -163,8 +163,7 @@
"cdnURLs": [
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@latest/thirdparties/easylist.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/thirdparties/easylist.txt",
"https://ublockorigin.pages.dev/thirdparties/easylist.txt",
"https://easylist.to/easylist/easylist.txt"
"https://ublockorigin.pages.dev/thirdparties/easylist.txt"
],
"supportURL": "https://easylist.to/"
},
Expand Down Expand Up @@ -215,8 +214,7 @@
"cdnURLs": [
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@latest/thirdparties/easyprivacy.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/thirdparties/easyprivacy.txt",
"https://ublockorigin.pages.dev/thirdparties/easyprivacy.txt",
"https://easylist.to/easylist/easyprivacy.txt"
"https://ublockorigin.pages.dev/thirdparties/easyprivacy.txt"
],
"supportURL": "https://easylist.to/"
},
Expand Down
Loading

0 comments on commit d05ff8f

Please sign in to comment.