Выпуск блокировщика рекламы Privaxy 0.5

Доступен выпуск Privaxy 0.5, прокси-сервера для блокирования рекламы и кода отслеживания перемещений между сайтами. Реализация блокировщика в форме отдельного прокси-сервера даёт возможность использовать его в качестве универсального решения, позволяющего фильтровать обращения не только из web-браузеров. Прокси также не зависит от ограничений браузеров, напирмер, накладываемых третьей версией манифеста Chrome, и обеспечивает более высокую производительность и низкие требования к ресурсам. Например, при загрузке 320 тысяч фильтров потребление памяти составляет 50 МБ и имеется возможность фильтрации тысяч запросов в секунду. Код проекта написан на языке Rust и распространяется под лицензией AGPLv3. Сборки подготовлены для Linux (AppImage, deb), Windows и macOS.

Метод работы Privaxy сводится к развёртыванию промежуточного фильтра между пользователем и сайтами, используя подмену TLS-сертификатов для перехвата содержимого шифрованных HTTPS-сеансов и скрытия предупреждения о вклинивании в канал связи (MITM). Privaxy генерирует собственный корневой сертификат, который пользователь устанавливает в хранилище сертификатов своей системы (/usr/local/share/ca-certificates/) и прописывает работу приложений через прокси localhost:8100. Предоставляется два варианта сборки – консольная утилита и графический интерфейс, который позволяет управлять настройками, наглядно отслеживать текущую активность и просматривать статистику по блокировкам.

При поступлении HTTPS-запроса от пользователя Privaxy от своего имени устанавливает TLS-соединение с целевым сервером и получает его сертификат, после чего использует имя хоста из реального полученного от сервера сертификата и создаёт фиктивный сертификат, связанный цепочкой доверия с корневым сертификатом, сгенерированным для пользователя. При помощи фиктивного сертификата прокси имитирует запрошенный сервер при взаимодействии с клиентом, продолжая при этом использовать для получения данных TLS-соединение, установленное с целевым сервером.
Для выбранных хостов и доменов возможно отключение проброса с использованием техники MITM.

Кроме вырезания рекламы на основе масок URL в Privaxy также предоставляется возможность подстановки JavaScript-кода и CSS-стилей в отдаваемые HTML-документы. Поддерживается подключение фильтров, совместимых с Adblock Plus, таких как Easylist. При подстановке содержимого поддерживается синтаксис uBlock Origin для скриптов, обработчиков и перенаправлений, а также собственный синтаксис для задания произвольных пользовательских фильтров. Подключённые внешние списки с фильтрами обновляются автоматически.






Release. Ссылка here.