Kaip efektyviai blokuoti reklamas macOS, Linux ir Windows
Matyt daugelį vargina, neretai įkyrios ir nesaikingai brukamos reklamos. Čia aprašysiu paprastą būdą kaip sumažinti rodomų reklamų kiekį, nediegiant jokių papildomų aplikacijų.
Reklamų rodymas, daugeliui svetainių yra pajamų šaltinis leidžiantis joms gyvuoti, o mums nemokamai naudotus jų kuriamu turiniu. Tiesa yra ir tokių svetainių, kurios už turinį nori pinigų, bet tuos pinigus sumokėjus vis tiek kemšama reklama (neišpasakytas godumas).
Kai reklama rodoma saikingai ir ne visokiais iššokančiais bei mirgančiais skelbimais — tiek to, bet kai apsilankęs svetainėje pasijunti lyg kažkokiame reklamos sąvartyne — norom nenorom pradedi galvoti apie tokių šiukšlių šalinimą iš savo regėjimo lauko.
Žemiau aprašysiu paprastą būdą kaip įdiegti DNS lygio reklamų blokavimą „macOS“ ir išvengti didelės dalies reklamų naršant internete nediegiant jokių papildomų aplikacijų ir… šis reklamų (ar bent jau didelės jų dalies) blokavimo būdas veikia visoje „macOS“ sistemoje (nepriklausomai nuo jos versijos) ir bet kokioje aplikacijoje (pvz. ne kurioje nors vienoje naršyklėje, kaip būna įdiegus reklamų blokavimo įskiepį). Šis reklamų blokavimo visoje sistemoje būdas tinka ir „Linux“ ar PC - principas tas pats, tik pritaikymo metodas PC gali šiek tiek skirtis (aprašytas straipsnio pabaigoje).
Kai kurie labiau pažengę technikos naudotojai savo tinkle įdiegia savo DNS serverį, kuris turi reklamų blokavimo galimybę, tačiau didesnei daliai kompiuterių naudotojų šis būdas yra per sudėtingas arba jie tiesiog tam neturi techninių galimybių. Todėl, kiek galėdamas aiškiau papasakosiu paprastesnį, didesnei daliai kompiuterių naudotojų prieinamą būdą.
Pradžiai kruopelytė Interneto pradžiamokslio
Naršyklėje ar kitoje aplikacijoje pateikus užklausą į interneto svetainę, užklausa nukreipiama į svetainės IP adresą. Kadangi IP adresus sunkiau prisiminti nei daugiau prasmės turinčius pavadinimus, dažniausiai į svetaines kreipiamės naudodami jų pavadinimą (pvz., macarena.lt). Specialūs serveriai (DNS serveriai) žino užklaustos svetainės IP adresą ir užklausą nukreipia tuo adresu.
Įprastai operacinė sistema pirmiausia patikrina, ar jūsų sistemos hosts faile yra užklaustos svetainės IP adresas ir jei jo nėra, operacinė sistema adreso užklausia pas DNS serverį.
Norint nustatyti DNS lygio reklamų blokavimą, į kompiuterio hosts failą įtrauksime žinomų reklamos bei stebėjimo serverių sąrašą ir nukreipsime juos į tuščią adresą (0.0.0.0), taip užtikrindami, kad užklausos būtų blokuojamos.
Reklamos serverių ir stebėjimo priemonių sąrašus teikia ir tvarko internetinė bendruomenė, o norėdami blokuoti įvairių tipų paslaugas (pvz., reklamas, stebėjimo priemones, netikras naujienas, socialinę žiniasklaidą ir kt.), galite pasirinkti kelis sąrašus.
Žemiau pateiksiu informaciją kaip naudoti vieningą Steven Black surinktą ir periodiškai atnaujinamą interneto adresų sąrašą skirtą reklamų ir stebėjimo serverių blokavimui. Šiame sąraše surinkta daugiau nei 160 000 unikalių reklamos ir stebėjimo domenų, tad didelė reklamos ir stebėjimo serverių dalis tikrai efektyviai blokuojama.
Imamės veiksmų
Tiems kam „Terminal“, „hosts“ ir IP nėra fantastiniai personažai ir balsai iš anapus — labai trumpai apibūdinsiu veiksmų eigą: atsisiunčiate adresų failą ir adresais iš atsisiųsto failo papildote savo kompiuterio hosts failą.
Tie, kam reikia detalesnės instrukcijos skaitykite informaciją žemiau:
Kai kurių žemiau aprašomų komandų vykdymui reikės administratoriaus teisių. Jei jūsų kompiuterio naudotojas tokių neturi — prisijunkite prie kompiuterio naudotojo turinčio administratoriaus teises paskyros.
Nepatyrusiems „Terminal“ virtuozams rekomenduočiau prieš pradedant hosts failo modifikavimą išsaugoti atsarginę failo kopiją. Paprasčiausia tai padaryti yra: atsidarius „Terminal“ aplikaciją ir joje įrašius komandą:
sudo cp /etc/hosts /etc/hosts.backup
- Pirmiausia reikia atsisiųsti adresų failą. Aiškumo dėlei atsisiųskime ir išsaugokime jį kompiuterio darbalaukyje (Desktop). Tai padaryti galima keliais būdais:
- būdas: apsilankykite raw.githubusercontent.com/StevenBlack/hosts/master/hosts svetainėje ir naršyklės meniu pasirinkite File → Save As…, įsitikinkite, kad išsaugomo failo pavadinimas yra hosts.txt. Jei puslapį atidarysite „Safari“ naršyklėje, įsitikinkite jog failo formatas („Format“ — failo išsaugojimo lango apačioje) yra „Page Source“ ir jei yra koks nors kitoks, (pvz. „Web Archive“) — pakeiskite formatą į „Page Source“. Išsaugokite failą ant desktop'o.
- būdas: atsidarykite Terminal aplikaciją (rasite /Applications/Utilities aplanke) ir joje įveskite komandą (visa žemiau pateikta komanda yra rašoma viena eilute), paprasčiausias būdas ją įvesti yra nukopijuoti iš čia ir įklijuoti „Terminal“ aplikacijos lange:
curl https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts >> ~/Desktop/hosts\.txt
- Dabar reikėtų įsitikinti, kad faile kuriame atsisiuntėte nėra kokių nors į kitą svetainę nukreipiančių adresų. (Jei atsisiųstą failą išsaugojote kitoje vietoje ar kitu pavadinimu pakeiskite paskutinę komandos dalį (komandoje po tarpo pažymėta melsvai) atitinkamai.
Patikrinti atsisiųstus adresus galite atidarę Terminal aplikaciją ir joje įvedę komandą. Žemiau pateikta komanda (viena eilutė) yra failui išsaugotam hosts.txt pavadinimu kompiuterio darbalaukyje (desktop'e).
Rezultatas turėtų atrodyti maždaug taip:grep -E '^(\s*)[1-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\s*.*\..*' ~/Desktop/hosts\.txt
Jei komandos rezultatas bus daugiau eilučių nei 127.0.0.1 localhost.localdomain, tokio failo nereikėtų naudoti, nes, jį kažkas nelabai gerai nusiteikęs bus modifikavęs, tačiau to tikimybė maža.macarena@MacPro ~ % grep -E '^(\s*)[1-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\s*.*\..*' ~/Desktop/hosts\.txt
127.0.0.1 localhost.localdomain
macarena@MacPro ~ % - Tik jei esate patys modifikavę hosts failą savo kompiuteryje: iš atsisiųsto failo pašalinkite visas eilutes iki 0.0.0.0 0.0.0.0, nes jos ar jų ekvivalentai jau yra jūsų kompiuterio faile. Komentarus (eilutes prasidedančias # galite palikti, jų pagalba bus lengviau susigaudyti kokią failo versiją naudojate).
- Toliau perkelkite atsisiųsto failo informaciją į savo kompiuteryje esantį hosts failą.
- Jei hosts failą savo ESATE MODIFIKAVĘ ir ten padarėte kokius nors įrašus, kuriuos norite išsaugoti: Jei hosts failą esate papildę savo įrašais ir atitinkamai (žr. aukščiau pakeitėte atsisiųstą hosts failą), „Terminal“ aplikacijoje įrašykite šią komandą viena eilute:Įvedus šią komandą spauskite return ⏎ ir, greičiausiai, reikės įvesti kompiuterio administratoriaus slaptažodį, vedant kurį nematysite nei kad, nei ką rašote, tad veskite dėmesingai. Įvedę slaptažodį spauskite return ⏎
sudo cat ~/Desktop/hosts\.txt >> /etc/hosts
Ši komanda prie esančio hosts failo turinio pridurs atsisiųstojo, papildys jį.
- Jei hosts failo savo kompiuteryje NESATE MODIFIKAVĘ: Perrašykite savo kompiuterio hosts failą atsisiųstuoju. „Terminal“ aplikacijoje įrašykite šią komandą viena eilute: Paspaudus return ⏎ būsite paprašyti įvesti kompiuterio administratoriaus slaptažodį, vedant kurį nematysite nei kad, nei ką rašote, tad veskite dėmesingai, o įvedę dar kartą paspauskite return ⏎
sudo mv ~/Desktop/hosts\.txt /etc/hosts
Ši komanda perrašys hosts failą atsisiųstuoju.
- Jei hosts failą savo ESATE MODIFIKAVĘ ir ten padarėte kokius nors įrašus, kuriuos norite išsaugoti: Jei hosts failą esate papildę savo įrašais ir atitinkamai (žr. aukščiau pakeitėte atsisiųstą hosts failą), „Terminal“ aplikacijoje įrašykite šią komandą viena eilute:
Hosts failo vieta
Iki „macOS Mojave 10.14“, kaip ir „iOS“ (naudotojai prieigos prie failo neturi), „Android“ bei „Linux“ sistemose hosts failo vieta: /etc/hosts. Nuo „macOS Catalina“ tikroji hosts failo vieta „Mac“ kompiuteriuose persikėlė į: /private/etc/hosts, tačiau tai neturėtų jūsų trikdyti, nes failą rasite ir /etc/hosts, tai tas pats failas — jie tarpusavyje susieti ir aukščiau minimos komandos puikiausiai tinka.
„Windows“ operacinėje sistemoje hosts failą rasite: %SystemRoot%\system32\drivers\etc\hosts
Windows
Paspauskite „Windows“ klavišą, paieškos lauke įveskite „Notepad“, paieškos rezultatuose paspauskite dešinį pelės klavišą ant „Notepad“ ir pasirinkite aplikaciją atidaryti kaip administratorius, tada jau „Notepad“ aplikacijoje atidarykite failą %SystemRoot%\system32\drivers\etc\hosts (arba: C:\Windows\System32\Drivers\etc\hosts), papildykite faile jau esančią informaciją atsisiųstais adresais arba tiesiog nukopijuokite atsisiųsto failo turinį į atidarytą hosts failą ir išsaugokite pakeitimus.
Pabaigai
Jei viską atlikote teisingai ir atsisiųsto hosts.txt failo informacija perkelta į /etc/hosts – naršydami internete — pastebėsite, kad didelė dalis reklaminių skelbimų išnyko.
Atminkite, kad reklamos skelbėjai sukuria naujus adresus, tad jei pastebėjote, kad naršant internete atsirado daugiau reklamos, nei buvo tik atlikus aukščiau aprašytus veiksmus — vėl apsilankykite raw.githubusercontent.com/StevenBlack/hosts/master/hosts svetainėje ir patikrinkite ar failo informacija nėra atnaujinta.
Jei vis tik sugebėjote kažką pridirbti ir internetas neveikia — reikėtų pradėti nuo pradžių — pirmiausia atstatant pradinį, iki pakeitimų buvusį hosts failą. Jei išsaugojote jo kopiją, tai padaryti galite žemiau esančios komandos pagalba.
sudo cp /etc/hosts.backup /etc/hosts
Jei sugebėjote pridirbti ir neišsaugojote atsarginės hosts failo kopijos, pabandykite šią komandą (visa komanda viena eilute), kuri perrašys jūsų /etc/hosts failo turinį numatytuoju.
sudo echo -e "127.0.0.1 localhost\n255.255.255.255 broadcasthost\n::1 localhost\n" > /etc/hosts
Šie pakeitimai galioja visiems kompiuterio, kuriame jie atliekami naudotojams, nes visi jie naudoja vieną ir tą patį /etc/hosts failą.