ad-block-js
parse subset of ad-block address/url blocking rules
supports: wildcards, ||domain, |beginning, end|, separator^ ( /:?=& )
ignores: @@exceptions, $options, ##elements
ref: https://help.eyeo.com/en/adblockplus/how-to-write-filters#introduction
Easy to use
Module usage
const abjs = const client = abjs // curl -O https://easylist.to/easylist/easylist.txtconst easylist = easylist const url = 'example.com/foo/bar.gif'console // false const adurl = 'example.com/foo/bar.gif&adflag='console // true
About
Parse a subset of url blocking rules in the ad-block rule format.
Why
Other alternatives are heavy and require gyp-rebuilds etc.
For who?
Those who want a simple but better than average ad-blocking.
How
Using plain JavaScript we parse some (not all) of the basic rule formats and use primarily String.indexOf() to seek for matches ( indexOf is an order of magnitude faster than traditional for-loops, at least on V8 )
ref: https://help.eyeo.com/en/adblockplus/how-to-write-filters#introduction
Alternatives
Test
test (and benchmark) indexOf version
npm test
test (and benchmark) for-loop version
node test/test-for-loop.js