Znači na taj način cijeli sustav je brži (ne usporavaju ga adblock programi) a pod zaštitnim je "kišobranom" od neželjenih trackera.
Druga mana adblockera u browserima je ta da oni blokiraju trackere nakon što je već ostvarena konekcija - blokiranje iz hosts fajle direktno blokira takve stvari i pritom štedi resurse kompa i količinu net prometa.
Treći problem je što mnogo stranica detektira najpoznatije i najčešće korištene Adblock programe pa ne želi pokazati sadržaj dok se Adblock addon ne deaktivira.
Blokiranje pomoću hosts fajle možemo primjeniti i na routere ukoliko se na njima vrti Linux ili BSD OS (mislim da kod nas malo ljudi posjeduje takve routere ali dobro je za znati) i na taj način blokiramo add-onove za sve uređaje koji su spojeni na mrežu.
Trik sa ovim načinom blokiranja je u tome što Linux OS prilikom pristupanja nekoj stranici uvijek prvo "pogleda" u hosts fajlu. Ako je slučajno stranica dodana u hosts fajli tu stranicu izvršava lokalno. Upravo tu funkcionalnost upotrebljavamo za blokiranje nepoželjnih sadržaja i internetskih "nametnika". Poznate domene sa kojih dopiru trackeri i ostale napasti (liste koje su navedene u skripti) preusmjerimo na ustvari nepostojeće IP adrese - IP adrese koje ne postoje na računalu. Najčešće se upotrebljavaju lažne IP adrese 0.0.0.0 (upotrijebljena u ovoj skripti) ili 127.0.0.1 (localhost IP). Nakon toga sustav tu domenu više ne traži po internetu i štedi nam resurse računala a i internetski promet.
A sada na posao!
Inače, skriptu nisam napravio ja ali sam je doradio, isprobao i radi uredno. Slučajno sam naletio na nju dok sam proučavao ovu metodu blokiranja.
Znači prvo napravimo skriptu pod nazivom hostsblockingscript u našem Documents folderu. Možemo napraviti i folder scripts u koji ćemo i ubuduće stavljati skripte.
(Vi nazovite skriptu kako hoćete i ostavite je gdje vam više odgovara - nebitno!)
U hostsblockingscript unesemo slijedeće:
- Kod: Označi sve
#!/bin/bash
# This is going to backup our hosts file.
if [ ! -f /etc/hosts-original ]
then
cp /etc/hosts /etc/hosts-original
fi
# Temp directory stuff.
Selfdestructinghosts=$(mktemp)
Selfdestructinghosts2=$(mktemp)
# Get some blocker lists and add to our existing /etc/hosts file.
wget -r -O - https://raw.githubusercontent.com/disconnectme/disconnect/b27abbf033c6f80f157fe9d98cb767c87065fbf4/firefox/content/disconnect.safariextension/opera/chrome/scripts/data.js >> $Selfdestructinghosts
wget -r -O - https://easylist-downloads.adblockplus.org/easylist.txt >> $Selfdestructinghosts
wget -r -O - https://easylist-downloads.adblockplus.org/easyprivacy.txt >> $Selfdestructinghosts
wget -r -O - https://easylist-downloads.adblockplus.org/antiadblockfilters.txt >> $Selfdestructinghosts
wget -r -O - https://easylist-downloads.adblockplus.org/fanboy-annoyance.txt >> $Selfdestructinghosts
wget -r -O - https://easylist-downloads.adblockplus.org/fanboy-social.txt >> $Selfdestructinghosts
wget -r -O - http://winhelp2002.mvps.org/hosts.txt >> $Selfdestructinghosts
wget -r -O - http://hosts-file.net/ad_servers.asp >> $Selfdestructinghosts
wget -r -O - http://someonewhocares.org/hosts/hosts >> $Selfdestructinghosts
wget -r -O - https://easylist-downloads.adblockplus.org/malwaredomains_full.txt >> $Selfdestructinghosts
sed -e 's/\r//' -e '/^0.0.0.0/!d' -e '/localhost/d' -e 's/0.0.0.0/0.0.0.0/' -e 's/ \+/\t/' -e 's/#.*$//' -e 's/[ \t]*$//' < $Selfdestructinghosts | sort -u > $Selfdestructinghosts2
#Create a master hosts file.
echo -e "\n#Hostslist created "$(date) | cat /etc/hosts-original - $Selfdestructinghosts2 > ~/newblocklist
# Cleaning.
rm -rf $Selfdestructinghosts $Selfdestructinghosts2
# Replace current /etc/hosts with our new one.
cp ~/newblocklist /etc/hosts
Naravno, spremimo unešeno i zatvorimo skriptu.
Nakon toga potrebno je napraviti da skripta bude executable (valjda bi "izvršna" bio dobar prijevod?? ):
- Kod: Označi sve
chmod +x hostsblockingscript
Napravljenu skiptu je moguće pokrenuti iz konzole kao root korisnik:
- Kod: Označi sve
sudo ./hostsblockingscript
I to je to!
Kada želite napraviti update za hosts fajlu, samo pokrenete skriptu (a sve to skupa možete automatizirati pomoću cron-a).
Uvijek možete dodati nove liste u skriptu tako da unesete:
- Kod: Označi sve
wget -r -O - https://NEKA_LISTA >> $Selfdestructinghosts
Ukoliko ponekada želite isključiti blokiranje onda možemo napraviti još jednu skriptu koja vraća originalnu hosts fajlu.
U folder za skripte koji smo ranije napravili napravimo skriptu hoststoggle napravimo je da bude executable:
- Kod: Označi sve
chmod +x hoststoggle
i onda u skriptu unesemo slijedeće:
- Kod: Označi sve
#!/bin/bash
if [ -f /etc/hosts-original ]; then
sudo cp /etc/hosts /etc/blocked-hosts
sudo mv /etc/hosts-original /etc/hosts
else
sudo cp /etc/hosts /etc/hosts-original
sudo mv /etc/blocked-hosts /etc/hosts
fi
Nakon toga skriptu pokrećemo sa:
- Kod: Označi sve
sudo ./hoststoggle
Ono što je meni jako korisno je da se ova izmjenjena hosts fajla može upotrijebiti i na Smartphoneima (isprobano na Androidu). Na taj način mi se više ne prikazuju add-onovi niti u aplikacijama i mob radi brže (koliko ubrzava surfanje ne moram niti pričati).
Eto ekipa, uživajte!