- Mobile-friendly adblocker for Android in multiple setups: react-native, WebExtension, etc. (ghostery and cliqz)
- Ads and trackers blocker in Electron applications, Puppeteer headless browsers, Cliqz browser, WebExtensions (cliqz, ghostery and standalone)
- Backend requests processing job
The library provides all necessary building blocks to create a powerful and efficient content-blocker and gives full flexibility as to which lists should be used and how they should be fetched or updated.
Multiple specialized packages are available to satisfy different needs:
@cliqz/adblocker(core logic of content blocking)
Checkout detailed documentation for each of these packages in the
To make sure content blocking can run at full-speed on a variety of devices (including low-end mobile phones), we built the library with performance in mind from the ground-up. From our recent performance study, we perform consistently better than popular alternatives in terms of: memory consumption, start from cache time, matching speed and size of cache.
Another interesting metric is the time it takes to initialize the
FiltersEngine instance from its serialized form. It is especially beneficial for mobile phones, because this serialized engine can be created backend-side and distributed through a CDN; which means clients do not have any cost to pay except downloading the file.
The majority of the common filters are supported out of the box but some rare ones are not. To know more, check the compatibility matrix on the wiki.
- fork and clone the repository:
git clone firstname.lastname@example.org:<your remote>/adblocker.git
npx lerna bootstrap
- start working on one of the sub-packages!
In case you have any question, feel free to open an issue or a pull request to get some help!
To publish a new version:
engine.ts(to invalidate serialized versions)
- Create a new branch (e.g.:
- Update CHANGELOG.md
- Create a release commit (e.g.: "Release vx.y.z")
- Create a PR for the release
- Merge and create a new Release on GitHub
- Travis takes care of the rest!