• VLMI - форум по обмену информацией. На форуме можете найти способы заработка, разнообразную информацию по интернет-безопасности, обмен знаниями, курсы/сливы.

    После регистрации будут доступны основные разделы.

    Контент форума создают пользователи, администрация за действия пользователей не несёт ответственности, отказ от ответственности. Так же перед использованием форума необходимо ознакомиться с правилами ресурса. Продолжая использовать ресурс вы соглашаетесь с правилами.
  • Подпишись на наш канал в Telegram для информации о актуальных зеркалах форума: https://t.me/vlmiclub

Фильтрация рекламы на роутере с прошивкой Padavan.

Ballard

Куратор хакинга

Ballard

Куратор хакинга
Резидент
Сообщения
414
Реакции
407
0 руб.
Skype
Telegram
Фильтрация рекламы на роутере с прошивкой Padavan.

Наименее ресурсозатратным и наиболее простым в настройке из способов фильтрации рекламы на роутере является использование возможностей локального DNS-DHCP сервера роутера, Dnsmasq.
Данный метод не лишен недостатков: убрать всю рекламу со страниц не получится, на месте не загрузившихся баннеров останутся пустые места, поэтому плагин AdBlock в браузере или аналогичные решения для ПК принесут гораздо более приемлемый результат. Но этот способ приятен и полезен при наличии в домашнем хозяйстве различных мобильных устройств, которые, по какой-то причине, сами фильтровать рекламу не могут.

Возможно 2 варианта:




    • Использование опции address=/adsite.com/(без указания ресолвера), Dnsmasq в таком случае сразу возвращает NXDOMAIN, что предотвращает загрузку рекламного содержимого с этого сайта.
    • Использование Hosts-файла с указанием в качестве адреса несуществующего IP (например 0.0.0.0), что приводит к аналогичному результату.
Какой вариант выбрать: первый (он рекомендуется и в man к Dnsmasq, как более правильный), если только вы уже не используете директиву 'conf-file=' в dnsmasq.conf (например OpenVPN для обхода блокировок), в этом случае правильная работа не гарантируется, тогда используйте второй вариант, он не хуже.
Стоит сказать, что при наличии Entware список антирекламы будет максимально полным. Для этого установите wget из Entware (opkg install wget). Дело в том, что встроенный в прошивку wget криво поддерживает HTTPS и рекламные списки предоставляемые по этому протоколу загружаться не будут. Впрочем, если у вас потребности в Entware нет, то включать его только ради блокировки рекламы смысла не имеет, т. к. есть только один файл требующий HTTPS и его содержимое на 95% дублируется остальными.




    • Первый вариант
Добавляем в пользовательский файл конфигурации dnsmasq.conf данный параметр, указывающий дополнительный файл настроек для Dnsmasq:
Код:
conf-file=/tmp/addresses
Далее в пользовательский скрипт по вашему вкусу, добавляем следующие строки:

Код:
sleep 9
PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
URLS="http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext \
http://winhelp2002.mvps.org/hosts.txt \
http://hosts-file.net/ad_servers.txt \
http://someonewhocares.org/hosts/hosts \
http://www.malwaredomainlist.com/hostslist/hosts.txt \
https://adaway.org/hosts.txt"

wget --no-check-certificate -T 10 -qO- $URLS | sed 's/\t/ /g' | sed 's/\r//' | sed 's/ \{1,\}/ /g' | grep "^\(127.0.0.1\|0.0.0.0\)" | cut -d " " -f 2 | tr A-Z a-z | sort -u | sed 's/^/address=\//' | sed 's/$/\//' > /tmp/addresses && logger "Addresses-file has been successfully updated."

sed -i '/address=\/local\//d' /tmp/addresses
sed -i '/address=\/localhost\//d' /tmp/addresses
sed -i '/address=\/localhost.localdomain\//d' /tmp/addresses
sed -i '/address=\/l-stat.livejournal.net\//d' /tmp/addresses
sed -i '/address=\/c.allegrostatic.pl\//d' /tmp/addresses
sed -i '/address=\/adv.gpm-digital.com\//d' /tmp/addresses
sed -i '/address=\/yastatic.net\//d' /tmp/addresses
sed -i '/address=\/qip.ru\//d' /tmp/addresses

killall -SIGHUP dnsmasq



    • Второй вариант
Добавляем в пользовательский файл конфигурации dnsmasq.conf данный параметр, указывающий дополнительный host-файл для Dnsmasq:


Код:
addn-hosts=/tmp/hosts
Далее в пользовательский скрипт по вашему вкусу, добавляем следующие строки:

Код:
sleep 9
PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
URLS="http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext \
http://winhelp2002.mvps.org/hosts.txt \
http://hosts-file.net/ad_servers.txt \
http://someonewhocares.org/hosts/hosts \
http://www.malwaredomainlist.com/hostslist/hosts.txt \
https://adaway.org/hosts.txt"

wget --no-check-certificate -T 10 -qO- $URLS | sed 's/\t/ /g' | sed 's/\r//' | sed 's/ \{1,\}/ /g' | sed 's/^127.0.0.1/0.0.0.0/g' | grep "^0.0.0.0" | cut -d " " -f 1,2 | tr A-Z a-z | sort -u > /tmp/hosts && logger "Hosts-file has been successfully updated."

sed -i '/0.0.0.0 localhost/d' /tmp/hosts
sed -i '/0.0.0.0 localhost.localdomain/d' /tmp/hosts
sed -i '/0.0.0.0 l-stat.livejournal.net/d' /tmp/hosts
sed -i '/0.0.0.0 c.allegrostatic.pl/d' /tmp/hosts
sed -i '/0.0.0.0 yastatic.net/d' /tmp/hosts
sed -i '/0.0.0.0 adv.gpm-digital.com/d' /tmp/hosts
sed -i '/0.0.0.0 qip.ru/d' /tmp/hosts

killall -SIGHUP dnsmasq
Затем применяем/сохраняем все изменения и выполняем нужное действие для срабатывания пользовательского скрипта (я выбрал скрипт "Выполнить после полного запуска маршрутизатора", поэтому перезагружаю роутер).

 
Сверху Снизу