...

понедельник, 20 июля 2015 г.

Чистим домашний интернет от очень назойливой рекламы (Adblock для OpenWRT)

Дело было вечером, делать было нечего... © С. В. Михалков
Навеяно Как я bind`ом вирусы искал…, а конкретно этой веткой комментариев, надеюсь не поздно размещаю.

Сидел я и думал, телевизор Samsung, WinPhone, (а впоследствии может кофеварка и пылесос) показывают суперназойливую рекламу, надо с этим чтото делать, и раз в WinPhone и телевизор(кофеварку, пылесос) плагина AdBlock нету, то он должен быть там где ходит их трафик, на роутере.
Оказалось ничего сложного тут нету, роутер у меня TP-Link 1043, с usb портом, флешка монтирована в /root, у кого флешки нет, можно использовать /tmp, замените пути.
Для начала, научим стандартный dnsmasq работать с внешним host файлом
В файле /etc/config/dhcp добавить строку

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


Файл /root/hosts/unchanged я использую для добавления собственных hosts правил, или которых нет в adblock.
По пути /root/hosts/ создаем скриптик upd-adfree.sh который качает свежие списки adblock (ссылка которую использует android телефон) и модифицирует под вид hosts, затем перезагружает dnsmasq для того чтоб он прочитал новые файлы.
##adfree
wget http://ift.tt/1ahVmWC -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


Собственно всё. Конечно блокируется не всё, не сравнить с AdBlockPlus в десктопный браузерах, для этого надо проксю ставить, но и нагрузка небольшая идет.
Плюсы для меня: WinPhone не показывает рекламу в играх, девушке на компе не выскакивает видеореклама всяких 1000$ за сутки ничегонеделанья с какого то форума, который не работает если видит в плагинах adblock, ютуб на телевизоре не орет рекламу на весь дом
Минусы обнаруженые мною: Некоторые сайты, умеют определять adblock по размеру рекламных окон, такие будут возмущатся.

Ну и по традиции
P.S. Ошибки прошу писать в личные, я их исправлю, и коментарии будут выглядеть глупо

This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.

Комментариев нет:

Отправить комментарий