Adblock на openwrt


Для начала научим стандартный dnsmasq работать с внешним host файлом.
В файле /etc/config/dhcp добавить строку:

в секции 
config dnsmasq
        list addnhosts '/root/hosts/adfree'
        list addnhosts '/root/hosts/unchanged'

Файл /root/hosts/unchanged я использую для добавления собственных hosts правил, или которых нет в adfree.
По пути /root/hosts/ создаем скриптик upd-adfree.sh который качает свежие списки adfree (ссылка которую использует android телефон) и модифицирует под вид hosts, затем перезагружает dnsmasq для того чтоб он прочитал новые файлы.

##adfree
wget http://winhelp2002.mvps.org/hosts.txt -O adfree-tmp
sed 's/^\(.*\).$/\1/' adfree-tmp > adfree

## dns restart to update
/etc/init.d/dnsmasq restart

И дать права на выполнение:

chmod +x /root/hosts/upd-adfree.sh

в файле /etc/crontabs/root добавить строку
0 0 * * * /root/hosts/upd-adfree.sh
Что означает запускать скрипт каждый день в 0:00.
Активировать cron:

/etc/init.d/cron enable