Block advertisements, malware, and websites in Electron
npm install electron-web-blocker
isBlacklisted("example.com"),
- Can take an Electron BrowserWindow or BrowserView as parameter of filter()
$3
`sh
$ npm install electron-web-blocker
`
$3
This module expects the following format:
`
example.com
subdomain.example.com
*.example.com
`
Hosts files which start with a local address (e.g. 0.0.0.0, 127.0.0.1) can also be used. The local addresses will not have a functional purpose, and are removed at initialization, along with the prefixes and suffixes ||, ^, ::, #, address=/, www., and whitespace and duplicate addresses.
$3
- path (string): a local or remote HTTP/HTTPS path to the web addresses/hosts file that overrides the internal hosts file; leave as an empty string ("") to disable the internal hosts file
- updateAfterSeconds (integer): update the web addresses file after a period of time in seconds
- updateNow (boolean): whether to update immediately on initialization
- blacklist (string, array): a custom blacklist in addition to the web addresses/hosts file, such as defined by user input
- whitelist (string, array): a custom whitelist that overrides the web addresses/hosts file and custom blacklist
$3
- .add() (string, array): add to the current list
- .remove() (string, array): remove from the current list
- .reset(): reset the list
- .get(): get the current list array
$3
- returns whether or not a url as str is blacklisted or not
$3
- logger (function): a way to log blocked requests (e.g. console.log)
- onRequest (function): gets called like the original onRequest of a BrowserWindow or BrowserView instance.
$3
`js
const webBlocker = require('electron-web-blocker');
const { BrowserWindow } = require('electron');
webBlocker.init({
path: "hosts-url.ext/hosts",
updateAfterSeconds: 3600,
updateNow: true,
blacklist: ["example.com"],
whitelist: ["example.com"]
});
const mainWindow = new BrowserWindow({ width: 800, height: 600 });
// generic use
console.log(webBlocker.isBlacklisted("example.com")); // returns true or false
// electron use
webBlocker.filter(mainWindow, {
logger: console.log,
onRequest: (details, callback, shouldBeBlocked) => {
// Execute your own onRequest function here...
}
});
``