Skip to content

Instantly share code, notes, and snippets.

@johackim
Last active June 19, 2023 13:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save johackim/ade63861c8080978482112e72dbda9a3 to your computer and use it in GitHub Desktop.
Save johackim/ade63861c8080978482112e72dbda9a3 to your computer and use it in GitHub Desktop.
Add chrome extension on Electron

With electron-chrome-extensions

const { app, BrowserWindow, session } = require('electron');
const { ElectronChromeExtensions } = require('electron-chrome-extensions');

app.on('ready', async () => {
    await session.defaultSession.loadExtension(`${process.cwd()}/extensions/ublock/`);
    await session.defaultSession.loadExtension(`${process.cwd()}/extensions/minimal/`);

    const browserWindow = new BrowserWindow();

    const extensions = new ElectronChromeExtensions();
    extensions.addTab(browserWindow.webContents, browserWindow);

    browserWindow.loadURL('https://youtube.com');
    browserWindow.show();
});

With @cliqz/adblocker-electron

const { app, BrowserWindow } = require('electron');
const { ElectronBlocker } = require('@cliqz/adblocker-electron');
const fetch = require('cross-fetch');

app.on('ready', async () => {
    const mainWindow = new BrowserWindow();

    ElectronBlocker.fromPrebuiltAdsAndTracking(fetch).then((blocker) => {
        blocker.enableBlockingInSession(mainWindow.webContents.session);
    });

    const url = 'https://youtube.com';
    mainWindow.loadURL(url);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment