Come rimuovere pubblicità con Pixelserv su DD-WRT

Sommario:

Come rimuovere pubblicità con Pixelserv su DD-WRT
Come rimuovere pubblicità con Pixelserv su DD-WRT

Video: Come rimuovere pubblicità con Pixelserv su DD-WRT

Video: Come rimuovere pubblicità con Pixelserv su DD-WRT
Video: Verificare e correggere gli errori degli hard disk in Windows 10 - YouTube 2024, Maggio
Anonim
Esistono numerosi modi per bloccare la pubblicità nel tuo browser, ma cosa succede se potresti bloccarli sul router? Ecco come utilizzare il firmware DD-WRT e "Avvelenamento DNS" per bloccare gli annunci per ogni dispositivo sulla rete.
Esistono numerosi modi per bloccare la pubblicità nel tuo browser, ma cosa succede se potresti bloccarli sul router? Ecco come utilizzare il firmware DD-WRT e "Avvelenamento DNS" per bloccare gli annunci per ogni dispositivo sulla rete.

Panoramica

Aggiornare: Guida aggiornata per riflettere il feedback fornito dai commentatori e aggiornato il pacchetto anti-annunci con il più recente eseguibile pixel-server e un log delle modifiche.

La prima domanda sulla mente di tutti in questo momento è "perché non usare semplicemente il blocco degli annunci?"

Per molte persone semplicemente non c'è una ragione, specialmente con la nuova capacità di chrome di replicare le estensioni che usi su tutti i computer su cui stai lavorando.

La risposta sta da qualche parte tra il ridotto sovraccarico di non dover insegnare a tutti gli utenti della tua rete sul blocco degli annunci (sto parlando con te mamma, sorella, nonna e segretaria dell'ufficio) e la comodità di non essere disturbato con esso ogni computer che hai impostato. Ciò presuppone che ci saranno alcuni computer sulla tua rete che non hai intenzione di configurare il tuo ambiente personale (ad esempio "core server" o VM).

Nota: Anche se io uso il metodo qui sotto sul mio router di casa, ho trovato ad-block per essere un'aggiunta eccellente ad esso, e mi raccomando di utilizzare entrambi i metodi in congiunzione. anche se non hai un router DD-WRT utilizzando il blocco degli annunci è più che sufficiente. In effetti, mi piace così tanto il programma, ho donato al suo sviluppatore e incoraggio tutti a farlo, per mantenere il suo sviluppo in corso.

Come funziona?

Essenzialmente questo funziona avvelenando deliberatamente il nostro DNS per restituire un IP specifico per i domini in un elenco non approvato. Questo elenco non approvato conterrà i nomi di dominio dei siti che sono responsabili esclusivamente della pubblicazione di contenuti pubblicitari, quindi non ci mancheranno molto.

Configureremo un server HTTP secondario sul router per fornire un'immagine trasparente a un pixel, come risposta per qualsiasi richiesta di URL. Insieme alla risoluzione "errata" del DNS, ciò farà sì che i client di rete richiedano il contenuto dal nostro server pixel interno e ottengano un'immagine vuota in risposta.

Per generare l'elenco non approvato, creeremo un elenco personale insieme a due elenchi scaricati in modo dinamico. gli elenchi dinamici sono il file host MVPS e l'elenco dei domini Yoyo, insieme contengono una lista molto ampia di siti pubblicitari. Sfruttando questi elenchi, abbiamo la responsabilità di aggiungere solo il delta di siti che non sono già in uno di essi, nella nostra lista personale.

Imposteremo anche una "lista bianca" per domini che non vogliamo essere bloccati per nessuna ragione.

Prerequisiti e ipotesi

  • Pazienza giovane, questa è una lunga lettura.
  • Questa procedura è stata creata e testata su DD-WRT (v24pre-sp2 10/12/10 mini r15437), come tale dovresti già avere questa versione o successiva installata sul tuo router per usarla. Ulteriori informazioni sono finite sul sito DD-WRT.
  • Per ragioni di chiarezza, si presume che il router sia stato ripristinato alle sue "impostazioni di fabbrica" o che le impostazioni utilizzate non siano state modificate dai loro preset "out of the box" da allora.
  • Il computer client utilizza il router come server DNS (questo è l'impostazione predefinita).
  • Spazio per JFFS (in caso di dubbio, consiglio di usare il mini versione di DD-WRT).
  • Si presume che la rete sia * già impostata e che sia una classe C (una che ha una sottorete di 255.255.255.0) come ultimo IP su tale rete di classe C (x.y.z. 254verrà assegnato per il programma pixel-server.
  • La volontà di installare winSCP.

* Lo script non sarà in grado di regolare gli elenchi dei blocchi dopo la prima esecuzione fino al successivo ciclo di aggiornamento (3 giorni).

Titoli di coda

Aggiornare: Un ringraziamento speciale a "mstombs" per il grande pezzo di codice C senza il suo lavoro tutto questo non sarebbe possibile, "Oki" per compilare la versione compatibile Atheros e citare;-) e "Nate" per aiutare con il QA-ing.

Mentre c'era molto lavoro per perfezionare questa procedura da parte mia, l'ispirazione per questo è stata accesa dai ragazzi sul forum DD-WRT e alcune delle basi di questa guida sono state trovate in "blocco degli annunci con DD- WRT ha rivisitato (semplice) "," pixelserv senza Perl, senza jffs / cifs / usb free "e" Flexion.Org Wiki su DNSmasq "così come altri.

Lasciamo scoppiare

Abilita SSH per l'accesso SCP

Abilitando SSH, a nostra volta ci diamo la possibilità di connetterci al router usando il protocollo SCP. con quello abilitato, possiamo quindi utilizzare il programma winSCP per esplorare visivamente la struttura delle cartelle del router (come vedremo in seguito).

Per fare ciò, usando la webGUI, vai alla scheda "Servizi". Trova la sezione "Secure shell" e fai clic sul pulsante di opzione "Enable" per l'impostazione SSHd.

Image
Image

Una volta fatto, la webGUI dovrebbe apparire come sotto e puoi cliccare su "Salva" (non si applicano ancora).

Image
Image

Abilita JFFS

Al fine di rendere questa installazione in un modo che sarebbe stabile, riproducibile e * essere un "buon cittadino di internet", useremo JFFS per memorizzare il maggior numero possibile di configurazioni.Ci sono altri modi per farlo senza abilitare JFFS, se non puoi a causa di limiti di spazio, ma non sono coperti qui.

* Altri metodi hanno il tuo router scaricare l'eseguibile pixel-server e gli elenchi dinamici ogni volta che viene eseguito lo script. poiché questo mette a dura prova i server che tengono le liste e gli eseguibili e questo costa denaro a qualcuno, questo metodo cerca di evitarlo se possibile.

Se non sai già cosa sia JFFS, questa spiegazione, presa dalla voce wiki di DD-WRT su JFFS, dovrebbe chiarire le cose:

The Journaling Flash File System (JFFS) allows you to have a writable Linux File System on a DD-WRT enabled router. It is used to store user programs like Ipkg and data into otherwise inaccessible flash memory. This allows you to save custom configuration files, host custom Web pages stored on the router and many other things not capable without JFFS.

Per abilitare JFFS sul tuo router, vai alla scheda "Amministrazione" e trova la sezione JFFS. l'immagine qui sotto mostra dove troverai questa sezione nella scheda "Amministrazione".

Nella sezione Supporto JFFS2, fare clic sui pulsanti di opzione "Abilita" per "JFFS2" e (quando appare) sulle impostazioni "Pulisci JFFS2". Una volta selezionato, fare clic su "Salva".
Nella sezione Supporto JFFS2, fare clic sui pulsanti di opzione "Abilita" per "JFFS2" e (quando appare) sulle impostazioni "Pulisci JFFS2". Una volta selezionato, fare clic su "Salva".
Quando le impostazioni sono state salvate, ancora nella scheda "Amministrazione", riavviare il router utilizzando il pulsante "Riavvia router". Ciò applicherà le impostazioni ed eseguirà il "formato" necessario della "partizione" JFFS.
Quando le impostazioni sono state salvate, ancora nella scheda "Amministrazione", riavviare il router utilizzando il pulsante "Riavvia router". Ciò applicherà le impostazioni ed eseguirà il "formato" necessario della "partizione" JFFS.
Quando il webGUI ritorna dal riavvio alla scheda "Amministrazione", attendi un altro mezzo minuto e aggiorna la pagina.
Quando il webGUI ritorna dal riavvio alla scheda "Amministrazione", attendi un altro mezzo minuto e aggiorna la pagina.
In caso di successo, dovresti vedere che la montatura JFFS ha dello spazio libero come nell'immagine.
In caso di successo, dovresti vedere che la montatura JFFS ha dello spazio libero come nell'immagine.

Configurazione del server Pixel

Scarica ed estrai il pacchetto anti-ads per l'archivio zip dd-wrt che contiene l'eseguibile pixel-server (non ci stiamo prendendo credito, evitando solo "hot linking"), lo script di blocco degli annunci (scritto da te stesso) e il personale- domain-list creato da "Mitridate Vii Eupator" e I.

È tempo di inserire i file nel supporto JFFS sul router. per fare questo, installa winSCP (è un "next -> next -> finish" tipo di un setup) e aprilo.

Nella finestra principale, inserisci le informazioni in questo modo:

Nome host: IP del router (l'impostazione predefinita è 192.168.1.1)

Numero di porta: lasciare invariato alle 22

Nome utente: radice (anche se hai cambiato il nome utente per la webGUI, l'utente SSH sarà sempre * root * )

File di chiavi private: lascia vuoto (questo è necessario solo quando crei un'autenticazione basata su una coppia di chiavi che non abbiamo)

Protocollo di file: SCP

Abbiamo anche bisogno di disabilitare "Lookup user group" come mostrato di seguito (grazie a mstombs per indicarlo) perché winSCP si aspetta un completo Linux dall'altra parte, che gli sviluppatori di DD-WRT, nonostante tutto il loro eccellente lavoro, non erano in grado di fornire (principalmente perché semplicemente non c'è abbastanza spazio). Se lo lasci selezionato, incontrerai messaggi spaventosi quando colleghi e salvi i file modificati.
Abbiamo anche bisogno di disabilitare "Lookup user group" come mostrato di seguito (grazie a mstombs per indicarlo) perché winSCP si aspetta un completo Linux dall'altra parte, che gli sviluppatori di DD-WRT, nonostante tutto il loro eccellente lavoro, non erano in grado di fornire (principalmente perché semplicemente non c'è abbastanza spazio). Se lo lasci selezionato, incontrerai messaggi spaventosi quando colleghi e salvi i file modificati.

Seleziona Avanzamento, quindi deseleziona "Cerca gruppi utenti".

Mentre è facoltativo, puoi scegliere di salvare le impostazioni ora per un uso successivo. Se si sceglie di salvare le impostazioni raccomandate, si raccomanda anche (nonostante le grida dirette del manicomio "paranoico della sicurezza" che stiamo dissacrando l'esistenza stessa di SSH) che si salva la password.
Mentre è facoltativo, puoi scegliere di salvare le impostazioni ora per un uso successivo. Se si sceglie di salvare le impostazioni raccomandate, si raccomanda anche (nonostante le grida dirette del manicomio "paranoico della sicurezza" che stiamo dissacrando l'esistenza stessa di SSH) che si salva la password.
Quindi la tua finestra principale apparirà nell'immagine e tutto quello che dovrai fare per connetterti al router è fare doppio clic sulla voce.
Quindi la tua finestra principale apparirà nell'immagine e tutto quello che dovrai fare per connetterti al router è fare doppio clic sulla voce.
Poiché questa è la prima volta che ti connetti al router, winSCP ti chiederà se sei disposto a fidarti dell'impronta digitale dell'altro lato. Fai clic su "Sì" per continuare.
Poiché questa è la prima volta che ti connetti al router, winSCP ti chiederà se sei disposto a fidarti dell'impronta digitale dell'altro lato. Fai clic su "Sì" per continuare.
Image
Image

Gli sviluppatori di DD-WRT hanno implementato un messaggio di benvenuto Banner con alcune informazioni sul firmware che hai installato. una volta rosso, fai clic sulla casella di controllo "Non mostrare più questo banner" e "Continua".

Una volta connesso, naviga verso la cartella di primo livello (radice di AKA "/") e poi torna indietro a "/ jffs" poiché questo è l'unico posto permanentemente scrivibile sul filesystem del router ("/ tmp" non sopravvive ai riavvii e il resto è di sola lettura).
Una volta connesso, naviga verso la cartella di primo livello (radice di AKA "/") e poi torna indietro a "/ jffs" poiché questo è l'unico posto permanentemente scrivibile sul filesystem del router ("/ tmp" non sopravvive ai riavvii e il resto è di sola lettura).
Crea una nuova cartella, premendo F7 o facendo clic con il pulsante destro del mouse su un punto vuoto, passa con il mouse su "Nuovo" e fai clic su "Directory".
Crea una nuova cartella, premendo F7 o facendo clic con il pulsante destro del mouse su un punto vuoto, passa con il mouse su "Nuovo" e fai clic su "Directory".
Assegna un nome alla nuova directory "dns". creiamo questa directory per mantenere le cose nella directory jffs organizzate per un uso futuro e perché stiamo principalmente cambiando il funzionamento del servizio DNS.
Assegna un nome alla nuova directory "dns". creiamo questa directory per mantenere le cose nella directory jffs organizzate per un uso futuro e perché stiamo principalmente cambiando il funzionamento del servizio DNS.

Copia i file "pixelserv" e "disable-adds.sh" dall'archivio zip anti-ads-pack-for-dd-wrt, selezionandoli (usa il tasto "insert"), premendo "F5" e poi "Copia"”.

Nota: se il tuo router è basato su Atheros (puoi verificarlo sul wiki DD-WRT) dovrai utilizzare gli pixelserv AR71xx forniti da Oki e inclusi nel pacchetto e rinominarlo in "pixelserv" prima di continuare.
Nota: se il tuo router è basato su Atheros (puoi verificarlo sul wiki DD-WRT) dovrai utilizzare gli pixelserv AR71xx forniti da Oki e inclusi nel pacchetto e rinominarlo in "pixelserv" prima di continuare.

Una volta che i file si trovano sul router, è necessario renderli eseguibili selezionandoli (utilizzare nuovamente "insert"), quindi fare clic con il pulsante destro del mouse su "properties".

Nella finestra delle proprietà fai clic sulla "X" per la riga "Proprietario". che darà i permessi di esecuzione dei file.
Nella finestra delle proprietà fai clic sulla "X" per la riga "Proprietario". che darà i permessi di esecuzione dei file.

Impostazioni del router

Ora che lo stage è impostato, possiamo dire al router di eseguire lo script di blocco degli annunci all'avvio. Per fare ciò, nella webGUI andare sulla scheda "Amministrazione" e quindi sulla scheda "Comandi".

Nella casella di testo "Comandi" scrivi la posizione dello script come "/jffs/dns/disable adds.sh", come nell'immagine e poi fai clic su "Salva avvio".
Nella casella di testo "Comandi" scrivi la posizione dello script come "/jffs/dns/disable adds.sh", come nell'immagine e poi fai clic su "Salva avvio".
In caso di successo, dovresti vedere che lo script è diventato parte dell'avvio del router come nella foto sopra.
In caso di successo, dovresti vedere che lo script è diventato parte dell'avvio del router come nella foto sopra.

Impostazione dell'elenco dei domini personali bloccati (facoltativo)

Questo elenco ti consente di aggiungere domini agli elenchi non approvati, se trovi che i due elenchi dinamici non catturano qualcosa. Per fare ciò, ci sono due opzioni, che funzionano in congiunzione in modo da poter utilizzare entrambe in base a ciò che è più conveniente per te.

Nota: Il la sintassi è importantePoiché stiamo effettivamente creando direttive di configurazione, il demone DNSMasq (il processo che è responsabile del nome DNS nelle traduzioni IP) verrà utilizzato direttamente. Pertanto, una sintassi errata causerà il crash del servizio e il router non sarà in grado di risolvere gli indirizzi IP per i nomi di dominio (è stato ammonito).

Per trovare i nomi di domini offensivi da bloccare, potresti utilizzare la nostra guida "Trova i messaggi segreti nelle intestazioni dei siti Web" come guida. I passaggi per trovare i nomi dei domini pubblicitari sono praticamente gli stessi, solo che in questo caso stai cercando un indirizzo invece di un messaggio.

Il primo e, ammettiamolo, il modo più accessibile è di mettere la lista nella casella di configurazione "DNSMasq" nel wegGUI. Questo perché per aggiungere a questa lista si può semplicemente accedere alla webGUI invece di dover andare "sotto il cofano" per apportare modifiche.

Vai alla scheda "Servizi", trova la sezione "DNSMasq" e trova la casella di testo "Opzioni DNSMasq aggiuntive".

In questa casella di testo inserisci gli elenchi dei domini che vuoi bloccare con la sintassi "address = / domain-name-to-block / pixel-server-ip" come mostrato nella figura seguente:

Dove in questo esempio il "192.168.1.254" è l'IP generato per il server pixel in base all '"indirizzo di rete" della tua LAN. Se il tuo indirizzo di rete è qualcosa di diverso da 192.168.1.x dovrai modificare di conseguenza l'indirizzo per il pixel-server.
Dove in questo esempio il "192.168.1.254" è l'IP generato per il server pixel in base all '"indirizzo di rete" della tua LAN. Se il tuo indirizzo di rete è qualcosa di diverso da 192.168.1.x dovrai modificare di conseguenza l'indirizzo per il pixel-server.

Al termine, fare clic su "Salva" nella parte inferiore della pagina (non si applicano ancora).

Il secondo l'opzione consiste nel comporre l'elenco dei domini che si desidera bloccare, nel file "personal-ads-list.conf" che io stesso e "Mitridate Vii Eupator" abbiamo assemblato. Questo file fa parte dell'archivio zip scaricato in precedenza ed è un ottimo inizio per entrambi i metodi.

Per poterlo utilizzare, se necessario, utilizzare l'editor di testo preferito per regolare l'IP del server pixel (qui si applicano gli stessi vincoli di cui sopra). Quindi copialo semplicemente nella directory "/ jffs / dns" dato che hai gli altri file. Una volta lì, puoi usare winSCP per modificarlo e aggiungere domini.

Impostazione della whitelist

Questa è la lista dei domini che saranno omessi dagli elenchi "host" e "domini" dinamici.

Ciò è necessario perché il semplice blocco di alcuni domini causa il malfunzionamento dei siti che li utilizzano. l'esempio più degno di nota è "google-analytics.com".

Se blocchiamo il suo dominio, non cambierà il fatto che i siti che lo usano, hanno il tuo browser scaricare un JavaScript che gira su eventi come uscire da una pagina. Ciò significa che per un sito di questo tipo il tuo browser proverà a "chiamare casa" contattando il dominio google, non capirà la risposta e dovrai attendere lo scadere dello script per passare alla pagina successiva. Non è certo una piacevole esperienza di navigazione ed è per questo che qualsiasi dominio contenente "google-analytics" e "googleadservices" è * esente da filtri.

Questo elenco viene creato per te con i domini di cui sopra, quando lo script viene eseguito per la prima volta, nella directory "/ jffs / dns".

Image
Image

Per utilizzare la lista bianca, apri il file con winSCP e ** perpend alla lista i domini che vuoi escludere, facendo attenzione a non lasciare righe vuote (lasciando una riga vuota cancellerai tutti i domini da tutti gli elenchi).

Image
Image

* Mentre lo script crea la whitelist con i domini al suo interno alla prima esecuzione, NON insiste sui loro regali per le esecuzioni future. quindi, se ritieni che google debba essere bloccato nonostante i problemi summenzionati, puoi rimuovere i domini dalla whitelist.

** Devi inserire i nuovi domini desiderati all'inizio della lista. Questo a causa di un bug con il modo in cui bash interpreta le nuove linee … mi spiace di non avere ancora un problema.

Esecuzione

Questo è, è finalmente il momento di invocare lo script e vedere i risultati semplicemente riavviando il router.

Per fare ciò dalla webGUI, sotto la scheda "Amministrazione" tornare a "Gestione", in fondo alla pagina cliccare su "Riavvia router" e attendere che il router ritorni.

Potrebbero essere necessari un paio di minuti prima che la sceneggiatura esegua i suoi compiti per la prima volta.

Sul tipo di router WRT54Gx, si saprà quando lo script ha terminato l'esecuzione perché lampeggerà il LED arancione Cisco sulla parte anteriore del router (altri router dovrebbero avere un segno simile "tell tail").

Aggiornamento: questa parte è stata * rimossa dopo che è stata rilevata una funzionalità non hardware agnostica.

Mentre stiamo cercando di vedere l'assenza di elementi sul web, ti consiglio semplicemente di navigare in un paio di siti per vedere l'effetto.

Tuttavia, se si vuole assicurarsi che la procedura abbia avuto successo, il primo passo di debug nella sezione di risoluzione dei problemi è un ottimo punto di partenza.

* In realtà è commentato in modo da poterlo ripristinare se è sicuro che non causerà problemi nella configurazione.

Godere!

Image
Image

Risoluzione dei problemi

Se incontri dei problemi ci sono un paio di cose che puoi fare per controllare cosa è andato storto.

  1. Verifica che il dominio pubblicitario sia stato risolto sull'IP pixelserv. Puoi farlo inviando il comando nslookup al dominio "offendente". Ad esempio, "ad-emea.dubleclick.com" fa parte degli host bloccati dall'elenco personale. Con l'emissione di "nslookup ad-emea.dubleclick.com" in un prompt dei comandi, il risultato dovrebbe essere simile a:

    Image
    Image

    Dove dovrebbe apparire una normale risposta non bloccata:

    Image
    Image
  2. Fare oltre. Per assicurarsi che nulla con la configurazione del router sia in contrasto con la configurazione del blocco annunci, ripristinare il router su "Impostazioni predefinite" e riprovare. Una volta che hai avuto successo, aggiungi le modifiche personalizzate nella speranza che non si scontrino di nuovo.
  3. Assicurati che il tuo client stia utilizzando il router come DNS. Soprattutto quando si utilizza una rete VPN o una rete che è più complessa della normale configurazione da router a computer, è possibile che il proprio computer client stia semplicemente utilizzando il router come DNS. È molto facile vedere nel comando sopra quale è il server DNS che sta usando il client, se l'IP non è lo stesso del router, hai trovato il problema.
  4. Cancella la cache DNS delle macchine personali. Questo perché altrimenti potresti vedere gli annunci sul sito con cui stai testando, semplicemente perché il tuo computer sa già come ottenere i contenuti pubblicitari da solo senza consultare il DNS. Su Windows questo sarebbe "ipconfig / flushdns".
  5. Chiudi il browser. A volte il browser conserva le informazioni nella cache, quindi la cancellazione della cache DNS come mostrato sopra non aiuta.
  6. In caso di dubbio riavviare. A volte le cache possono persistere e il modo migliore per eliminarle è riavviare. Inizia con il router e se il problema persiste, il computer client.
  7. Usa syslog. È possibile attivare il daemon syslog del router e quindi esaminare i messaggi per vedere se lo script rileva problemi, esaminando i suoi messaggi. Inoltre lo script aggiunge alcuni alias di comando per facilitare il debugging. Per fare questo vai alla scheda "Servizi" e abilita il demone syslog come nella seguente immagine:

    Image
    Image

    Nota: il "Remote Server" viene utilizzato quando si ha un server syslog in ascolto su un'altra macchina (come con Kiwi) se non ne hai uno, lascia semplicemente in bianco. Una volta abilitato, puoi vedere i messaggi di debug guardando il / var / log / messages file in un terminale. * Per vedere TUTTI i messaggi dal boot-up puoi usare "more / var / log / messages". * Per vedere solo i messaggi dallo script nel log usa l'alias "clog". * Per vedere i messaggi mentre arrivano, in tempo reale, usa "tail -f / var / log / messages" o il suo alias "tlog".

  8. Capire lo script. Anche se ho realizzato questo video di YouTube per una versione precedente di questa guida e dello script, contiene ancora molte verità e spiegazioni applicabili a come funziona la versione nuova e migliorata.

Scarica il pacchetto anti-annunci.

Possano gli dei del router essere a tuo favore

Consigliato: