Por qué la conversión de filtros de Adblock a Polipo necesita más que regex
Conserve las excepciones y el contexto de la petición al evaluar una conversión de filtros de Adblock a Polipo.
Un conversor debe conservar el significado de una regla, no solo trasladar sus caracteres. Una lista de filtrado del navegador puede depender de qué recurso carga la página, del tipo de recurso y de las reglas de excepción. Una lista de bloqueo basada solo en URL tiene menos información.
En una instalación existente de Polipo, su manual define las entradas forbiddenFile como nombres de dominio o expresiones regulares extendidas de POSIX. Por eso, una regex creada para el motor de Python no es válida automáticamente en ese archivo.
Empiece con un subconjunto declarado
- Convierta los patrones de bloqueo de URL incondicionales solo después de definir sus anclas y el comportamiento del separador.
- Conserve las reglas de excepción que empiezan por @@. Añadir sus patrones a un archivo de denegación invierte su significado.
- Mantenga las reglas con opciones de contexto, como restricciones de script o de dominio, fuera de una conversión basada solo en URL, salvo que el destino pueda representar esas condiciones.
- Excluya las reglas de ocultación de elementos: seleccionar elementos del DOM de una página requiere otro mecanismo.
Eliminar una opción no admitida puede ampliar una regla condicional hasta un bloqueo incondicional. Informe de esas reglas omitidas en lugar de afirmar en silencio una conversión completa.
El paquete histórico adblockparser puede analizar y evaluar un subconjunto de reglas de Adblock Plus. Su README documenta las reglas de ocultación de elementos ignoradas, la coincidencia dependiente de opciones y otras limitaciones; su repositorio se archivó el 24 de junio de 2026. Trate su salida como material que contrastar con el motor de destino, no como una promesa de conversión fiel de toda la lista.
Tenga en cuenta lo que ve el proxy
En los túneles HTTPS ordinarios, el filtrado de túneles de Polipo ve el nombre de host y el puerto, no la ruta de URL cifrada. Su forbiddenTunnelsFile es una superficie de política aparte. Una expresión de ruta traducida a la perfección sigue sin poder coincidir con contenido que el proxy nunca ve.
Documente el subconjunto retenido y compruebe tanto los bloqueos previstos como las excepciones previstas al evaluar una conversión. Que el archivo se cargue demuestra aceptación sintáctica, no un filtrado equivalente.