
Security News
TypeScript is Porting Its Compiler to Go for 10x Faster Builds
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
@cliqz/adblocker-electron
Advanced tools
Efficient
· Minimal
· JavaScript
· TypeScript
· uBlock Origin- and Easylist-compatible
Node.js
· Puppeteer
· Electron
· WebExtension
Install: npm install --save @cliqz/adblocker-electron
.
For a complete example check-out: @cliqz/adblocker-electron-example.
Creating an instance of ElectronBlocker
and start blocking ads!
import { ElectronBlocker } from '@cliqz/adblocker-electron';
import fetch from 'cross-fetch'; // required 'fetch'
ElectronBlocker.fromPrebuiltAdsAndTracking(fetch).then((blocker) => {
blocker.enableBlockingInSession(session.defaultSession);
});
You are ready to block ads!
There are other ways you can create an instance of the blocking engine to start blocking ads.
If you already have filters locally:
import { ElectronBlocker } from '@cliqz/adblocker-electron';
const blocker = ElectronBlocker.parse(fs.readFileSync('easylist.txt', 'utf-8'));
Fetching lists from URLs:
import { ElectronBlocker } from '@cliqz/adblocker-electron';
import fetch from 'cross-fetch'; // required 'fetch'
const blocker = await ElectronBlocker.fromLists(fetch, [
'https://easylist.to/easylist/easylist.txt'
]);
Use ready-made configs to block ads and optionally trackers:
import { ElectronBlocker } from '@cliqz/adblocker-electron';
import fetch from 'cross-fetch'; // required 'fetch'
let blocker = await ElectronBlocker.fromPrebuiltAdsOnly(fetch); // ads only
blocker = await ElectronBlocker.fromPrebuiltAdsAndTracking(fetch); // ads and tracking
To stop blocking ads in a session:
blocker.disableBlockingInSession(session.defaultSession);
To avoid having to create the same instance of ElectronBlocker
all over again,
you can serialize it to a byte-array which you can store on disk for faster
loading.
import { ElectronBlocker } from '@cliqz/adblocker-electron';
import fetch from 'cross-fetch'; // required 'fetch'
import { promises as fs } from 'fs'; // used for caching
ElectronBlocker.fromPrebuiltAdsAndTracking(fetch, {
path: 'engine.bin',
read: fs.readFile,
write: fs.writeFile,
}).then((blocker) => {
blocker.enableBlockingInSession(session.defaultSession);
});
Or you can do this manually to control the way caching is done:
import { ElectronBlocker } from '@cliqz/adblocker-electron';
import fetch from 'cross-fetch'; // required 'fetch'
ElectronBlocker.fromPrebuiltAdsAndTracking(fetch).then((blocker) => {
const buffer = blocker.serialize();
const restoredBlocker = ElectronBlocker.deserialize(buffer);
// `restoredBlocker` is deep-equal to `blocker`!
});
v1.34.0 (Wed Oct 16 2024)
@ghostery/adblocker
master
@ghostery/adblocker
$replace
testing material #4302 (@seia-soto)@ghostery/adblocker-puppeteer
@ghostery/adblocker-webextension
@ghostery/adblocker-electron-preload
, @ghostery/adblocker-electron
@ghostery/adblocker-electron-preload
, @ghostery/adblocker-webextension-cosmetics
, @ghostery/adblocker
@ghostery/adblocker-puppeteer
@ghostery/adblocker-electron
, @ghostery/adblocker-extended-selectors
, @ghostery/adblocker-playwright
, @ghostery/adblocker-puppeteer
, @ghostery/adblocker-webextension-cosmetics
, @ghostery/adblocker-webextension
, @ghostery/adblocker
@ghostery/adblocker-electron-preload
@ghostery/adblocker-webextension-cosmetics
@ghostery/adblocker
FAQs
Ghostery adblocker Electron wrapper
The npm package @cliqz/adblocker-electron receives a total of 173 weekly downloads. As such, @cliqz/adblocker-electron popularity was classified as not popular.
We found that @cliqz/adblocker-electron demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
Research
Security News
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.