Блокировка интернет рекламы с помощью Privoxy

Материал из Rosalab Wiki
Версия от 21:00, 28 сентября 2011; PastorDi (обсуждение | вклад)

Это снимок страницы. Он включает старые, но не удалённые версии шаблонов и изображений.
Перейти к: навигация, поиск

Существует множество спобов борьбы с интернет-рекламой, навязчивыми всплывающими банерами и т. п. Ниже я разскажу о том, как делать при помощи веб-прокси 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 и на этом работа по фильтрации траффика закончена.

Ссылки

Сайт программы


Оригинал статьи.