Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stop Pub

Stop Pub est une extension anti-publicité (Manifest V3) pour Chrome, Edge, Brave, Opera et Firefox.

Elle bloque les publicités et les traqueurs grâce aux listes EasyList, EasyList FR et EasyPrivacy (anti-traqueurs), intégrées à l'extension au moment du build (aucun téléchargement à l'exécution).

Fonctionnalités

  • Blocage réseau basé sur EasyList + EasyList FR + EasyPrivacy, converties en règles declarativeNetRequest au moment du build ;
  • Masquage cosmétique des emplacements publicitaires résiduels (sélecteurs CSS ##) ;
  • Règles personnalisées : ajoutez vos propres filtres de blocage, d'exception ou de masquage ;
  • Pause par site : désactivez le blocage sur un site précis en un clic depuis le popup ;
  • Pause globale : suspendez tout le blocage temporairement ;
  • Compteur de requêtes bloquéesChromium uniquement : Firefox n'expose pas l'API de comptage (getMatchedRules / feedback des règles), le compteur y est donc indisponible.

Prérequis

  • Node.js ≥ 18

Build

npm install
npm run build

npm run build :

  1. télécharge EasyList, EasyList FR et EasyPrivacy (cache dans build/.cache/) ;
  2. convertit les filtres en règles declarativeNetRequest et en listes de sélecteurs cosmétiques ;
  3. assemble les deux versions de l'extension dans dist/chromium/ et dist/firefox/.

Autres commandes :

Commande Description
npm run build:test Build rapide avec une mini-liste de test intégrée, sans aucun téléchargement (pratique hors ligne ou pour le développement).
npm run zip Build complet puis création des archives stop-pub-chromium.zip et stop-pub-firefox.zip dans dist/.

Installation

Chrome / Edge / Brave / Opera

  1. Ouvrir chrome://extensions (ou edge://extensions, brave://extensions, opera://extensions) ;
  2. Activer le Mode développeur (interrupteur en haut à droite) ;
  3. Cliquer sur « Charger l'extension non empaquetée » ;
  4. Sélectionner le dossier dist/chromium.

Firefox

  1. Ouvrir about:debugging#/runtime/this-firefox ;
  2. Cliquer sur « Charger un module complémentaire temporaire » ;
  3. Sélectionner le fichier dist/firefox/manifest.json.

Notes Firefox :

  • Le module chargé de cette façon est temporaire : il disparaît au redémarrage de Firefox. Pour une installation permanente, l'extension doit être signée via addons.mozilla.org ;
  • À l'installation, autorisez l'accès à tous les sites (bouton « Autoriser » dans le popup de l'extension) : c'est nécessaire pour activer le masquage cosmétique ;
  • L'avertissement « Bloquer du contenu sur n'importe quelle page » est normal : il correspond à la permission declarativeNetRequest utilisée pour le blocage réseau ;
  • Pas de compteur de blocages : limitation de l'API Firefox (voir plus haut).

Utilisation

Popup

Cliquez sur l'icône de l'extension pour ouvrir le popup :

  • Compteur de requêtes bloquées sur l'onglet courant et au total (Chromium uniquement) ;
  • Pause sur ce site : désactive le blocage pour le site affiché ;
  • Pause globale : suspend tout le blocage.

Page d'options

  • Règles personnalisées — une règle par ligne, syntaxe supportée :

    Syntaxe Effet
    ||domaine.com^ Bloque les requêtes vers domaine.com et ses sous-domaines
    @@||domaine.com^ Exception : ne jamais bloquer domaine.com
    domaine.com Bloque les URL contenant ce motif
    ##.selecteur Masque les éléments correspondant au sélecteur CSS, sur tous les sites
    site.com##.selecteur Masque le sélecteur uniquement sur site.com
    ! commentaire Ligne de commentaire, ignorée

    Les options de filtre $... (par ex. $script, $third-party) ne sont pas supportées.

  • Sites en pause : liste des sites où le blocage est désactivé, modifiable à tout moment.

Mise à jour des listes

Relancez simplement :

npm run build

Les listes EasyList, EasyList FR et EasyPrivacy sont re-téléchargées (le cache se trouve dans build/.cache/), reconverties, et les dossiers dist/ sont régénérés. Rechargez ensuite l'extension dans le navigateur.

Structure du projet

stop-pub/
├── build/                  # Scripts de build
│   ├── build.js            # Build principal : téléchargement, conversion, assemblage
│   ├── gen-icons.js        # Génération des icônes PNG (sans dépendance image)
│   ├── manifest.base.json  # Manifest commun
│   ├── manifest.chromium.json
│   ├── manifest.firefox.json
│   └── .cache/             # Cache des listes téléchargées
├── src/                    # Code source de l'extension
│   ├── common/             # Constantes et utilitaires partagés
│   └── icons/              # Icônes générées (icon16/32/48/128.png)
└── dist/                   # Sorties du build
    ├── chromium/           # Extension pour Chrome/Edge/Brave/Opera
    ├── firefox/            # Extension pour Firefox
    ├── stop-pub-chromium.zip
    └── stop-pub-firefox.zip

Licences

Les listes de filtres utilisées proviennent du projet EasyList :

  • EasyList, EasyList FR et EasyPrivacy sont distribuées sous double licence GPLv3 / CC BY-SA 3.0.

Le code de l'extension est distinct des listes ; l'utilisation des listes dans le build est soumise à leurs licences respectives.

About

toi aussi t'en as marre des pubs, tiens essaye ça ;)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages