Życie z Gumową Kaczuszką - prawdziwe usuwanie reklam z telefonu.
Napisze o blokowaniu reklam bezpośrednio przez router (Host based ad blocking).
W ten sposób udało mi się zablokować reklamy na wszystkich urządzeniach w domu
(Android, iOS, smart tv) bez dotykania rootowania, jelly breaków wyłączania internetu.
Po prostu wkurzyło mnie gdy czytałem wczorajsze wykopalisko w którym autorzy tłumaczą
na pałę zagraniczne artykuły z cyklu "10 niedziałających sposobów jak zablokować reklamy
w androidzie - czyli wyłącz internet!", tak bardzo, że założyłem konto.
Tym artykułem chciałbym zachęcić wszystkich do własnego myślenia i kombinowania
przy sprzęcie ponieważ daje to niewyobrażalną przyjemność (a nie do blokowania
reklam).
Więc wyobraźmy sobie pocztę polską. Poczta działa w ten sposób, że z wysyłający wysyła nam
list wrzucając do skrzynki, następnie przychodzi listonosz zanosi go na do budynku gdzie
poczta jest wysyłana dalej aż pewnego dnia poczta trafia do urzędu pocztowego w naszym mieście.
Następnie listonosz z tego urzędu zanosi list do naszego domu. Oczywiście czasami dostajemy
wiele reklam na naszą pocztę. Żeby pozbyć się reklam możemy sprawdzić ręcznie, które listy są
spamem a które nie i wtedy zanieść do domu - tak działa adblock w twojej przeglądarce. Problem
jest taki, że każdy będzie musiał to zrobić w swoim zakresie.
My zajmiemy się rozwiązaniem w którym listonoszowi damy listę firm od których nie chcemy otrzymywać
listów. Wtedy nie tylko w naszej skrzynce nie będzie reklam ale też na całym osiedlu.
Będziemy potrzebowali router na którym możemy robić dowolne rzeczy (czyli małego linuxa). Osobiście
lubię dd-wrt (najtańszy router jaki widziałem to tp-link za 50 zł w x-kom). Aby wgrać na swój router
dd-wrt wchodzimy na
//www.dd-wrt.com znajdujemy swój model routera i wykonujemy polecenia (zwykle trzeba
ściągnąć binarkę i wgrać na router przez opcje aktualizacji oprogramowania) - polecam ściągnąć
oprogramowanie z VPN - nigdy nie wiesz kiedy przyda Ci się prywatny vpn.
To co mamy to bardzo prymitywny linux, na który możemy się za sshować, telnetować,
przechowywać pliki w Posixie - czego dusza zapragnie. Zrobimy teraz tak, żeby podczas
startu nasz router ściągał listę blokowanych stron internetowych. Ja lubię to wpisywać z konsoli
ale możemy też od strony przeglądarki. Nasz router jest pod adresem //192.168.1.1 . Wchodzimy
Administration -> Commands i dodajemy skrypt w bashu
#!/bin/sh
logger WAN up script executing
if test -s /tmp/hosts0
then
rm /tmp/hosts0
fi
logger Downloading
//www.mvps.org/winhelp2002/hosts.txt
wget -O -
//www.mvps.org/winhelp2002/hosts.txt | grep 0.0.0.0 |
sed '2,$ 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
Sorry, ze nie dałem tego w code ale potrójny backtick nie działa
bo jak go dodam to hash jest traktowany jako tag, a jak poprzedzę
backslashem to jest backslash.
Skrypt pochodzi z dokumentacji dd-wrt - problem był, że nie działał bo format pliku
się zmienił, więc go trochę przerobiłem i dostosowałem.
Jeśli kogoś interesuje co robi poszczególna linia odpowiem w komentarzach. Głównie
chodzi o to, że teraz w pliku /tmp/hosts0 mamy listę blokowanych stron.
Jak wiadomo mało kto często resetuje router więc zróbmy, żeby nasz skrypt wykonywał się
co określony interwał czasowy - w linuxie takie coś zapewnia "cron". W dd-wrt nie musimy
z konsoli uzupełniać tablicy crona, więc wchodzimy
Administration->Managment i tam
dodajemy polecenie wykonywania crona co 12 godzin.
0 12 * * * root /tmp/.rc_startup
I to tyle. W ten sposób usunąłem większość reklam z gier na iOS i reklamy z youtube.
Dodatkowo trochę przyśpieszyło, bo nie muszę czekać aż załaduje mi się strona śledzenia
z facebooka chociaż nie mam facebooka. Nie działa na wszystkie reklamy ale zawsze możemy
sobie dodać inne pliki analogicznie (chociaż wtedy router może zwolnić bo zwykle jest tam
może 32 mb).
I to tyle - ja jeszcze dodatkowo zawsze łącze się z nim przez vpn gdy jestem podłączony
do innych sieci (mam lekką paranoje jeśli chodzi o szyfrowanie wszystkiego), więc nawet
gdy jestem w pracy przeglądam internet na komórce bez reklam.
Mam nadzieje, że przekonałem wykopowiczów, żeby zainstalować sobie linuxa chociażby na
routerze.
Artykuł stworzyłem na podstawie
//www.dd-wrt.com/wiki/index.php/Ad_blocking zmieniając po drodze
nieaktualny kod. Pozdrawiam wszystkich i życzę miłej zabawy.
Komentarze (21)
najlepsze
Na komputerze obowiązkowo ad muncher.
Ale co ja tam wiem, jestem tylko gumową kaczuszką.
Ogolnie polecam cala strone.
#openwrt
Komentarz usunięty przez moderatora