Kako ukloniti oglase s Pixelserv na DD-WRT
Postoje brojni načini blokiranja oglasa u pregledniku, ali što ako ih možete blokirati na usmjerivaču? Evo kako koristiti DD-WRT firmware i namjerno "trovanje DNS-om" da biste blokirali oglase za svaki uređaj na vašoj mreži.
Pregled
ažuriranje: Vodič je ažuriran kako bi odražavao povratne informacije koje su dali komentatori i ažurirao anti-oglasni paket s novijom izvršnom datotekom pixel-server i listom izmjena.
Prvo pitanje na umu svih sada je "zašto ne koristiti samo oglasni blok?"
Za mnoge ljude jednostavno ne postoji razlog, pogotovo s kromovom novom mogućnošću repliciranja proširenja koja upotrebljavate na svakom računalu na kojemu ste pokrenuli chrome..
Odgovor leži negdje između smanjenog opterećenja jer ne morate poučavati sve korisnike na mreži o oglasnom bloku (razgovaram s vama mama, sestro, baka i tajnica ureda) i praktičnost da vam to ne smeta svako računalo koje postavite. Pretpostavlja se da će na vašoj mreži biti nekih računala na koja ne namjeravate konfigurirati vaše osobno okruženje (na primjer, "osnovni poslužitelji" ili VM).
Bilješka: Iako koristim niže navedenu metodu na svom kućnom usmjerivaču, našao sam ad-block kao izvrstan dodatak njemu, a preporučujem da koristite obje metode zajedno. Također, ako nemate DD-WRT usmjerivač koji koristi ad-block je više njih dovoljno. Zapravo, toliko mi se sviđa program, darovao sam njegovom developeru i potičem svakoga da to učini, kako bi njegov razvoj bio u tijeku.
Kako radi?
U suštini to funkcionira namjernim trovanjem našeg DNS-a za vraćanje određenog IP-a za domene na neodobreni popis. Ovaj neodobreni popis sadržavat će nazive domena web-mjesta koji su isključivo odgovorni za isporuku sadržaja oglasa, tako da ih nećemo mnogo propustiti.
Postavit ćemo sekundarni HTTP poslužitelj na usmjerivaču kako bi poslužio prozirnu sliku od jednog piksela, kao odgovor na bilo koji URL zahtjev. U kombinaciji s "pogrešnom" rješavanju DNS-a, to će uzrokovati da mrežni klijenti zatraže sadržaj s našeg internog poslužitelja piksela i dobiju praznu sliku u odgovoru.
Za generiranje neodobrene liste stvorit ćemo jedan osobni popis zajedno s dva dinamički preuzeta popisa. dinamički popisi su MVPS datoteka domaćina i Yoyo popis domena, zajedno drže vrlo opsežan popis oglasnih mjesta. Korištenjem ovih popisa, ostaje nam odgovornost samo dodavanje delta web-mjesta koja već nisu u jednom od njih, na našem osobnom popisu.
Također ćemo postaviti "bijelu listu" za domene koje ne želimo blokirati iz bilo kojeg razloga.
Preduvjeti i pretpostavke
- Strpljenja mlada, ovo je dugo pročitano.
- Ovaj postupak je izrađen i testiran na DD-WRT (v24pre-sp2 10/12/10 mini r15437), kao takvu biste već trebali imati ovu verziju ili kasnije instaliranu na vašem usmjerivaču da biste je koristili. Više informacija je na stranicama DD-WRT.
- Radi jednostavnosti objašnjenja, pretpostavlja se da je usmjerivač vraćen na svoje "tvorničke postavke" ili da se postavke koje su korištene nisu promijenile od svojih "izvan okvira" unaprijed definiranih postavki od tada.
- Klijentsko računalo koristi usmjerivač kao DNS poslužitelj (to je zadano).
- Prostor za JFFS (u nedoumici preporučujem korištenje mini verzija DD-WRT-a).
- Pretpostavlja se da je vaša mreža već postavljena i da je to klasa C (ona koja ima podmrežu 255.255.255.0) kao zadnju IP adresu na toj mreži klase C (x.y.z.254) Će biti dodijeljen programu piksel-poslužitelja.
- Spremnost za instaliranje winSCP.
* Skripta neće moći prilagoditi popise blokiranja nakon prve vožnje do sljedećeg ciklusa osvježavanja (3 dana).
krediti
ažuriranje: Posebna zahvala "mstombs" za veliki dio C koda bez njegovog rada sve to ne bi bilo moguće, "Oki" za sastavljanje verzije i citata kompatibilnih s Atherosom ;-) i "Nate" za pomoć pri QA-u.
Iako je na mojoj strani bilo mnogo posla da se ovaj postupak usavrši, inspiraciju za njega zapalili su momci na forumu DD-WRT, a neki od temelja ovog vodiča mogu se naći na “blokiranju oglasa s DD-om”. WRT je pregledan (jednostavan), "pixelserv bez Perla, bez jffs / cifs / usb besplatno" i "Flexion.Org Wiki na DNSmasq" kao i drugi.
Omogućujemo pucanje
Omogući SSH za SCP pristup
Omogućavanjem SSH-a, zauzvrat ćemo se moći povezati s usmjerivačem pomoću SCP protokola. s tim omogućenim, tada možemo koristiti program winSCP za vizualnu navigaciju u strukturi mapa usmjerivača (kao što ćemo vidjeti kasnije).
Da biste to učinili, koristite webGUI, idite na karticu "Usluge". Pronađite odjeljak "Secure shell" i kliknite radio gumb "Enable" za postavku SSHd.
Kada to učinite, webGUI bi trebao izgledati kao ispod i možete kliknuti na "Spremi" (nemoj primijeniti još).
Omogući JFFS
Da bi to napravili na način koji bi bio stabilan, ponovljiv i * biti "dobar internet građanin", koristit ćemo JFFS za pohranjivanje što više konfiguracija. Postoje i drugi načini da to učinite bez omogućavanja JFFS-a, ako ne možete zbog ograničenja prostora, ali oni nisu pokriveni ovdje.
* druge metode imaju usmjerivač koji preuzima izvršnu i dinamičku listu piksel-poslužitelja svaki put kada se skripta pokrene. jer to opterećuje poslužitelje koji drže popise i izvršnu datoteku, a to nekome košta novac, ova metoda pokušava izbjeći ako je moguće.
Ako već ne znate što je JFFS, ovo objašnjenje, preuzeto iz DD-WRT wiki unosa o JFFS-u, trebalo bi razjasniti:
Sustav datotečnog bljeskanja (JFFS) omogućuje vam pisanje Linux datotečnog sustava na ruteru koji podržava DD-WRT. Koristi se za spremanje korisničkih programa kao što su Ipkg i podatke u inače nedostupnu flash memoriju. To vam omogućuje spremanje prilagođenih konfiguracijskih datoteka, domaćina prilagođenih web-stranica pohranjenih na usmjerivaču i mnoge druge stvari koje nisu sposobne bez JFFS-a.
Da biste omogućili JFFS na usmjerivaču, idite na karticu "Administracija" i pronađite JFFS odjeljak. Slika ispod pokazuje gdje ćete pronaći ovaj odjeljak na kartici "Administracija".
U odjeljku JFFS2 Support (Podrška za JFFS2), kliknite na "Enable" radio gumbe za "JFFS2" i (kada se pojavi) postavke "Clean JFFS2". Nakon odabira kliknite "Spremi".
Kada su postavke spremljene, još uvijek na kartici “Administration”, ponovno pokrenite usmjerivač pomoću gumba “Reboot Router”. Time ćete primijeniti postavke i izvršiti potreban "format" JFFS "particije".
Kada se webGUI vrati s ponovnog pokretanja na karticu "Administracija", pričekajte još pola minute i osvježite stranicu.
Ako uspijete, trebali biste vidjeti da vaš JFFS nosač ima malo slobodnog prostora kao na slici.
Postavljanje poslužitelja piksela
Preuzmite i izdvojite paket anti-oglasa za dd-wrt zip arhivu koji sadrži izvršnu datoteku pixel-poslužitelja (ne uzimamo kredit, samo izbjegavamo "vruće povezivanje"), skriptu za blokiranje oglasa (koju je napisao vaš doista) i osobnu popis domena koji su stvorili "Mithridates Vii Eupator" i ja.
Vrijeme je da preuzmete datoteke u JFFS nosač na usmjerivaču. da biste to učinili, instalirajte winSCP (to je vrsta "sljedeće -> sljedeće -> završi") i otvorite je.
U glavnom prozoru ispunite informacije poput ove:
Naziv hosta: IP adrese usmjerivača (zadano je 192.168.1.1)
Broj luke: ostavite nepromijenjen na 22
Korisničko ime: korijen (čak i ako ste promijenili korisničko ime za webGUI, SSH korisnik će uvijek biti * root *)
Datoteka privatnog ključa: ostavite prazno (ovo je potrebno samo kada izradite provjeru autentičnosti koja se temelji na paru ključeva koju nismo)
Protokol datoteke: SCP
Također trebamo onemogućiti "Grupu za pretragu" kao što je prikazano u nastavku (zahvaljujući mstombs-u zbog isticanja) jer winSCP očekuje puni Linux s druge strane, koji DD-WRT-ovi programeri, unatoč svemu odličnom radu, nisu mogli pružiti (uglavnom zato što nema dovoljno prostora). Ako ovo označite, pojavit će se zastrašujuće poruke kada se povežete i spremite uređene datoteke.
Odaberite Unaprijed, a zatim poništite oznaku "Traži grupe korisnika".
Iako je opcionalno, sada možete odabrati spremanje postavki za kasniju upotrebu. Ako se odlučite za spremanje postavki koje se preporučuju, također se preporučuje (unatoč otvorenim krikama azila "paranoidne sigurnosti" koje mi oskvrnuvamo postojanje SSH-a) da spremite lozinku.
Tada će vaš glavni prozor izgledati kao na slici, a sve što trebate učiniti da se spojite na ruter je dvostruki klik na unos.
Kao što je ovo prvi put da ćete se spajati na ruter, winSCP će vas pitati jeste li spremni vjerovati otisku na drugoj strani. Kliknite "Da" za nastavak.
Programeri DD-WRT-a implementirali su pozdravnu poruku Bannera s nekim informacijama o instaliranom firmveru. jednom crveno kliknite potvrdni okvir "Nikad više ne prikazuj ovaj banner" i "Nastavi".
Kada se jednom povežete, idite do mape na najvišoj razini (a root "/"), a zatim se vratite na "/ jffs" jer je to jedino mjesto za pisanje na datotečnom sustavu usmjerivača ("/ tmp" ne preživljava ponovno podizanje sustava) a ostatak je samo za čitanje).
Stvorite novu mapu tako da pritisnete F7 ili kliknete desnom tipkom miša na prazno mjesto, zadržite pokazivač miša iznad "Novo" i kliknite "Direktorij".
Imenujte novi direktorij “dns”. kreiramo ovaj direktorij kako bismo stvari održavali u direktorijima jffs za buduću upotrebu i zato što uglavnom mijenjamo kako funkcionira DNS usluga.
Kopirajte datoteke “pixelserv” i “disable-adds.sh” iz anti-ads-pack-for-dd-wrt zip arhive, tako da ih odaberete (koristite tipku “insert”), pritisnete “F5” i zatim “Copy” ”.
Napomena: Ako je vaš usmjerivač baziran na Atheros-u (možete to provjeriti na DD-WRT wiki-ju), morat ćete koristiti pixelserv_AR71xx koje je dostavio Oki i uključiti u paket i preimenovati ga u "pixelserv" prije nastavka.
Kada se datoteke nađu na ruteru, moramo ih izvršiti odabirom njih (ponovno koristiti "umetnuti") desnom tipkom miša, a zatim "svojstvima".
Na prozoru svojstava kliknite na "X" za redak "Vlasnik". koji će dati dozvole za izvođenje datoteka.
Postavke usmjerivača
Sada kada je pozornica postavljena, možemo reći usmjerivaču da pokrene skriptu za blokiranje prilikom pokretanja.
Da biste to učinili, u webGUI idite na karticu "Administracija", a zatim na karticu "Naredbe".
U tekstnom okviru "Naredbe" upišite mjesto skripte kao "/jffs/dns/disable_adds.sh", kao na slici, a zatim kliknite na "Spremi pokretanje".
Ako je uspješan, trebali biste vidjeti da je skripta postala dio pokretanja usmjerivača kao na slici iznad.
Postavljanje popisa osobnih blokiranih domena (izborno)
Ovaj popis omogućuje dodavanje domena na neodobrene popise, ako ustanovite da ta dva dinamička popisa ne uhvate nešto.
Da biste to učinili, postoje dvije opcije, a one rade zajedno, tako da možete koristiti i jedno i drugo prema onome što vam je prikladnije.
Bilješka: sintaksa je važna, Kao što mi zapravo stvaramo konfiguracijske direktive koje će izravno koristiti DNSMasq demon (proces koji je odgovoran za DNS-ime za IP prijevodi). Kao takva, pogrešna sintaksa ovdje će uzrokovati rušenje usluge i ostaviti usmjerivač ne može riješiti IP adrese za nazive domena (upozoreni ste).
Kako biste pronašli zabranjena imena domena koju želite blokirati, možda ćete htjeti koristiti naš vodič "Pronađi tajne poruke u zaglavljima web-mjesta" kao početnu. Koraci za pronalaženje naziva oglasnih domena su gotovo isti, samo da u ovom slučaju tražite adresu umjesto poruke.
Prvi i, doduše, pristupačniji način je staviti popis u “DNSMasq” konfiguracijski okvir u wegGUI. To je zato što se na ovaj popis može jednostavno pristupiti webGUI-u umjesto da se ide "pod haubu" kako bi se napravile promjene.
Idite na karticu "Usluge", pronađite odjeljak "DNSMasq" i pronađite tekst "Dodatni DNSMasq opcije".
U ovaj tekstualni okvir unesite popise domena koje želite blokirati sintaksom "address = / domain-name-to-block / pixel-server-ip" kako je prikazano na slici ispod:
Gdje je u ovom primjeru "192.168.1.254" IP koji je generiran za piksel-poslužitelj na temelju "mrežne adrese" vaše LAN mreže. Ako je vaša mrežna adresa nešto drugo od 192.168.1.x, morat ćete prilagoditi adresu piksel-poslužitelja.
Kada završite, kliknite na "Spremi" pri dnu stranice (nemojte se prijaviti).
Drugi opcija je sastaviti popis domena koje želite blokirati, datoteku "personal-ads-list.conf" koju sam i ja i "Mithridates Vii Eupator" sastavili. Ova datoteka je dio zip arhive koju ste ranije preuzeli i to je odličan početak za obje metode.
Da biste ga koristili, po potrebi upotrijebite svoj omiljeni uređivač teksta kako biste prilagodili IP adresu poslužitelja piksela (ovdje se primjenjuju ista ograničenja kao gore). Zatim ga jednostavno kopirajte u direktorij "/ jffs / dns" dok imate druge datoteke. Nakon što je u njemu možete koristiti winSCP za uređivanje i dodavanje domena.
Postavljanje popisa dopuštenih
Ovo je popis domena koje će biti izostavljene iz dinamičkih popisa "hosts" i "domene".
To je nužno jer jednostavno blokiranje nekih domena uzrokuje neispravnost web-lokacija koje ih koriste. najistaknutiji primjer je "google-analytics.com".
Ako blokiramo domenu, to neće promijeniti činjenicu da web-lokacije koje ga koriste, vaš preglednik preuzima s JavaScriptom koji se izvodi na događajima poput napuštanja stranice. To znači da će za takvu web-lokaciju vaš preglednik pokušati "nazvati dom" kontaktiranjem Google domene, neće razumjeti odgovor i morat ćete pričekati da skripta istekne kako biste nastavili na sljedeću stranicu. To jedva da je ugodno iskustvo surfanja i zato je svaka domena koja sadrži "google-analytics" i "googleadservices" * izuzeta iz filtriranja.
Ovaj popis kreiran je za vas s gore navedenim domenama spominjanja, kada se skripta pokreće prvi put, u direktoriju "/ jffs / dns".
Da biste koristili popis dopuštenih, otvorite datoteku s winSCP i **perpend na popis domena koje želite isključiti, a istovremeno pazite da ne ostavite prazne retke (ostavljanje praznog retka izbrisat će sve domene iz svih popisa).
* Dok skripta kreira bijelu listu s domenama unutar nje u prvoj vožnji, ona NE insistira na njihovim darovima za buduće pokrete. tako da ako smatrate da bi Google trebao biti blokiran unatoč gore navedenim problemima, možete ukloniti domene s popisa dopuštenih.
** Morate unijeti nove domene koje želite na početku popisa. To je zbog greške u tome kako bash tumači nove linije… žao mi je što još nemam posla oko toga.
Izvršenje
To je to, konačno je vrijeme za pozivanje skripte i pregled rezultata jednostavnim ponovnim pokretanjem usmjerivača.
Da biste to učinili s webGUI-ja, pod karticom "Administration" vratite se na "Management", na dnu stranice kliknite na "Reboot router" i pričekajte da se usmjerivač vrati.
Može potrajati nekoliko minuta da scenarij prvi put izvrši svoje dužnosti.
Na WRT54Gx tipu usmjerivača ćete znati kada će skripta završiti s izvršavanjem jer će treptati Cisco Orange LED na prednjoj strani usmjerivača (drugi usmjerivači trebaju imati sličan znak „rep“).
Ažuriranje: Ovaj dio je * uklonjen nakon što je otkriven kao ne-hardverska značajka agnostika.
Kao što pokušavamo vidjeti odsutnost elemenata na webu, preporučujem jednostavno surfanje na nekoliko web-lokacija kako biste vidjeli efekt.
Međutim, ako želite biti sigurni da je postupak bio uspješan, prvi korak uklanjanja pogrešaka u odjeljku za rješavanje problema je odlično mjesto za početak.
* To je zapravo komentirao, tako da ga možete vratiti ako ste sigurni da neće uzrokovati probleme na vašem postavljanju.
Uživati!
Rješavanje problema
Ako naiđete na probleme, postoji nekoliko stvari koje možete učiniti da provjerite što je pošlo po zlu.
- Provjerite je li domena oglasa razriješena na IP adresu piksela.
To možete učiniti izdavanjem naredbe nslookup protiv domene "offending". Na primjer, “ad-emea.dubleclick.com” je dio blokiranih hostova s osobnog popisa. Izdavanjem "nslookup ad-emea.dubleclick.com" u naredbenom retku, rezultat bi trebao izgledati ovako:
Tamo gdje bi normalan neblokirani odgovor izgledao ovako: - Učinite više.
Da biste bili sigurni da se ništa s podešavanjem vašeg usmjerivača ne sukobljava s konfiguracijom oglasnog bloka, vratite usmjerivač na "Factory Defaults" i pokušajte ponovno. Nakon uspješnog dodavanja prilagođenih izmjena u nadi da se neće ponovno sukobiti. - Provjerite koristi li vaš klijent usmjerivač kao DNS.
Pogotovo kada koristite VPN ili mrežu koja je složenija od normalnog usmjerivača za postavljanje računala, moguće je da vaše klijentsko računalo jednostavno ne koristi router kao svoj DNS. U naredbi je vrlo lako vidjeti što je DNS poslužitelj koji koristi klijent, ako IP nije isti kao ruter, pronašli ste problem. - Izbrišite DNS predmemoriju osobnih strojeva.
To je zato što u protivnom još uvijek možete vidjeti oglase na web-lokaciji s kojima testirate, jednostavno zato što vaše računalo već zna kako da sam oglasni sadržaj dobije bez savjetovanja s DNS-om. Na prozorima će to biti "ipconfig / flushdns". - Zatvorite preglednik.
Ponekad preglednik drži informacije spremljene u predmemoriji, tako da brisanje DNS-a kao što je prikazano gore ne pomaže. - Kada sumnjate, ponovno pokrenite sustav.
Ponekad se predmemorije mogu zadržati i najbolji način da ih se riješite je ponovno podizanje sustava. Počnite s usmjerivačem i ako se problem i dalje pojavljuje, klijentsko računalo. - Koristite syslog.
Možete aktivirati demon syslog na usmjerivaču, a zatim pogledati poruke da biste vidjeli je li skripta naišla na bilo kakve probleme, pregledavajući njezine poruke. Isto tako, skripta dodaje neke pseudonime naredbi kako bi olakšali otklanjanje pogrešaka.
Da biste to učinili, idite na karticu "Usluge" i omogućite demon syslog kao na slici ispod:
Napomena: "Udaljeni poslužitelj" koristi se kada imate poslužiteljski poslužitelj na drugom računalu (kao što je kivi) ako ga nemate, ostavite ga praznim.
Nakon omogućavanja možete pregledati poruke za uklanjanje pogrešaka gledajući ih / var / logs / poruke datoteku u terminalu.
* Da biste vidjeli SVE poruke iz boot-up-a, možete koristiti “more / var / log / messages”.
* Da biste vidjeli samo poruke iz skripte u dnevniku koristite "clog" alias.
* Da biste vidjeli poruke kako dolaze, u stvarnom vremenu, koristite "tail -f / var / log / messages" ili njegovim aliasom "tlog". - Razumijem skriptu.
Iako sam napravio ovaj videozapis na usluzi YouTube za stariju verziju ovog vodiča i skriptu, još uvijek ima mnogo istina i objašnjenja koja su primjenjiva na način na koji nova i poboljšana verzija funkcionira..