Блокировка интернет рекламы с помощью Privoxy
Существует множество спобов борьбы с интернет-рекламой, навязчивыми всплывающими банерами и т. п. Ниже я разскажу о том, как делать при помощи веб-прокси Privoxy.
Я пропущу 4 страницы лирического отступления о своих поисках, почему выбрал Privoxy- думаю, что это не очень интересно. Итак, поехали по плану...
Что такое Privoxy
Privoxy — это свободный веб-прокси с расширенными возможностями фильтрования интернет-контента для защиты конфиденциальности (приватности) пользователей сети Интернет, изменения содержания веб-страниц, управления cookies, ограничения доступа к некоторым сайтам и удаления рекламы, баннеров, всплывающих («выпрыгивающих») окон, а также любого другого нежелательного контента («интернет-мусора»). ©
Существуют сборки для Window$, GNU/Linux . Принципы настройки будут в чем-то схожи, поэтому пользователи обеих ОС могут читать дальше.
Примеры блокировки
Суть работы privoxy в том, что запрошенный браузером URL сравнивается с шаблонами из файлов конфигурации и либо блокируется (браузеру отправляется пустой файл либо страница с сообщением, что запрос блокирован), либо пропускается (тогда полученная с сервера страница передается браузеру как есть), либо фильтруется (содержимое, полученное с сервера, перед передачей браузеру пропускается через фильтры, которые, возможно, изменяют это содержимое). Действия, применяемые к адресу, определяются файлами standard.action, default.action и user.action, а сами фильтры - файлом default.filter. Каждое правило из файла .action состоит из шаблона адреса и набора включаемых либо выключаемых для этого шаблона действий. Например, строка +filter {banners-by-size} включает для всех адресов, подпадающих под указанный шаблон, фильтрацию содержимого с целью вырезания ссылок на картинки (баннеры) определенного размера (а та же строка, но с минусом вместо плюса, выключает такую фильтрацию для этих адресов). Строка +block полностью блокирует запросы к данным адресам. ©
Если нужно заблокировать какой-нибудь сайт, пишем в строке конфигурации:
{+block \ +handle-as-empty-document \ } .1000femmes.com/ .18keyspace.de/ (и т. д.)
Добавим немного «эвристики» в нашу блокировку и создадим такое правило:
{+block \ +handle-as-empty-document \ } .*anal*. .*babe*. .*celeb*. .*orgy*.
Более подробно о том, как настраивать можно прочесть из документации или файлов настроек, которые подобно squid.conf изобилуют комментариями.
Теперь: что с этим списком делать? А для этого написан следующий раздел.
Работа с черным списком
Черный список, разбитый по категориям можно скачать по этому адресу : [1] .
Как видно из описания категорий, выбираем раздел ads (А вот раздел pron мы еще потом посмотрим).
Достаем из архива каталог ads и делаем такие команды:
echo {+block{Adult server list}} >> blacklist_ads.action awk '{ print "."$1"/"}' domains >> blacklist_ads.action echo {+block} >> blacklist_ads_urls.action cat urls >> blacklist_ads_urls.action rm urls rm expressions rm domains
В результате получилось два файла, говорящие privoxy, что делать со списком сайтов. Теперь полученные файлы (blacklist_ads.action и blacklist_ads_urls.action) скопируем в каталог /etc/privoxy/ и дописываем в файле config после строки
actionsfile default.action
такие строки:
actionsfile blacklist_ads.action actionsfile blacklist_ads_urls.action
Перезапускаем privoxy (privoxy restart). Если прокси не хочет запускаться, смотрим логи. Будет примерно следующее:
Fatal error: can't load actions file '/etc/privoxy/blacklist_ads_urls.action': line 632: cannot create URL pattern from: linux.org/advert/bin/image?*
Итак, исправляем (или, как я- убираем) строку 632 из файла blacklist_ads_urls.action и на этом работа по фильтрации траффика закончена.
Ссылки