Pourquoi la conversion des filtres Adblock vers Polipo demande plus que des regex
Préservez les exceptions et le contexte des requêtes lors de l'évaluation d'une conversion de filtres Adblock vers Polipo.
Un convertisseur doit préserver le sens d'une règle, et pas seulement transposer ses caractères. Une liste de filtrage de navigateur peut dépendre de la ressource chargée par la page, du type de ressource et de règles d'exception. Une liste de blocage fondée sur la seule URL dispose de moins d'informations.
Dans une installation Polipo existante, son manuel définit les entrées forbiddenFile comme des noms de domaine ou des expressions régulières étendues POSIX. Une regex produite pour le moteur de Python n'est donc pas automatiquement valide dans ce fichier.
Commencer par un sous-ensemble déclaré
- Ne convertissez les motifs de blocage d'URL inconditionnels qu'après avoir défini leurs ancres et le comportement du séparateur.
- Préservez les règles d'exception commençant par @@. Ajouter leurs motifs à un fichier de refus inverse leur sens.
- Laissez les règles dotées d'options de contexte, comme les restrictions de script ou de domaine, hors d'une conversion fondée sur la seule URL, sauf si la cible peut représenter ces conditions.
- Excluez les règles de masquage d'éléments : sélectionner les éléments DOM d'une page exige un autre mécanisme.
Supprimer une option non prise en charge peut élargir une règle conditionnelle en blocage inconditionnel. Signalez ces règles écartées au lieu de revendiquer silencieusement une conversion complète.
Le paquet historique adblockparser sait analyser et évaluer un sous-ensemble des règles Adblock Plus. Son README documente les règles de masquage d'éléments ignorées, la correspondance dépendante des options et d'autres limites ; son dépôt a été archivé le 24 juin 2026. Traitez sa sortie comme un matériau à confronter au moteur cible, non comme la promesse d'une conversion fidèle de toute la liste.
Tenir compte de ce que voit le proxy
Pour les tunnels HTTPS ordinaires, le filtrage de tunnels de Polipo voit le nom d'hôte et le port, pas le chemin d'URL chiffré. Son forbiddenTunnelsFile est une surface de politique distincte. Une expression de chemin parfaitement traduite ne peut toujours pas correspondre à un contenu que le proxy ne voit jamais.
Documentez le sous-ensemble conservé et vérifiez à la fois les blocages prévus et les exceptions prévues lors de l'évaluation d'une conversion. Le chargement du fichier prouve l'acceptation de la syntaxe, pas un filtrage équivalent.