Cum să eliminați reclamele cu Pixelserv pe DD-WRT
Există numeroase modalități de a bloca anunțurile în browserul dvs., dar ce se întâmplă dacă le puteți bloca pe router? Iată cum să utilizați firmware-ul DD-WRT și deliberarea "otrăvirii DNS" pentru a bloca anunțurile pentru fiecare dispozitiv din rețea.
Prezentare generală
Actualizați: Ghid actualizat pentru a reflecta feedback-ul oferit de comentatori și a actualizat pachetul anti-anunțuri cu noul executabil al serverului pixel-server și cu un changelog.
Prima întrebare despre mintea tuturor acum este "de ce nu doar să folosiți blocul de anunțuri?"
Pentru o mulțime de oameni, pur și simplu nu este un motiv, mai ales cu noua capacitate a cromului de a replica extensiile pe care le folosiți la fiecare computer pe care rulați crom pe.
Răspunsul se află undeva între cheltuielile reduse de a nu trebui să îi înveți pe toți utilizatorii din rețeaua dvs. despre blocul de anunțuri (vorbesc cu mama, sis, bunicul și secretarul de birou) și comoditatea de a nu fi deranjat de aceasta pe fiecare computer pe care îl configurați. Aceasta presupune că vor exista anumite calculatoare în rețeaua dvs. pe care nu le veți configura pe mediul dvs. personal (de exemplu, "servere de bază" sau VM-uri).
Notă: Chiar dacă folosesc metoda de mai jos pe router-ul meu de acasă, am găsit blocul de anunțuri adițional excelent la acesta și recomand să folosim ambele metode împreună. de asemenea, dacă nu aveți un router DD-WRT care utilizează un bloc de anunțuri, este mai mult decât suficient. De fapt, îmi place atât de mult programul, l-am donat dezvoltatorului și i-am încurajat pe toți să facă acest lucru, să-și mențină dezvoltarea.
Cum functioneazã?
În esență, acest lucru funcționează prin otrăvirea deliberată a DNS-ului nostru pentru a returna o IP specifică pentru domenii dintr-o listă neaprobată. Această listă neaprobată va conține nume de domenii ale site-urilor responsabile exclusiv pentru difuzarea conținutului publicitar, astfel încât nu le vom pierde prea mult.
Vom configura un server HTTP secundar pe router pentru a servi o imagine transparentă dintr-un pixel, ca răspuns pentru orice solicitare de adresă URL. În legătură cu rezolvarea greșită a DNS, aceasta va determina clienții din rețea să solicite conținutul de la serverul nostru pixel intern și să obțină o imagine neagră în răspuns.
Pentru a genera lista neaprobată, vom crea o listă personală împreună cu două liste descărcate dinamic. listele dinamice sunt fișierul gazdă MVPS și lista de domenii Yoyo, împreună conțin o listă foarte extinsă de site-uri de reclamă. Prin folosirea acestor liste, rămânem în responsabilitatea de a adăuga doar delta site-urilor care nu se află deja în unul dintre ele, în lista noastră personală.
De asemenea, vom seta un "whitelist" pentru domeniile pe care nu dorim să le blocăm din nici un motiv.
Condiții și presupuneri
- Răbdarea tânără, aceasta este o citire lungă.
- Această procedură a fost creată și testată pe DD-WRT (v24pre-sp2 10/12/10 mini r15437), ca atare ar trebui să aveți deja această versiune sau mai târziu instalată pe routerul dvs. pentru a o utiliza. Mai multe informații s-au terminat pe site-ul DD-WRT.
- Pentru simplificarea explicațiilor, se presupune că router-ul a fost restaurat la "setările implicite din fabrică" sau că setările utilizate nu s-au schimbat de la presetările lor "out of the box" de atunci.
- Calculatorul client utilizează routerul ca server DNS (acesta este setarea implicită).
- Spațiu pentru JFFS (în caz de îndoială, vă recomandăm să utilizați mini versiunea DD-WRT).
- Se presupune că rețeaua dvs. este deja setată și că este o clasă C (cea care are o subrețea de 255.255.255.0) ca ultima IP din acea rețea de clasa C (x.y.z.254) Vor fi alocate pentru programul pixel-server.
- Disponibilitatea de a instala winSCP.
* Scriptul nu va putea să ajusteze listele de blocuri după prima rulare până la următorul ciclu de reîmprospătare (3 zile).
credite
Actualizați: Mulțumiri speciale pentru "mstombs" pentru piesa mare de cod C fără lucrarea sa, toate acestea nu ar fi posibile, "Oki" pentru compilarea versiunii compatibile Atheros și citați ;-) și "Nate" pentru a ajuta cu QA-ing.
În timp ce a fost o mulțime de lucruri pentru a perfecționa această procedură la sfârșitul meu, inspirația pentru aceasta a fost aprinsă de băieți la forumul DD-WRT și unele dintre fundamentele acestui ghid pot fi găsite la "blocarea anunțurilor cu DD- WRT revizuit (simplu) "," pixelserv fără Perl, fără jffs / cifs / usb free "și" Flexion.Org Wiki pe DNSmasq ", precum și altele.
Permiteți-vă să crăpați
Activați SSH pentru accesul la SCP
Prin activarea SSH, noi, la rândul nostru, ne dăm posibilitatea de a ne conecta la router folosind protocolul SCP. cu acest lucru, putem folosi programul winSCP pentru navigarea vizuală a structurii de directoare a routerului (așa cum vom vedea mai târziu).
Pentru a face acest lucru, utilizând WebGUI, accesați fila "Servicii". Găsiți secțiunea "Secure shell" și faceți clic pe butonul radio "Activare" pentru setarea SSHd.
După ce sa terminat, webGUI ar trebui să pară ca mai jos și puteți da clic pe "Salvați" (nu face se aplică încă).
Activați JFFS
Pentru a face această configurare într-un mod care ar fi grajd, reproductibil și * să fie un "bun cetățean de internet", vom folosi JFFS pentru a stoca cât mai multe configurații posibil. Există și alte modalități de a face acest lucru fără a permite JFFS, dacă cant din cauza limitărilor de spațiu, dar acestea nu sunt acoperite aici.
* alte metode au ruterul dvs. să descarce liste executabile și dinamice de tip pixel-server de fiecare dată când scriptul este rulat. deoarece acest lucru pune o presiune asupra serverelor care dețin listele și executabilul și aceasta costă bani cuiva, această metodă încearcă să o evite, dacă este posibil.
Dacă nu știți deja ce este JFFS, această explicație, luată din intrarea wiki a DD-WRT despre JFFS, ar trebui să clarifice lucrurile:
Sistemul de fișiere Flash Jurnal (JFFS) vă permite să aveți un sistem de fișiere Linux care poate fi scris pe un router activat DD-WRT. Este folosit pentru a stoca programe de utilizator ca Ipkg și date în memorie flash inaccesibilă. Aceasta vă permite să salvați fișiere de configurare personalizate, să găzduiți pagini web personalizate stocate pe router și multe alte lucruri care nu sunt capabile fără JFFS.
Pentru a activa JFFS pe router, accesați fila "Administrare" și găsiți secțiunea JFFS. imaginea de mai jos arată unde ați afla această secțiune în fila "Administrare".
În secțiunea de asistență JFFS2, faceți clic pe butoanele radio "Activare" pentru "JFFS2" și (când apare) setările "Clean JFFS2". După ce ați selectat, faceți clic pe "Salvați".
Când setările au fost salvate, încă în fila "Administrare", reporniți ruterul utilizând butonul "Reboot Router". Aceasta va aplica setările și va efectua "formatul" necesar al "partiției" JFFS,.
Când webGUI-ul revine din repornire în fila "Administrare", așteptați încă o jumătate de minut și reîmprospătați pagina.
Dacă reușiți, ar trebui să vedeți că suportul dvs. JFFS are un spațiu liber ca în imagine.
Configurarea serverului pixel
Descărcați și extrageți pachetul anti-anunturi pentru arhiva dd-wrt zip care conține executabilul serverului pixel (nu luăm credit, evitând doar "legarea la cald"), scriptul de blocare a anunțurilor (scris de dvs. cu adevărat) lista de domenii creată de "Mithridates Vii Eupator" și eu.
Este timpul să obțineți fișierele în suportul JFFS de pe router. pentru a face acest lucru, instalați winSCP (este un tip "next -> next -> finish" al unei configurații) și deschideți-l.
În fereastra principală, completați informațiile de mai jos:
Numele gazdei: IP-ul routerului (implicit este 192.168.1.1)
Numărul portului: lăsați neschimbat la 22
Nume de utilizator: rădăcină (chiar dacă ați schimbat numele de utilizator pentru webGUI, utilizatorul SSH va fi întotdeauna * root *)
Fișier cheie privat: lăsați necompletat (acest lucru este necesar numai atunci când creați o autentificare bazată pe perechea de chei pe care noi nu o avem)
Protocolul de fișiere: SCP
De asemenea, trebuie să dezactivați "grupul de utilizatori de căutare" așa cum se arată mai jos (mulțumesc mstombs pentru a arăta acest lucru) deoarece winSCP așteaptă un Linux complet pe care dezvoltatorii DD-WRT, în ciuda tuturor lucrărilor excelente acolo, (mai ales pentru că pur și simplu nu există suficient spațiu). Dacă lăsați acest lucru verificat, veți întâlni mesaje infricosatoare atunci când vă conectați și salvați fișierele editate.
Selectați Advance (Advance), apoi debifați "Groups search groups".
În timp ce este opțional, puteți opta pentru salvarea setărilor pentru utilizare ulterioară. Dacă alegeți să salvați setările recomandate, este de asemenea recomandat (în ciuda plânsului de la "azilul de securitate paranoic" pe care îl desecrăm însăși existența SSH) să salvați parola.
Apoi, fereastra principală va arăta ca în imagine, și tot ce trebuie să faceți pentru a vă conecta la router este dublu clic pe intrare.
Deoarece aceasta este prima dată când vă veți conecta la router, winSCP va întreba dacă sunteți dispus să aveți încredere în amprenta celeilalte părți. Dați clic pe "Da" pentru a continua.
Dezvoltatorii DD-WRT au implementat un mesaj de întâmpinare Banner cu câteva informații despre firmware-ul pe care l-ați instalat. o dată pe roșu, faceți clic pe caseta de selectare "Nu mai afișați niciodată acest banner" și pe "Continuați".
După conectare, navigați până la dosarul de nivel superior (rădăcină AKA "/") și apoi mergeți înapoi la "/ jffs", deoarece este singurul loc de scriere permanent pe sistemul de fișiere al ruterului ("/ tmp" iar restul sunt citite).
Creați un nou dosar, apăsând F7 sau făcând clic dreapta pe un loc gol, plasați cursorul peste "Nou" și faceți clic pe "Director".
Denumiți noul director "dns". noi creăm acest director pentru a păstra lucrurile în directorul jffs organizate pentru utilizare ulterioară și pentru că schimbăm în mare măsură modul în care funcționează serviciul DNS.
Copiați fișierele "pixelserv" și "disable-adds.sh" din arhiva zip anti-ads-pack-for-dd-wrt, selectând-le (folosiți tasta "inserați" “.
Notă: dacă routerul dvs. este bazat pe Atheros (puteți verifica acest lucru pe wiki-ul DD-WRT), va trebui să utilizați pixelserv_AR71xx furnizat de Oki și inclus în pachet și să îl redenumiți la "pixelserv" înainte de a continua.
Odată ce fișierele se află pe router, trebuie să le facem executabile prin selectarea lor (din nou, folosiți "inserați"), faceți clic dreapta, apoi "proprietăți".
În fereastra de proprietăți faceți clic pe "X" pentru rândul "Proprietar". care va da permisiunile de executare a fișierelor.
Setările routerului
Acum că etapa este setată, putem spune routerului să ruleze scriptul de blocare a anunțurilor la pornire.
Pentru aceasta, în WebGUI accesați fila "Administrare" și apoi fila "Comenzi".
În caseta de text "Comenzi", scrieți locația scriptului ca "/jffs/dns/disable_adds.sh", ca în imagine, apoi faceți clic pe "Salvați pornirea".
Dacă reușiți, ar trebui să vedeți că scriptul a devenit parte din pornirea routerului ca în imaginea de mai sus.
Configurarea listei de domenii blocate personal (opțional)
Această listă vă permite să adăugați domenii în listele neaprobate, dacă descoperiți că cele două liste dinamice nu captează ceva.
Pentru a face acest lucru, există două opțiuni și ele lucrează împreună, astfel încât să puteți utiliza ambele în funcție de ceea ce este mai convenabil pentru dvs..
Notă: sintaxa este importantă, Deoarece, de fapt, suntem creați directive de configurare pe care daemonul DNSMasq (procesul care este responsabil pentru DNS-nume pentru traducerile IP) va fi utilizat direct. Ca atare, sintaxa incorectă aici va cauza ca serviciul să se prăbușească și să lase routerul să nu poată rezolva adresele IP pentru numele de domeniu (ați fost avertizați).
Pentru a găsi blocarea numelor de domenii care pot fi blocate, vă recomandăm să folosiți ghidul nostru "Găsiți mesajele secret în anteturile site-urilor web" ca un primer. Pașii pentru găsirea numelor domeniilor de publicitate sunt practic aceleași, numai că în acest caz căutați o adresă în loc de un mesaj.
Primul și cu siguranță o cale mai accesibilă este să punem lista în caseta de configurare "DNSMasq" din wegGUI. Acest lucru se datorează faptului că pentru a adăuga la această listă se poate accesa pur și simplu webGUI-ul în loc să trebuiască să mergeți "sub capotă" pentru a face schimbări.
Accesați fila "Servicii", găsiți secțiunea "DNSMasq" și găsiți caseta text "Additional DNSMasq Options".
În această casetă text, introduceți listele de domenii pe care doriți să le blocați cu sintaxa "address = / domain-name-to-block / pixel-server-ip" așa cum se arată în imaginea de mai jos:
În acest exemplu, "192.168.1.254" este IP-ul generat pentru serverul pixel pe baza "adresei de rețea" a rețelei dvs. LAN. Dacă adresa dvs. de rețea este altceva decât 192.168.1.x, va trebui să ajustați corespunzător adresa pentru serverul pixel.
Când ați terminat, faceți clic pe "Salvați" în partea de jos a paginii (nu se aplică încă).
Al doilea opțiunea este să compilați lista domeniilor pe care doriți să le blocați în fișierul "personal-ads-list.conf" pe care l-am asamblat eu și "Mithridates Vii Eupator". Acest fișier face parte din arhiva zip pe care ați descărcat-o mai devreme și este un început excelent pentru ambele metode.
Pentru a le folosi, dacă este necesar, utilizați editorul de text preferat pentru a ajusta IP-ul serverului pixel (aceleași constrângeri ca mai sus se aplică aici). Apoi, copiați-l în directorul "/ jffs / dns" pe măsură ce aveți celelalte fișiere. Odată ce este acolo, puteți folosi winSCP pentru ao edita și a adăuga domenii.
Configurarea listă albă
Aceasta este lista de domenii care vor fi omise din listele dinamice "gazde" și "domenii".
Acest lucru este necesar deoarece blocarea pur și simplu a câtorva domenii face ca site-urile care le utilizează să funcționeze defectuos. cel mai notabil exemplu este "google-analytics.com".
Dacă blocăm domeniul, nu se va schimba faptul că site-urile care o utilizează, dacă descărcați browserul dvs. un JavaScript care rulează pe evenimente cum ar fi părăsirea unei pagini. Acest lucru înseamnă că pentru un astfel de site browserul dvs. va încerca să "sune la domiciliu" prin contactarea domeniului Google, nu va înțelege răspunsul și va trebui să așteptați până când scriptul expiră pentru a continua la pagina următoare. Nu este deloc o experiență plăcută de navigare și de aceea orice domeniu care conține "google-analytics" și "googleadservices" este * scutit de la filtrare.
Această listă este creată pentru dvs. cu domeniile menționate anterior, când scriptul este rulat pentru prima dată, în directorul "/ jffs / dns".
Pentru a utiliza lista albă, deschideți fișierul cu winSCP și **perpend la lista domeniilor pe care doriți să le excludeți, cu grijă să nu lăsați niște linii goale (lăsând o linie necompletată va șterge toate domeniile din toate listele).
* În timp ce script-ul creează lista albă cu domeniile din cadrul acestuia pe prima rulare, NU insistă asupra prezentărilor lor pentru viitoare runde. astfel încât dacă simțiți că Google ar trebui blocat în ciuda problemelor menționate mai sus, puteți elimina domeniile din lista albă.
** Trebuie să introduceți noile domenii dorite la începutul listei. Acest lucru se datorează unui bug cu modul în care bash interpretează linii noi ... Îmi pare rău că nu am încă o lucrare pentru asta.
Execuţie
În acest moment, este timpul să invocați scenariul și să vedeți rezultatele prin reluarea ruterului.
Pentru a face acest lucru din webGUI, în fila "Administrare" du-te înapoi la "Management", în partea de jos a paginii faceți clic pe "Reboot router" și așteptați ca router-ul să vină înapoi.
S-ar putea să dureze câteva minute pentru ca scenariul să-și îndeplinească sarcinile pentru prima dată.
Pe tipurile de routere WRT54Gx, veți ști când scriptul a terminat de executat, deoarece va clipi LED-ul portocaliu Cisco din partea frontală a routerului (alți routere ar trebui să aibă un semn similar "spune coada").
Actualizare: această parte a fost eliminată după ce a fost descoperită ca fiind o caracteristică agnostică non-hardware.
Pe măsură ce încercăm să vedem absența elementelor de pe web, vă recomandăm pur și simplu să navigați pe câteva site-uri pentru a vedea impactul.
Cu toate acestea, dacă doriți să vă asigurați că procedura a avut succes, primul pas de depanare din secțiunea de depanare este un loc minunat pentru a începe.
* De fapt, a fost comentat, astfel încât să îl puteți restabili dacă sigur că nu va cauza probleme în configurația dvs..
se bucura!
Depanare
Dacă întâmpinați probleme, există câteva lucruri pe care le puteți face pentru a verifica ce sa întâmplat.
- Testați că domeniul de publicitate este rezolvat la pixelserv IP.
Puteți face acest lucru prin emiterea comenzii nslookup împotriva domeniului "ofensator". De exemplu, "ad-emea.dubleclick.com" face parte din gazdele blocate din lista personală. Prin emiterea "nslookup ad-emea.dubleclick.com" într-un prompt de comandă, rezultatul ar trebui să arate astfel:
Unde ar arăta un răspuns normal deblocat: - Reface.
Pentru a vă asigura că nicio configurare a routerului nu se confruntă cu configurația blocului de anunțuri, restabiliți ruterul la "Setări implicite din fabrică" și încercați din nou. După ce ați reușit să adăugați modificările personalizate, cu speranța că nu se vor ciocni din nou. - Asigurați-vă că clientul dvs. utilizează routerul ca DNS.
Mai ales atunci când utilizați o rețea VPN sau o rețea care este mai complexă decât routerul obișnuit în configurarea computerului, este posibil ca computerul dvs. client pur și simplu să nu folosească routerul ca DNS. Este foarte ușor să vedeți în comanda de mai sus ce server DNS utilizează clientul, dacă IP-ul nu este același cu cel al router-ului, ați găsit problema. - Ștergeți cache-ul DNS al mașinilor dvs. personale.
Acest lucru se datorează faptului că în caz contrar este posibil să vedeți în continuare anunțurile pe site-ul dvs. de testare, pur și simplu pentru că computerul dvs. știe deja cum să obțineți conținutul de anunțuri pe cont propriu, fără a consulta DNS pentru el. Pe ferestre, aceasta ar fi "ipconfig / flushdns". - Închideți browserul.
Uneori, browser-ul deține informațiile stocate în memoria cache, eliminând astfel cache-ul DNS, așa cum este arătat mai sus, nu vă ajută. - Când aveți dubii în repornire.
Uneori cache-urile pot persista, iar cel mai bun mod de a scapa de ele este de a restabili. Începeți cu routerul și, dacă problema persistă, calculatorul client. - Utilizați syslog.
Puteți activa daemonul syslog al ruterului și apoi uitați-vă la mesaje pentru a vedea dacă scriptul întâmpină probleme, examinând mesajele acestuia. De asemenea, scriptul adaugă unele pseudonime de comandă pentru a face depanarea mai ușoară.
Pentru aceasta, mergeți la fila "Servicii" și activați daemonul syslog ca în imaginea de mai jos:
Notă: "Serverul de la distanță" este utilizat atunci când aveți un server syslog de ascultare pe o altă mașină (cum ar fi kiwi) dacă nu aveți una, pur și simplu lăsați-o goală.
Odată ce ați activat, puteți vedea mesajele de depanare vizionând / var / logs / mesaje fișier într-un terminal.
* Pentru a vedea TOATE mesajele de la boot-up puteți folosi "more / var / log / messages".
* Pentru a vedea doar mesajele din script-ul din jurnal, folosiți aliasul "clog".
* Pentru a vedea mesajele în timp ce apar, utilizați în timp real "tail -f / var / log / messages" sau prin aliasul "tlog". - Înțelegeți scenariul.
Chiar dacă am realizat acest videoclip YouTube pentru o versiune mai veche a acestui ghid și a scenariului, acesta conține încă multe adevăruri și explicații care se aplică modului în care funcționează versiunea nouă și îmbunătățită.