Борьба с рекламой при помощи 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. Ссылки по теме, используемый материал

9.25
в среднем: 9.3 (8 votes)
Гость
Я пропущу 4 страницы

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

:) улыбнуло

sa
sa аватар
User offline. Last seen 5 дней 20 часов ago. Offline
Зарегистрирован: 05/11/2008
Хм, а можно Ваш блеклист,

Хм, а можно Ваш блеклист, уважаемый автор?

______________________________
In the world without walls, who needs windows?

Skala аватар
User offline. Last seen 1 неделя 3 дня ago. Offline
Зарегистрирован: 05/13/2008
blacklist

Так он все оттуда - http://urlblacklist.com/?sec=download . Т. к. он обновляется, то раз в месяц качаю новый список.

Еще советую сходить на Русскоязычный сайт пользователей Privoxy . А именно- раздел Загрузки . Тут тебе и набор фильтров для рекламы и порно не забывают.

____________________________________
Linux разрабатывали для так сказать людей ©

Гость
а можно слегка тупой

а можно слегка тупой вопрос?
я линуксом недавно занимаюсь поэтому может ляпну глупость... так что не стоит меня сильно пинать :)
Но всё тоже можно сделать в squid'e - загнать "плохие" сайты в acl и блочить их. Так в чём фишка privoxy по стравнению с упомянутым squid'ом?

Ещё раз извиняюсь за возможно тупой вопрос...

Skala аватар
User offline. Last seen 1 неделя 3 дня ago. Offline
Зарегистрирован: 05/13/2008
Слегка тупой ответ

Эх, зря я не удалил эти 4 листа пространных разсуждений...

Первое: ответ DRVTiny на сайте ASPLinux.

Второе: Дома squid не установлен. А зачем он? - Я как-то решил посмотреть, сколько он занимает памяти (во время серфинга) и ну его на фиг. Для одной машины squid это IMHO изврат. По сравнению с ним Polipo меньше памяти ест.
Ну а один Privoxy, без кэшурующего прокси и того меньше занимает памяти.
P.S.
Кстати, после скармливания листов urlblacklist.com squid'у на моей машине поплохело: Тогда список шаблонов (типа *nude*), сайтов выбранных категорий(не только ads) занимал 4 Мб.

____________________________________
Linux разрабатывали для так сказать людей ©

sa
sa аватар
User offline. Last seen 5 дней 20 часов ago. Offline
Зарегистрирован: 05/11/2008
> Эх, зря я не удалил эти 4

> Эх, зря я не удалил эти 4 листа пространных разсуждений...

Что вы говорите! А вас таки читают, почему зря?

______________________________
In the world without walls, who needs windows?

Гость
Уже то, что он НЕ кэширующий

Уже то, что он НЕ кэширующий (фича, реализуемая _ПЯТЬЮ_ строками кода) автоматом делает этот "продукт" УГ.

Гость
Достаточно итнересно, есть
6

Достаточно итнересно, есть конечно несколько замечаний, но не буду портить настроение автору. Молодец.

sa
sa аватар
User offline. Last seen 5 дней 20 часов ago. Offline
Зарегистрирован: 05/11/2008
Нашим авторам провокацией
10

Нашим авторам провокацией настроение не испортишь. Многие закалены на ЛОРе, другие прошли крещение тут и выжили!

______________________________
In the world without walls, who needs windows?