De ce conversia filtrelor Adblock în Polipo necesită mai mult decât regex
Păstrați excepțiile și contextul cererii atunci când evaluați o conversie a filtrelor Adblock în Polipo.
Un convertor trebuie să păstreze sensul unei reguli, nu doar să-i transfere caracterele. O listă de filtrare din browser poate depinde de resursa pe care o încarcă pagina, de tipul resursei și de regulile de excepție. O listă de blocare bazată doar pe URL are mai puține informații.
Într-o instalare Polipo existentă, manualul acesteia definește intrările forbiddenFile ca nume de domeniu sau expresii regulate extinse POSIX. Prin urmare, un regex creat pentru motorul Python nu este automat valid în acel fișier.
Începeți cu o submulțime declarată
- Convertiți modelele de blocare URL necondiționate doar după ce le-ați definit ancorele și comportamentul separatorului.
- Păstrați regulile de excepție care încep cu @@. Adăugarea modelelor lor într-un fișier de refuz le inversează sensul.
- Țineți regulile cu opțiuni de context, cum ar fi restricțiile de script sau de domeniu, în afara unei conversii bazate doar pe URL, dacă ținta nu poate reprezenta acele condiții.
- Excludeți regulile de ascundere a elementelor: selectarea elementelor DOM ale unei pagini necesită alt mecanism.
Ștergerea unei opțiuni neacceptate poate lărgi o regulă condiționată într-o blocare necondiționată. Raportați acele reguli omise în loc să afirmați în tăcere o conversie completă.
Pachetul istoric adblockparser poate analiza și evalua o submulțime de reguli Adblock Plus. README-ul său documentează regulile de ascundere a elementelor ignorate, potrivirea dependentă de opțiuni și alte limitări; depozitul său a fost arhivat la 24 iunie 2026. Tratați rezultatul său ca material de comparat cu motorul țintă, nu ca o promisiune a unei conversii fidele a întregii liste.
Luați în calcul ce vede proxy-ul
Pentru tunelurile HTTPS obișnuite, filtrarea tunelurilor din Polipo vede numele gazdei și portul, nu calea URL criptată. Fișierul său forbiddenTunnelsFile este o suprafață de politică separată. O expresie de cale tradusă perfect tot nu poate potrivi conținutul pe care proxy-ul nu îl vede niciodată.
Documentați submulțimea păstrată și verificați atât blocările intenționate, cât și excepțiile intenționate atunci când evaluați o conversie. Faptul că fișierul se încarcă dovedește acceptarea sintaxei, nu o filtrare echivalentă.