1 min read

Небольшой лайфхак для DD-WRT

Я долго пользуюсь блокировщиками рекламы на всех своих устройствах и на каждом мне приходилось настраивать заново. Несколько неудобно, верно? Оказывается, можно настроить функциональность adblock’a на роутерах с прошивкой DD-WRT штатными средствами.

Для этого идем в настройки роутера > вкладка Services > раздел DNSMasq, включаем DNSMasq и в поле для опций пишем следующий скрипт:

#!/bin/sh
logger WAN up script executing

if test -s /tmp/hosts0
then
rm /tmp/hosts0
fi

logger Downloading http://www.mvps.org/winhelp2002/hosts.txt

wget -O — http://www.mvps.org/winhelp2002/hosts.txt | grep 0.0.0.0 |
sed ‘s/[[:space:]]*#.*$//g;’ |
grep -v localhost | tr ‘ ‘ ‘\t’ |
tr -s ‘\t’ | tr -d ‘\015’ | sort -u >/tmp/hosts0
grep addn-hosts /tmp/dnsmasq.conf ||
echo «addn-hosts=/tmp/hosts0» >>/tmp/dnsmasq.conf

logger Restarting dnsmasq

killall dnsmasq
dnsmasq —conf-file=/tmp/dnsmasq.conf

log-queries
log-facility=/var/log/dnsmasq.log
log-async=25

dhcp-option=6, IP_DNS1, IP_DNS2
dhcp-option=br0, 3, 192.168.10.1
dhcp-option=lan, 3, 192.168.10.100

В последнем блоке лучше поменять настройки для своих подсетей. Нажимаем Save & Apply Settings.

Далее идем во вкладку Setup > Basic Setup и отмечаем пункты Use DNSMasq for DHCP и Use DNSMasq for DNS. Нажимаем Save & Apply Settings и проверяем наличие самой рекламы в интернете.

Послеловие: Способ не убирает всю рекламу, но можно добавить свои блоклисты и настраивать блокировку по своему вкусу.