Adblock w Gargoyle – blokowanie reklam na routerze

Masz dość oglądania denerwujących reklam i banerów, które dodatkowo wydłużają wczytywanie stron?

Zainstaluj Adblock i uwolnij się od nich!

Początkowo wtyczka istniała jako rozszerzenie do przeglądarki internetowe, dziś pokaże jak zainstalować to na routerze z alternatywnym oprogramowanie Gargoyle (OpenWRT)

opkg update

opkg install nano

Pobieranie gotowego skryptu


wget -O /usr/bin/adblock.sh http://pliki.linuxiarz.pl/11-2013/adblock.sh

Teraz tworzymy malutki serwerek WWW z wykorzystaniem już istniejących pakietów w systemie – który będzie serwował nam zamiast reklam obraz o rozmiarze 1×2 pixel dzięki czemu zamiast reklam będzie pokazywało się “nic”

mkdir -p /www/px/
wget -O /www/px/blank.gif http://probablyprogramming.com/wp-content/uploads/2009/03/tinytrans.gif

Przestawiamy nasz interfejs GUI systemy Gargoyle na port 81 (domyślnie 80)

W tym celu edytujemy plik:

nano /etc/config/httpd_gargoyle

I edytujemy wpis:

option http_port '80'

na

option http_port '81'

Uruchamiamy ponownie:

/etc/init.d/httpd_gargoyle restart

Teraz uruchamiamy jeszcze jeden serwer, do którego tworzyliśmy katalog powyżej:

httpd_gargoyle -d /www/px -p 80 -PNF /blank.gif

Od teraz po wpisaniu w przeglądarkę adresu http://192.168.1.1 powinien wyświetlić się nam listing katalogu /www/px a w nim plik blank.gif

Tworzymy przekierowanie naszego GUI zeby w adresie routera nie wpisywać za każdym razem  portu na którym znajduje sie teraz interfejs graficzny:

touch /www/px/index.html
echo '<html><head><meta http-equiv="Refresh" content="0; url=http://192.168.1.1:81" /></head></html>' >> /www/px/index.html

Mamy właściwie wszystko gotowe – teraz pozostało dodanie kilka kosmetycznych rzeczy takich jak uruchamianie skryptu adblock.sh co jakiś czas:

Edytujemy to w tym pliku

nano /etc/crontabs/root

Na końcu można dopisać:

0 3 * * 0 /usr/bin/adblock.sh

Biała lista – jest to pokazanie skryptowi (systemowi) na jakich stronach mają się wyświetlać reklamy:

Wiadomo że dopiszemy tam mojego bloga 🙂

touch /etc/white.list
echo "gru.one.pl" >> /etc/white.list

Wskazujemy serwerowi DNS na naszym routerze (dnsmasq) aby używał wygenerowanej przez nasz skrypt czarnej listy z bazą złych adresów:

uci add_list dhcp.@dnsmasq[0].addnhosts=/tmp/block.hosts

uci commit dhcp 

Nadajemy prawa do wykonywania skryptowi:

chmod 777 /usr/bin/adblock.sh

Po czym go uruchamiamy:

adblock.sh

Po prawidłowym skonfigurowaniu powinno się w logach pokazać:

Nov 13 22:59:02 Gargoyle daemon.info dnsmasq[7707]: read /tmp/block.hosts - 29275 addresses

Teraz pozostaje nam ustawienie aby tworzył się wirtualny serwer WWW serwujący obrazek jednopikselowy oraz sam skrypt przy starcie, w tym celu edytujemy plik:

nano /etc/rc.local

I przed exit należy dodać dwie linijki:

httpd_gargoyle -d /www/px -p 80 -PNF /blank.gif &
adblock.sh &

Skrypt pochodzi z eko.one.pl / opis z http://pliki.linuxiarz.pl