This is a script to convert Adblock Plus filter lists to WebKit block lists.
Note that WebKit content blockers are fairly limited. Hence, not all filters can be converted (in a compatible way), and some differences compared to Adblock Plus for other browsers are expected.
This script is used to convert the filter lists for Adblock Plus for iOS.
The required packages can be installed via NPM:
npm install
The filterClasses module in node_modules/filterClasses.js
is generated from
the module in the adblockpluscore
repository. It has been generated using
JS Hydra, and small modifications made. If you need to re-generate the file run
this command (adjusting the paths as appropriate):
python buildtools/jshydra/abp_rewrite.py adblockpluscore/lib/filterClasses.js | grep -vi filterNotifier > ../abp2blocklist/node_modules/filterClasses.js
You will then need to remove any references to the utils
module from the
generated file by hand.
Create a WebKit block list output.json
from the Adblock Plus filter list input.txt
:
node abp2blocklist.js < input.txt > output.json
Unit tests live in the tests/
directory. To run the unit tests ensure you have
already installed the required packages (see above) and then type this command:
npm test