В Mandriva 2008 PowerPack(как и во многих дистрибутивах) есть пакет squid.
Squid - распространенный http-проси, который позволит нам:
Ставится он следующим образом:
#urpmi squid
Либо пакетным менеджером с графическим интерфейсом
Далее в /etc/squid/squid.conf, пишется следующее содержимое:
# Назначаем IP и порт на котором будет работать SQUID http_port 192.168.0.253:3128 # Назначаем каталог для кэша cache_dir ufs /var/spool/squid 800 16 256 access_log /var/log/squid/access.log squid # Определяем глобальную подсеть acl all src 0.0.0.0/0.0.0.0 # Определяем диапазон локальной сети acl localnet src 192.168.0.0/255.255.255.0 # Определяем регулярные выражения для рекламных ссылок # Назначаем IP и порт на котором будет работать SQUID http_port 3128 visible_hostname 192.168.0.253 # Назначаем каталог для кэша cache_dir ufs /var/spool/squid 800 16 256 cache_mem 100 MB cache_swap_high 95 cache_swap_low 95 maximum_object_size 4096 KB minimum_object_size 0 KB # Определяем глобальную подсеть acl all src 0.0.0.0/0.0.0.0 # Определяем диапазон локальной сети acl localnet src 192.168.0.0/255.255.255.0 # Определяем регулярные выражения для рекламных ссылок acl adv url_regex -i ^.*click.*$ acl adv url_regex -i ^.*adv.*$ acl adv url_regex -i ^.*banner.*$ acl adv url_regex -i ^.*baner.*$ acl adv url_regex -i ^.*sb.google.*$ acl adv url_regex -i ^.*.swf.*$ acl adv url_regex -i ^.*top\.list\.ru.*$ acl adv url_regex -i ^.**counter.yadro.ru.*$ acl adv url_regex -i ^.*sindi.*$ acl adv url_regex -i ^.*sex.*$ acl adv url_regex -i ^.*top\.list\.ru.*$ acl adv url_regex -i ^.*google\-analytics.*$ acl adv url_regex -i ^.*dw\.jsp.*$ # Несколько правил для резки баннеров acl adv url_regex -i ^.*88x31.*gif.*$ acl adv url_regex -i ^.*88x31.*GIF.*$ acl adv url_regex -i ^.*100x80.*gif.*$ acl adv url_regex -i ^.*100x80.*GIF.*$ acl adv url_regex -i ^.*100x100.*gif.*$ acl adv url_regex -i ^.*100x100.*GIF.*$ acl adv url_regex -i ^.*120x60.*gif.*$ acl adv url_regex -i ^.*120x60.*GIF.*$ acl adv url_regex -i ^.*179x69.*gif.*$ acl adv url_regex -i ^.*193x72.*gif.*$ acl adv url_regex -i ^.*468x60.*gif.*$ # Запретить рекламу http_access deny adv # Дать доступ из локальной сети http_access allow localnet # Запретить доступ из глобальной сети http_access deny all
В данном примере я использую такой IP адрес, потому что через комп интернет получает ещё и ноутбук с IP 192.168.0.54. Сам комп имеет в локальной домашней сети IP 192.168.0.253
Изначально там лежит гораздо более объёмный файл, но он садержит всевозможные настройки(о которых пытливый ум может узнать из любого поисковика), какие только могут быть. Нам же надо просто кэшировать контент и резать рекламу.
Вышеприведённый настроечный файл, универсален, точно работает на Debian Etch и Lenny, и думаю будет работать не только на Linux.
После создания конфига запустим
#squid -z
Эта строчка создаст файловую структуру кэша.
Запускаем сервер, который после запуска начинает слушать порт 3128 на предмет подключений по http.
# /etc/init.d/squid restart
Настройка браузера
Чтобы всё это счастье заработало, браузер необходимо настроить на подклчение через прокси с IP 192.168.0.253 и портом 3128.
Проверено на одноглаззниках - рассаднике навязчивой рекламы. Работает на 5+
Данный конфиг был использован как шаблон и модернизирован при настройке домашнего шлюза