NanoAdblocker / NanoCore

An adblocker
GNU General Public License v3.0
457 stars 22 forks source link

Filter minimization and delta update: A bandwidth saving experiment #84

Open jspenguin2017 opened 6 years ago

jspenguin2017 commented 6 years ago

Most users don't need to see the content of filter lists, so there is little reason to keep comments in the distributed file. However, this can make development difficult, so Nano will support a pre-processor directive that points a compressed filter to the development version.

!@pragma nano-srcmap=<address> When the filter viewer sees this statement, it will try to load the source map of the filter, if successful, the source map is cached and displayed instead.

https://github.com/gorhill/uBlock/issues/3406

Discussions about delta update are below

jspenguin2017 commented 6 years ago

This could be interesting: https://github.com/ipfs/js-ipfs

gwarser commented 6 years ago

Get diffs directly https://github.com/creationix/js-git ;D

gwarser commented 6 years ago

ABP can implement this faster https://issues.adblockplus.org/ticket/6833

jspenguin2017 commented 6 years ago

OK, that's good. We'll see how they design it.

jspenguin2017 commented 6 years ago

We can use a naive diff algorithm on the extension side, the heavy lifting can be done (once) by the server. We can basically omit any fuzzy-matching logic in the diff algorithm and assume the diff coming from the server is "perfect".