Блокировка рекламы на примере роутера MiWiFi | Xiaomi Mi-router 3

Заблокировать рекламу самостоятельно в роутере можно быстро, особенно если вы обладательно роутера на прошивки PROMETHEUS или прошивки ASUS, к таким роутерам можно отнести всю линейку роутеров Xiaomi и асус.
Итак блокировка рекламы в вашей сети LAN осуществляется средствами локального DNS-сервера запущенного в роутере Xiaomi Mi-router 3
Фильтрация рекламы на роутере возможна различными методами, но наименее ресурсозатратным и наиболее простым в настройке является способ перенаправления доменных адресов баннеров на адрес 0.0.0.0 с помощью изменения конфигурации локального DNS-сервера роутера, Dnsmasq.

Заходим в WEB интерфейс роутера LANDHCP-серверПользовательский файл конфигурации «dnsmasq.conf»
Добавляем строку:
addn-hosts=/tmp/hosts

Заходим в WEB интерфейс роутера ПерсонализацияСкриптыВыполнить после полного запуска маршрутизатора:
Добавляем строки:

#!/bin/sh

###Найден статичный hosts на флешке, копируем его в tmp
[ -f /opt/etc/hosts ] && logger "entware hosts file /opt/etc/hosts" && cp /opt/etc/hosts /tmp/hosts

modprobe ip_set
modprobe ip_set_hash_ip
modprobe ip_set_hash_net
modprobe ip_set_bitmap_ip
modprobe ip_set_list_set
modprobe xt_set
modprobe xt_HL

touch /tmp/hosts
sleep 15
###если отсутствует статичный файл, скачиваем его с интернета
[ ! -f /opt/etc/hosts ] && logger "download adblok3.txt" && wget -qO- "http://i.dinis.ru/adblok3.txt" | grep -v '^#\|^[[:space:]]*$' | sed -e 's/^/0.0.0.0 /' >> /tmp/temp-hosts
###скачиваем обновляемый файл не зависимо есть ли что на флешке
logger "download adlist.txt" && wget -qO- "http://adlock.dinis.ru/adlist.txt" | grep -v '^#\|^[[:space:]]*$' | sed -e 's/^/0.0.0.0 /' >> /tmp/temp-hosts

logger "Updating /tmp/hosts file..." && cat /tmp/temp-hosts | sort -uk2 >> /tmp/hosts
rm /tmp/temp-hosts && logger "/tmp/hosts file has been successfully updated."

killall -SIGHUP dnsmasq

В adblok3.txt добавлены ранее обнаруженные сайты с рекламой и телеметрией, его вы можете сделать статичным в роутере.
А в adblok.txt добавляются новые замеченные как в мобильных приложениях так и на веб сайтах.
Для желающих заблокировать ютуб нужно дабавить строку yutube.txt чтобы хоть как то ограничить чадо от нежелательных каналов.

Вместо adblock2 можно добавить
logger "download Zero hosts file..." && wget -qO- "http://someonewhocares.org/hosts/zero/hosts" | awk -v r="0.0.0.0" '{sub(/^0.0.0.0/, r)} $0 ~ "^"r' >> /tmp/temp-hosts
logger "download MVPS hosts file..." && wget -qO- "http://winhelp2002.mvps.org/hosts.txt" | awk -v r="0.0.0.0" '{sub(/^0.0.0.0/, r)} $0 ~ "^"r' >> /tmp/temp-hosts
logger "download AdAway blocklist hosts file..." && wget -qO- "https://adaway.org/hosts.txt" |awk -v r="0.0.0.0" '{sub(/^127.0.0.1/, r)} $0 ~ "^"r' >> /tmp/temp-hosts
logger "download MalwareDomainList hosts file..." && wget -qO- "https://www.malwaredomainlist.com/hostslist/hosts.txt" |awk -v r="0.0.0.0" '{sub(/^127.0.0.1/, r)} $0 ~ "^"r' >> /tmp/temp-hosts
logger "download hpHosts hosts file..." && wget -qO- "http://hosts-file.net/ad_servers.txt" |awk -v r="0.0.0.0" '{sub(/^127.0.0.1/, r)} $0 ~ "^"r' >> /tmp/temp-hosts
logger "download Ad server hosts file..." && wget -qO- "http://pgl.yoyo.org/adservers/serverlist.php?hostformat=dnsmasq&showintro=0&mimetype=plaintext" |awk -v r="0.0.0.0" '{sub(/^127.0.0.1/, r)} $0 ~ "^"r' >> /tmp/temp-hosts
logger "download DisableWinTracking hosts file..." && wget --no-check-certificate -qO- "https://gist.githubusercontent.com/10se1ucgo/fcb774d781a66ea9d31f/raw/f8ba0bca0f96390af1a613258c952b099942c3ee/ips+domains.txt" | grep -v '^#\|^[[:space:]]*$' | sed -e 's/^/0.0.0.0 /' >> /tmp/temp-hosts

это первоисточники, на котором базируется adblock3 и adlist с удалёнными дублями и в одном файле.

Перезагружаем роутер и проверяем в логе:
dnsmasq[553]: read /tmp/hosts - 66896 addresses
адресов должно очень быть много.

Если в логе 0 addresses:
dnsmasq[473]: read /tmp/hosts - 0 addresses
проверяйте — что-то пошло не так..

Заходим в ПерсонализацияСкриптыВыполнить после перезапуска правил брандмауэра и добавляем пару строчек если нету:
### Запрет использования собственных DNS-настроек на клиентах
iptables -t nat -I PREROUTING -i br0 -p udp --dport 53 -j DNAT --to $(nvram get lan_ipaddr)
iptables -t nat -I PREROUTING -i br0 -p tcp --dport 53 -j DNAT --to $(nvram get lan_ipaddr)
Все днс запросы будут принудительно перенаправлятся на локальный днс сервер, не зависимо от того что прописано на клиентах. Так же поможет в случае заражения компьютера вирусама, не даст подделать днс запрос в обход нашему списку блокировки.

Фиксации TTL средствами роутера.
Зафиксировать TTL можно добавив в этот же файл строчки
modprobe xt_HL
iptables -t mangle -A POSTROUTING -j TTL --ttl-set 64
ip6tables -t mangle -A POSTROUTING -j HL --hl-set 64

Если реклама все равно не «режется» проверяем что в LANDHCP-серверНастройка сервера DNS и WINSDNS-сервер 1 прописан IP адрес вашего роутера (по умолчанию 192.168.1.1)

Вот собственно и вся настройка, каторая занимает пару минут и в последствии избавляет и защищает все ваши устройства от рекламы, вирусных сайтов, сборщиков аналитики, счётчиков посящений и экономит ваш трафик.

Данный метод можно использовать в паре с расширением адблок и handychache, так же и отдельно.

Теперь можно скачать готовый host

В предыдущих статьях мы рассмотрели что такое host и как правильно его составить, а так же какие програмки нам могут в этом помочь. Сегодня я приготовил для вас готовый host. Для этого вам нужно скачать готовый host и рассположить его на своём устройстве с заменой. После этой несложной манипуляции вы забудете что такое реклама, а также предотвратите сбор аналитики о себе, так как в него уже внесены все гиганты, такие как реклама от яндакс, гугол, майл, рамблер, и прочие сервисы для рускоязычного интернета. Данный файл является самообновляемым и вы можете сделать закладку на него чтобы своевременно обновлять.

В следующей статье мы расмотрим как можно автоматизировать процесс обновления на примере роутера, блокируя доступ к нежелательным сайтам в вашей локальной сети для всех устройств, делая интернет чище и интереснее.

Следите за новостями… Продолжение уже совсем скоро!

HandyCache или быстрый способ выявить поставщика рекламы.

HandyCache (HC) — это прокси-сервер для раздачи интернета в локальной сети дома, в учебном заведении или на малом предприятии. Кроме этого, HC можно запустить на том же компьютере, на котором Вы работаете. В этом случае Вы сможете ускорить загрузку страниц в браузере,экономить трафик и деньги на его оплату, заблокировать загрузку и отображение рекламы.     Это далеко не все, в чем может помочь наш прокси-сервер. С его помощью можно будет просматривать ранее загруженные страницы без подключения к сети интернет, переносить кэш с одного компьютера на другой, подключаться к разным серверам через разные внешние прокси и многое другое.

HC позволяет писать свои расширения на языке lua, которые значительно расширяют возможности по изменению поведения прокси в соответствии c желанием пользователя.
Для установки и использования программы не требуется специальная подготовка в области сетевого администрирования. Достаточно навыков продвинутого пользователя персонального компьютера. Чтобы оценить HandyCache в работе, нужно скачать HandyCacheRC4.1.0.0.700, распаковать его на диск и запустить на выполнение файл HandyCache.exe. Далее нужно настроить браузер на работу через прокси-сервер. Для начала работы этого достаточно. Настройки, установленные в НС по умолчанию, подходят в большинстве случаев, а для тонкой настройки следует ознакомиться с руководством по настройке.
Дома при условии подключения до пяти пользователей программу можно использовать бесплатно что мы собственно и собираемся делать.

И так теперь при посещении сайтов в мониторе мы сможем выявить поставщика рекламы, от куда идёт загрузка рекламы и достаточно выбрать в меню программы блокировать целиком доменен, как реклама исчезнет со всех сайтов на которых она присутствует, а также дабавить её в наш созданный файл host способом рассмотренном в предыдущем посте.