Filter_reklama


[ Пред. ] [ Содержание ] [ След. ]

Filter reklama


Created Суббота 27 Февраль 2016
http://forum.ixbt.com/topic.cgi?id=14:62022:972#972

Фильтрация рекламы на роутере


возможна различными методами, но наименее ресурсозатратным и наиболее простым в настройке является способ перенаправления доменных адресов баннеров на адрес 127.0.0.1 с помощью изменения конфигурации локального DNS-сервера роутера, Dnsmasq.
Данный метод не лишен недостатков: убрать всю рекламу со страниц не получится, на месте не загрузившихся баннеров останутся пустые места, поэтому плагин AdBlock в браузере или аналогичные решения для ПК принесут гораздо более приемлемый результат. Но этот способ приятен и полезен при наличии в домашнем хозяйстве различных мобильных устройств, которые, по какой-то причине, сами фильтровать рекламу не могут.
Если есть желание попробовать, то делаем так: добавляем в пользовательский файл конфигурации dnsmasq.conf данный параметр, указывающий дополнительный host-файл для Dnsmasq:
код 1 addn-hosts=/tmp/hosts
Далее в пользовательский скрипт по вашему вкусу, добавляем следующие строки:
код 01 sleep 7
02 URLS="http://hosts-file.net/ad_servers.txt \
03 http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext \
04 http://adaway.org/hosts.txt \
05 http://winhelp2002.mvps.org/hosts.txt"
06
07 logger "Updating HOSTS-file..." && wget -T 10 -qO- $URLS | sed 's/\t/ /g' | sed 's/\r//' | sed 's/0.0.0.0/127.0.0.1/g' | grep "^127.0.0.1" | cut -d " " -f 1,2 | tr A-Z a-z | sort | uniq > /tmp/hosts && logger "HOSTS-file has been successfully updated."
08
09 sed -i '1d' /tmp/hosts
10 sed -i '/localhost/d' /tmp/hosts
11 sed -i '/127.0.0.1 l-stat.livejournal.net/d' /tmp/hosts
12 sed -i '/127.0.0.1 clck.yandex./d' /tmp/hosts
13 sed -i '/127.0.0.1 adv.gpm-digital.com/d' /tmp/hosts
14 sed -i '/127.0.0.1 c.allegrostatic.pl/d' /tmp/hosts
15
16 killall -SIGHUP dnsmasq
Затем применяем/сохраняем все изменения и выполняем нужное действие для срабатывания пользовательского скрипта (я выбрал скрипт "Выполнить после полного запуска маршрутизатора", поэтому перезагружаю роутер).
Для тех кто ничего не понял, но хочет разобраться как это работает: скачиваем четыре готовых списка в один, заменяем символы табуляции на пробелы, адреса 0.0.0.0 на 127.0.0.1. Далее оставляем только нужное, сортируем и удаляем дубликаты. Затем удаляем из получившегося списка излишне агрессивные строки и перезапускаем Dnsmasq, чтобы он подхватил свежесозданный hosts-файл.
Зачем в конце отдельно несколько команд sed
Они удаляют из получившегося списка излишне агрессивные строки, режущие оформление Livejournal, переходы с первой страницы Яндекса и сервер, отсутствие доступа к которому, заставляет Rutube заявлять о включенном блокировщике рекламы.

Содержание