Вопрос или проблема
Мои фильтры работают на HTTP-сайтах, я добавил это в файл конфигурации:
enforce-blocks 1
actionsfile blacklist.action
а blacklist.action
содержит
{ +block }
*facebook.com/tr/*
Когда я посещаю facebook.com/tr/
, страница загружается как обычно, в отличие от HTTP-сайтов, на которых я установил фильтр. Я настроил как HTTP, так и HTTPS прокси в настройках прокси, так что это не проблема.
4.15. Как Privoxy может фильтровать защищенные (HTTPS) URL?
Если вы включите
https-inspection
, Privoxy будет выдавать себя за целевой сервер, и таким образом сможет фильтровать зашифрованные запросы и ответы.Без
https-inspection
защищенные HTTP-соединения являются зашифрованными SSL-сессиями между вашим браузером и защищенным сайтом, и Privoxy может сделать немногое, кроме как передать необработанные данные с одного конца на другой.Единственным исключением является блокировка по шаблонам хостов, так как клиент должен сообщить Privoxy название удаленного сервера, чтобы Privoxy мог установить соединение. Если это название совпадает с шаблоном лишь для хоста, соединение будет заблокировано.
Что касается блокировки рекламы, это меньшее ограничение, чем может показаться, так как источники рекламы часто можно идентифицировать по имени хоста, и часто баннеры, которые должны быть размещены на зашифрованной странице, тем не менее приходят незашифрованными по причинам эффективности, что открывает их для полной силы блокировки рекламы Privoxy.
“Контентные куки” (те, которые встроены в фактический HTML или JS-контент страницы, см.
filter{content-cookies}
) в SSL-транзакции будет невозможно заблокировать при этих условиях. К счастью, это не кажется очень распространенным сценарием, так как большинство куков поступает традиционным способом.
Ответ или решение
Как настроить Privoxy для блокировки HTTPS-сайтов
Если вы пытаетесь заблокировать определенные URL-адреса, используя Privoxy, и ваши фильтры работают только для HTTP, вам необходимо обратить внимание на несколько ключевых моментов для настройки блокировок на HTTPS-сайтах. В этом ответе мы шаг за шагом разберем, как это сделать.
1. Понимание работы Privoxy
Privoxy является прокси-сервером, который предназначен для фильтрации требований и ответов HTTP, предоставляя возможности блокировки, редактирования и управления контентом. Однако для HTTPS-сайтов ситуация сложнее, так как данные передаются в зашифрованном виде.
2. Основные ограничения HTTPS
Когда вы обращаетесь к HTTPS-сайту, информации, передаваемой между вашим клиентом и сервером, не видно. Следовательно, Privoxy не может обрабатывать содержимое HTTPS-трафика, так как это защищенный SSL/TSL соединение. Однако есть исключения:
- Блокировка по имени хоста: Если имя хоста, к которому вы хотите подключиться, совпадает с шаблоном блокировки, вы можете успешно заблокировать запросы. Например, если вы добавили правило
{ +block } *facebook.com/tr/*
, Privoxy сможет его распознать и заблокировать, до того как передаст запрос на Facebook.
3. Включение HTTPS-инспекции
Для того чтобы Privoxy мог обрабатывать HTTPS-запросы и блокировать контент, вам нужно активировать опцию https-inspection
. Это позволит Privoxy выступать в роли промежуточного SSL-сервера. Однако обратите внимание, что для этого потребуются дополнительные настройки, включая:
- Установку сертификата Privoxy в вашем браузере для доверенности.
- Настройку прокси для работы как HTTPS, для этого убедитесь, что вы указали соответствующие параметры в вашем браузере.
Чтобы активировать https-inspection
, добавьте следующую строку в ваш конфигурационный файл:
enable-remote-http 1
4. Изменение конфигурации
Чтобы применять блокировки к HTTPS-сайтам, ваша конфигурация должна выглядеть примерно так:
enforce-blocks 1
actionsfile blacklist.action
enable-remote-http 1
Ваш файл blacklist.action
останется прежним:
{ +block }
*facebook.com/tr/*
5. Заключение и тестирование
После изменения конфигурации, перезапустите Privoxy для активации всех новых настроек. Убедитесь, что ваш браузер настроен на использование Privoxy в качестве прокси и что сертификат установлен. Посетите URL-адрес facebook.com/tr/
снова и проверьте, была ли страница заблокирована.
Используйте инструменты для отладки HTTP/HTTPS-запросов, такие как Fiddler
или встроенные инструменты разработчика в вашем браузере, чтобы убедиться, что ваш прокси правильно фильтрует потоки.
Заключение
С помощью данной настройки Privoxy сможет блокировать домены даже на защищенных страницах, таким образом, когда вы хотите реализовать фильтрацию на HTTPS-сайтах, важно правильно настроить конфигурацию и учитывать ограничения, касающиеся SSL. Надеемся, что эта информация поможет вам наладить функциональность вашего фильтрации на всем спектре сетевых протоколов.