If-Koubou

Cum să eliminați reclamele cu Pixelserv pe DD-WRT

Cum să eliminați reclamele cu Pixelserv pe DD-WRT (Cum să)

Există numeroase moduri 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 deliberat "otrăvire DNS" pentru a bloca anunțurile pentru fiecare dispozitiv din rețea.

Prezentare generală

Actualizați: Ghid actualizat pentru a reflecta feedback-ul furnizat de comentatori și a actualizat pachetul anti-anunțuri cu noul executabil al serverului pixel și un schimbător de date.

Prima intrebare despre mintea tuturor acum este "de ce sa nu folositi doar blocul de reclame?"

Pentru o mulțime de oameni, pur și simplu nu este un motiv, mai ales cu noua abilitate a cromului de a replica extensiile pe care le folosiți la fiecare computer pe care rulați Chrome.

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 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 am încurajat pe toată lumea să o facă, pentru a-și menține 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 care sunt responsabile exclusiv pentru difuzarea conținutului publicitar, astfel că 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ă ca 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 vastă de site-uri de reclamă. Prin folosirea acestor liste, rămânem în responsabilitatea de a adăuga delta site-urilor care nu se află deja în unul dintre ele, în lista noastră personală.

De asemenea, vom configura 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ă, 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 atribuite pentru programul pixel-server.
  • Disponibilitatea de a instala winSCP.

* Scriptul nu va putea să ajusteze listele bloc după primul ciclu 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ă lucrul său toate acestea nu ar fi posibil, "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 aceasta, putem folosi programul winSCP pentru navigarea vizuală a structurii de directoare a routerului (așa cum vom vedea mai târziu).

Pentru aceasta, folosind 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ă arate ca mai jos și puteți să faceți clic pe "Salvați" (nu face aplicați încă).

Activați JFFS

Pentru a face această configurație î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ă nu puteți cânta din cauza limitărilor de spațiu, dar acestea nu sunt acoperite aici.

* alte metode au ruterul dvs. să descarce fișierele 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 jurnalizare Flash File (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 precum Ipkg și date în memorie flash inaccesibilă. Acest lucru 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 puteți găsi 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". Odată 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.

Atunci când webGUI-ul revine din repornire în fila "Administrare", așteptați o jumătate de minut suplimentară și actualizaț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 I.

Este timpul să obțineți fișierele în suportul JFFS de pe router. pentru a face acest lucru, instalați winSCP (este un "next -> next -> finish" tip de configurare) ș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 chei private: lăsați necompletat (acest lucru este necesar numai atunci când creați o autentificare bazată pe perechea de chei pe care nu o avem)

Protocolul de fișiere: SCP

De asemenea, trebuie să dezactivați grupul de utilizatori "Lookup" așa cum se arată mai jos (datorită faptului că WinSCP așteaptă un Linux complet pe care dezvoltatorii DD-WRT, în ciuda muncii excelente, nu au putut oferi (mai ales pentru că pur și simplu nu există suficient spațiu). Dacă lăsați acest lucru bifat, veți întâlni mesaje înfricoșătoare atunci când vă conectați și salvați fișierele editate.

Selectați Advance, apoi debifați "Grupuri de utilizatori de căutare".

Î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 dejucă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. Faceț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 acest banner din nou" ș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 acesta este singurul loc de scriere permanent în sistemul de fișiere al ruterului ("/ tmp" iar restul sunt citite numai).

Creați un dosar nou, apăsând F7 sau făcând clic dreapta pe un loc gol, plasați cursorul pe "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ă ruterul 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 sunt pe router, trebuie să le facem executabile prin selectarea acestora (din nou, utilizați "inserați"), faceți clic dreapta pe "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 surprind 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 suntem de fapt crearea de directive de configurare pe care DNSMasq daemon (procesul care este responsabil pentru DNS-nume la traduceri IP) va folosi direct. Ca atare, sintaxa incorectă aici va cauza ca serviciul să se prăbușească și să lase ruterul să nu poată rezolva adresele IP pentru numele de domeniu (ați fost avertizat).

Pentru a găsi blocarea numelor de domenii care ar putea fi blocate, este posibil să doriți 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, doar că în acest caz căutați o adresă în loc de un mesaj.

Primul și, desigur, 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 în loc de a trebui să meargă "sub capota" 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 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 pe "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-l utiliza, 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.

Configurați lista 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 său, nu se va schimba faptul că site-urile care o utilizează, trebuie să descarce browser-ul dvs. un JavaScript care rulează la evenimente cum ar fi părăsirea unei pagini. Aceasta î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 scenariul creează lista albă cu domeniile din cadrul acestuia pe prima rulare, NU insistă asupra prezentării lor pentru viitoare runde. astfel încât dacă simțiți că Google ar trebui să fie 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

Acesta este, este timpul să invocați scenariul și să vedeți rezultatele prin simpla reluare a ruterului.

Pentru a face acest lucru din webGUI, în fila "Administrare" mergeți înapoi la "Management", în partea de jos a paginii faceți clic pe "Reboot router" și așteptați ca router-ul să revină.

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 semnal 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 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 excelent 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.

Bucurați-vă!

Depanare

Dacă întâmpinați probleme, există câteva lucruri pe care le puteți face pentru a verifica ce sa întâmplat.

  1. Testați că domeniul de publicitate este rezolvat la IP-ul pixelserv.
    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:

  2. Reface.
    Pentru a vă asigura că nicio configurare a router-ului dvs. nu se confruntă cu configurația blocului de anunțuri, restabiliți routerul la "Factory Defaults" și încercați din nou. Odată ce ați reușit să adăugați modificările personalizate, în speranța că acestea nu se ciocnesc din nou.
  3. Asigurați-vă că clientul dvs. utilizează router-ul 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 să nu folosească ruterul 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.
  4. Ștergeți cache-ul DNS al mașinilor dvs. personale.
    Acest lucru se datorează faptului că altfel este posibil să vedeți în continuare anunțurile pe site-ul dvs. de testare, pur și simplu pentru că computerul dvs. deja știe cum să obțineți conținutul de publicitate pe cont propriu, fără consultarea DNS pentru ea. Pe ferestre, aceasta ar fi "ipconfig / flushdns".
  5. Închideți browserul.
    Uneori, browser-ul deține informațiile stocate în memoria cache, așadar ștergerea cache-ului DNS, după cum se arată mai sus, nu ajută.
  6. Când sunteți îndoieli reporniți.
    Uneori cache-urile pot persista și cel mai bun mod de a scăpa de ele este să reporniți. Începeți cu routerul și dacă problema persistă, computerul client.
  7. 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ă niște 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 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ă.

    După ce ați activat, puteți vedea mesajele de depanare examinâ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 scriptul din jurnal, folosiți pseudonimul "clog".
    * Pentru a vedea mesajele în timp ce apar, utilizați în timp real "tail -f / var / log / messages" sau prin alias "tlog".
  8. Înțelegeți scenariul.
    Chiar dacă am realizat acest videoclip YouTube pentru o versiune mai veche a acestui ghid și a scriptului, acesta conține încă multe adevăruri și explicații care se aplică modului în care funcționează versiunea nouă și îmbunătățită.
Descărcați pachetul anti-anunțuri.

Fie ca zeii ruterului să fie în favoarea ta