Использование adzapper со squid 2.6
Продолжая тему фильтрации 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, и свободно модифицировать, например с целью придания более эстетичного вида "заглушкам", отображаемым вместо рекламы.