Борьба с рекламой при помощи Privoxy
1. Что такое Privoxy
2. Примеры блокировки
3. Работа с черным списком
4. Ссылки по теме, используемый материал
Существует множество спобов борьбы с интернет-рекламой, навязчивыми всплывающими банерами и т. п. Ниже я разскажу о том, как делать при помощи веб-прокси Privoxy.
Я пропущу 4 страницы лирического отступления о своих поисках, почему выбрал Privoxy- думаю, что это не очень интересно. Итак, поехали по плану...
1. Что такое Privoxy
Privoxy — это свободный веб-прокси с расширенными возможностями фильтрования интернет-контента для защиты конфиденциальности (приватности) пользователей сети Интернет, изменения содержания веб-страниц, управления cookies, ограничения доступа к некоторым сайтам и удаления рекламы, баннеров, всплывающих («выпрыгивающих») окон, а также любого другого нежелательного контента («интернет-мусора»). ©
Существуют сборки для Window$, GNU/Linux . Принципы настройки будут в чем-то схожи, поэтому пользователи обеих ОС могут читать дальше.
2. Примеры блокировки
Суть работы 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 изобилуют комментариями.
Теперь: что с этим списком делать? А для этого написан следующий раздел.
3.Работа с черным списком
Черный список, разбитый по категориям можно скачать по этому адресу : http://urlblacklist.com/?sec=download .
Как видно из описания категорий, выбираем раздел 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. Если прокси не хочет запускаться, смотрим логи. Будет примерно следующее:
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 и на этом работа по фильтрации траффика закончена.
4. Ссылки по теме, используемый материал
- Privoxy - Википедия
- Сайт программы
- Русскоязычный сайт пользователей Privoxy.
- Обновляемый черный список
Хм, а можно Ваш блеклист, уважаемый автор?
Так он все оттуда - http://urlblacklist.com/?sec=download . Т. к. он обновляется, то раз в месяц качаю новый список.
Еще советую сходить на Русскоязычный сайт пользователей Privoxy . А именно- раздел Загрузки . Тут тебе и набор фильтров для рекламы и порно не забывают.
а можно слегка тупой вопрос?
я линуксом недавно занимаюсь поэтому может ляпну глупость... так что не стоит меня сильно пинать :)
Но всё тоже можно сделать в squid'e - загнать "плохие" сайты в acl и блочить их. Так в чём фишка privoxy по стравнению с упомянутым squid'ом?
Ещё раз извиняюсь за возможно тупой вопрос...
Эх, зря я не удалил эти 4 листа пространных разсуждений...
Первое: ответ DRVTiny на сайте ASPLinux.
Второе: Дома squid не установлен. А зачем он? - Я как-то решил посмотреть, сколько он занимает памяти (во время серфинга) и ну его на фиг. Для одной машины squid это IMHO изврат. По сравнению с ним Polipo меньше памяти ест.
Ну а один Privoxy, без кэшурующего прокси и того меньше занимает памяти.
P.S.
Кстати, после скармливания листов urlblacklist.com squid'у на моей машине поплохело: Тогда список шаблонов (типа *nude*), сайтов выбранных категорий(не только ads) занимал 4 Мб.
> Эх, зря я не удалил эти 4 листа пространных разсуждений...
Что вы говорите! А вас таки читают, почему зря?
Уже то, что он НЕ кэширующий (фича, реализуемая _ПЯТЬЮ_ строками кода) автоматом делает этот "продукт" УГ.
Достаточно итнересно, есть конечно несколько замечаний, но не буду портить настроение автору. Молодец.
Нашим авторам провокацией настроение не испортишь. Многие закалены на ЛОРе, другие прошли крещение тут и выжили!



Я пропущу 4 страницы лирического отступления о своих поисках
:) улыбнуло