Преобразователь должен сохранять смысл правила, а не только переносить его символы. Список фильтрации в браузере может зависеть от того, какой ресурс загружает страница, от типа ресурса и от правил исключений. Список блокировки, основанный только на URL, содержит меньше информации.

В существующей установке Polipo руководство определяет записи forbiddenFile как доменные имена или расширенные регулярные выражения POSIX. Поэтому regex, созданный для движка Python, не является автоматически допустимым в этом файле.

Начните с объявленного подмножества

  • Преобразуйте безусловные шаблоны блокировки URL только после определения их якорей и поведения разделителя.
  • Сохраняйте правила исключений, начинающиеся с @@. Добавление их шаблонов в файл запретов меняет их смысл на противоположный.
  • Держите правила с контекстными параметрами, например ограничениями script или домена, вне преобразования, основанного только на URL, если цель не может представить эти условия.
  • Исключите правила скрытия элементов: выбор элементов DOM страницы требует иного механизма.

Удаление неподдерживаемого параметра может расширить условное правило до безусловной блокировки. Сообщайте об этих пропущенных правилах, а не заявляйте молча о полном преобразовании.

Исторический пакет adblockparser умеет разбирать и оценивать подмножество правил Adblock Plus. Его README описывает игнорируемые правила скрытия элементов, сопоставление, зависящее от параметров, и другие ограничения; его репозиторий был архивирован 24 июня 2026 года. Относитесь к его выводу как к материалу для сверки с целевым движком, а не как к обещанию точного преобразования всего списка.

Учитывайте то, что видит прокси

Для обычных туннелей HTTPS фильтрация туннелей в Polipo видит имя хоста и порт, а не зашифрованный путь URL. Его forbiddenTunnelsFile — отдельная плоскость политики. Безупречно переведённое выражение пути всё равно не сможет совпасть с содержимым, которого прокси никогда не видит.

Задокументируйте сохранённое подмножество и при оценке преобразования проверяйте как предполагаемые блокировки, так и предполагаемые исключения. Загрузка файла подтверждает принятие синтаксиса, а не эквивалентную фильтрацию.

Похожие статьи