Использование adzapper со squid 2.6

Материал из wiki.nntc.nnov.ru
Версия от 16:19, 19 апреля 2011; Bond (обсуждение | вклад) (Новая: Продолжая тему фильтрации http-трафика на прокси-сервере нельзя не вспомнить про достаточно известный ...)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Продолжая тему фильтрации http-трафика на прокси-сервере нельзя не вспомнить про достаточно известный редиректор для squid - adzapper. Конечно это вобщем-то обычный чёрный список адресов, но есть возможность обновлять его автоматически. Да и в плане настроек он достаточно гибок и прост.

Если вас он заинтересовал, то можем приступать к настройке. Автор добавлял его к конфигурации, описанной в двух предыдущих статья ([1], [2]), однако это не принципиально. Можно его использовать и с любой другой конфигурацией squid. Всё написанное здесь справедливо для Ubuntu Linux 7.10, однако скорее всего будет работать и в большинстве других дистрибутивов.

Итак, устанавливаем adzapper:

apt-get install adzapper

Далее рекомендуется добавить в squid.conf строку:

redirect_program /usr/bin/adzapper.wrapper

Однако тут нас ждёт сюрприз. Параметра redirect_program в squid 2.6 нет. Вместо него нужно использовать url_rewrite_program. Т.е. в squid.conf нужно добавить строку:

url_rewrite_program /usr/bin/adzapper.wrapper

Далее нужно применить новую конфигурацию squid:

squid -k reconfigure

После этого в принципе всё работает но:

1. Не обновляются чёрные списки. 2. Вместо рекламы загружаются изображения с надписью "This ad is zapped" с сайта редиректора.

Для решения первой задачи нужно добавить в /etc/crontab строку:

30 0    * * *   root    /usr/share/doc/adzapper/examples/update-zapper

Теперь каждые сутки в половину первого ночи будет проходить обновление чёрных списков adzapper.

Вторую задачу можно решить двумя способами. Первый (простой): изменить значение параметра ZAP_MODE в /etc/adzapper.conf на "CLEAR":

ZAP_MODE="CLEAR"

Второй вариант более сложный и требует наличие web-сервера. Например apache. Смысл его заключён в изменении значения параметра ZAP_BASE в /etc.adzapper,conf. Для начала установим apache:

apt-get install apache

Далее создадим файл /etc/apache2/conf.d/adzapper.conf следующего содержания:

Alias /adzapper /usr/share/doc/adzapper/examples/zaps/
<Directory /usr/share/doc/adzapper/examples/zaps/>
 AddDefaultCharset utf-8
 Options FollowSymLinks Indexes
 AllowOverride Limit
 Order Allow,Deny
 Allow from all
</Directory>

Далее меняем параметры ZAP_BASE следующим образом:

ZAP_BASE=http://127.0.0.1/adzapper

И комментируем параметр ZAP_BASE_SSL:

#ZAP_BASE_SSL=https://adzapper.sourceforge.net/zaps # this can probably be ignored

После чего перезапускаем apache и squid:

apache2ctl restart
squid -k reconfigure

Всё. Можно наслаждаться свободным от рекламы интернетом. В довершение хочется отметить что содержимое каталога можно /usr/share/doc/adzapper/examples/zaps/ можно скопировать в другой каталог, соответствующим образом поправив /etc/apache2/conf.d/adzapper.conf, и свободно модифицировать, например с целью придания более эстетичного вида "заглушкам", отображаемым вместо рекламы.

http://www.ylsoftware.com/news/400