SQUID блокировка рекламы

SQUID блокировка рекламы

Немного уменьшим количество рекламы отображаемой через squid
Будем делать это посредством файла hosts

Чтобы его использовать необходима чтобы в файле squid.conf была включена директива host

hosts_file /etc/hosts

Директива удобна так же если нам необходимо указать переадресацию по имени на сервер в локальной сети

Пример squid.conf - Конфигурация Squid3
Список блокировки рекламы будем брать с сайта http://winhelp2002.mvps.org/
На сайте есть инструкции как включить его в разные системы

Автоматизируем процесс его обновления
Напишем скрипт
Будем делать его сразу в папке bin чтобы при необходимости вызывать его просто по имени (Система Ubuntu 16.04)

sudo -s
nano /usr/bin/ad_hosts_renew
#!/bin/bash
#
# Имя прокси squid и локальные имена
#==========================================
echo "127.0.1.1		proxy.domain.lol	proxy"	>  /etc/hosts
echo "192.168.1.250	proxy.domain.lol	proxy" 	>> /etc/hosts
echo "" >> /etc/hosts
echo "192.168.1.8	dc.domain.lol		dc"	>> /etc/hosts
echo "192.168.1.5	wopasite.domain.lol	wopasite	www.wopasite.domain.lol	www.wopasite"	>> /etc/hosts
#
# Список рекламы
#==========================================
echo "" >> /etc/hosts
echo "AD Block"	>> /etc/hosts
echo "========"	>> /etc/hosts
curl http://winhelp2002.mvps.org/hosts.txt	>> /etc/hosts 2>/dev/null
#
# Обновим конфигурацию
#==========================================
squid3 -k reconfigure

Сделаем его исполняемым

chmod +x /usr/bin/ad_hosts_renew

Проверим работу

ad_hosts_renew

Так как скрипт лежит в папке bin, то его можно вызывать просто по имени без указания путей

Если все хорошо, то можно проверить стало ли меньше рекламы. Открыть замусоренную страницу напрямую и в другом браузере через squid и сравнить.
Так как список не охватывает всего, то можно отдельно устанавливать расширения для браузеров для блокировки рекламы.
Просто у некоторых пользователей расширение может быть не установлено.

Теперь автоматизируем процесс обновления списка. Делать часто этого нет необходимости. Я установил раз в неделю.

cd /etc/cron.weekly/
ln -s /usr/bin/ad_hosts_renew

Проверим что задание появилось

run-parts --test /etc/cron.weekly/
/etc/cron.weekly//ad_hosts_renew
/etc/cron.weekly//apt-xapian-index
/etc/cron.weekly//man-db

Так как в скрипте есть реконфигурация squid, то желательно это делать в нерабочее время. Время работы cron.weekly можно посмотреть:

nano /etc/crontab

Строчка запуска еженедельного cron в 3:47

47 3    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *