Bloccare pubblicità e malware con AdGuard Home su Raspberry oggi lo renderemo possibile e, soprattutto, semplicissimo, con questa guida passo passo.

Introduzione
Come potete vedere qui, ho già scritto una guida su come bloccare la pubblicità con Raspberry e Pi-Hole.
Vi starete chiedendo, allora, perché un'altra guida? Cosa c'è di diverso?
Ho trovato un'alternativa migliore a Pi-Hole, ossia AdGuard Home e, anche questa volta, lo utilizzeremo direttamente da Raspberry e faremo in modo di proteggere tutta la rete di casa (o dell'ufficio).
FAQ
Quanto tempo mi occorrerà per finire tutto?
La guida è dettagliata, ma molto rapida. Occorreranno meno di 30 minuti per fare tutto.
Perché bloccare pubblicità e malware con AdGuard Home su Raspberry?
Perché è sicuro, renderà la vostra rete sicura e sarà veloce ed indolore!
Perché scegliere un AdBlocker? E perché proprio AdGuard Home?
Un AdBlocker fa sì che molta pubblicità presente sui siti venga bloccata e, inoltre, AdGuard Home vi proteggerà anche da siti contenenti malware. AdGuard Home è la soluzione migliore, perché consente di proteggere tutti i dispositivi in rete (uno, due o 100 che siano), in modo che non dobbiare installare un software aggiuntivo su ogni dispositivo.
Posso bloccare siti a mia scelta?
Assolutamente sì! Sarà sufficiente visitare la pagina presente in
⇨ Filtri ⇨ Regole filtri personalizzati
È sicuro AdGuard Home?
Certamente! Oltre ad essere un software sicuro, proteggerà anche tutti i vostri dispositivi.
Posso bloccare siti per adulti?
Certo! Più avanti, nella guida, spiego come.
Posso bloccare solo alcuni dispositivi, invece che tutti quelli in rete?
Sì! Questa è una funzione particolarmente utile, che vi consentirà di negare totalmente o parzialmente l'accesso a internet di un dispositivo; sarà sufficiente andare in...
⇨ Impostazioni ⇨ Impostazioni client e cliccando su "Aggiungi Client" potrete specificare tutto ciò che volete.
Il mio modem/router non ha la possibilità di impostare un DNS per tutti i dispositivi, come faccio?
Se il tuo modem/router non supporta questa funzionalità (verifica bene, facendo una ricerca su Google), allora sarai costretto ad impostare il DNS per ogni dispositivo. Se hai bisogno di aiuto, ci sono i commenti.
Software necessario
- Scarichiamo Raspberry Pi OS Lite dal sito ufficiale, cliccando qui
- Scarichiamo balenaEtcher (qui) per flashare la nostra microSD
- Scarichiamo PuTTY (qui), che ci occorrerà per collegarci in SSH al nostro Raspberry.
N.B.: PuTTY non è necessario se, come me, vi collegate da un Mac.
Preparazione
Istallazione Raspberry Pi OS Lite
Per prima cosa dobbiamo rendere funzionante il nostro Raspberry installando il sistema operativo più consono a ciò che dovremo farci.
Come sempre ho scelto Raspberry Pi OS Lite che - a differenza di Raspberry Pi OS with desktop non ha un ambiente grafico, ossia è una versione solo shell, ma sarà sufficiente per noi.
Iniziamo con il flashare Raspberry Pi OS Lite sulla nostra microSD




Inserite la MicroSD nel RaspBerry, collegatelo via HDMI e avviate, semplicemente collegandolo l'alimentazione.
Dopo meno di un minuto il vostro Raspberry sarà funzionante.
Avete l’installazione lite di Raspbian, quindi senza alcuna interfaccia grafica.
Ora eseguiamo le due operazioni fondamentali per proseguire con la guida:
- Configuriamo la Wireless (necessario solo se non avete collegato il Raspberry via Ethernet)
- Abilitiamo SSH, in modo da collegarci da remoto al nostro Raspberry
Eseguite il comando sudo raspi-config
⇨ System Options
⇨ Wireless LAN
Inserite il nome della vostra rete e, successivamente la vostra chiave/password
Torniamo al menu principale
⇨ Interface Options
⇨ SSH
⇨ Sì
⇨ Ok
Ora possiamo uscire e verifichiamo quale indirizzo IP abbia il nostro Raspberry, eseguendo il comando ifconfig
oppure collegandoci al nostro modem/router e verificandolo da lì.
Se avete la possibilità e, soprattutto, se sapete come fare, assegnate sempre lo stesso indirizzo IP al Raspberry; magari un IP alto (io ho assegnato il .250 finale)
Bene, abbiamo il nostro Raspberry accessibile da remoto, quindi possiamo collegarci dal nostro PC e proseguire, in modo da utilizzare il copia-incolla dei comandi presenti in questa guida.
Collegamento da remoto
Apriamo PuTTY e colleghiamoci dal nostro PC Windows oppure... da Mac apriamo un terminale e seguiamo le immagini

⇨ ssh pi@indirizzoIPdelRaspberry
Se non avete personalizzato la password, quella di default è raspberry

Ora aggiorniamo le sorgenti dei pacchetti

⇨ sudo apt update -y

Ora proseguiamo effettuando un upgrade totale del sistema operativo

⇨ sudo apt full-upgrade -y
Bloccare pubblicità e malware con AdGuard Home su Raspberry - Parte 2
Installazione AdGuard Home
Passiamo ora all'installazione di AdGuard Home
Scarichiamo il pacchetto di AdGuard Home per procedere con l'installazione

⇨ wget https://static.adguard.com/adguardhome/release/AdGuardHome_linux_armv6.tar.gz
Ora decomprimiamo l'archivio

⇨ tar xvf AdGuardHome_linux_armv6.tar.gz
Eliminiamo l'archivio, perché non ci occorrerà più

⇨ rm AdGuardHome_linux_armv6.tar.gz
Procediamo con l'installazione del pacchetto AdGuard Home

⇨ cd AdGuardHome

⇨ sudo ./AdGuardHome -s install
Configurazione
Colleghiamoci con il nostro Browser all'indirizzo IP del Raspberry, seguito dal numero di porta 3000, cioè qualcosa del genere: http://192.168.0.250:3000
La pagina web alla quale collegarsi, la trovate nelle info riassuntive, che si presentano dopo avert installato il pacchetto di AdGuard Home

Lasciate TUTTO configurato come da immagine a seguire...

Scegliete un nome utente e una password per l'amministrazi0ne di AdGuard Home

Ecco il riepilogo delle info riguardanti AdGuard Home


Impostazione di AdGuard Home come DNS
Ora abbiamo tutto perfettamente funzionante, ma per far sì che AdGuard blocchi la pubblicità, i malware e il pishing, dobbiamo impostarlo come DNS dei nostri apparati.
Se avete un modem/router che supporta la "propagazione" di un DNS diverso dal modem stesso, allora cercate la voce e impostate - come server DNS - l'indirizzo IP del Raspberry sul quale avete installato AdGuard.
In caso non foste sicuri che il vostro modem/router possa fare questo, effettuate una ricerca su Google per il modello del vostro modem/router
Es.: Su FRITZ!Box esiste la funzione seguente
N.B.: Ho cambiato IP al Raspberry con AdGuard, per questo l'immagine sobra riporta l'IP .253
Verifica funzionamento
Ora che tutto è installato e funzionante, ci basterà visitare questa pagina web per capire se il nostro sistema di blocco sta funzionando.

Ed ecco, qui sotto, il cruscotto delle informazioni, dopo 2-3 settimane di funzionamento
Impostazioni di base
Ora vediamo le impostazioni principali, così che non dobbiate ammattire... 😛
⇨ Impostazioni ⇨ Impostazioni generali
⇨ Impostazioni ⇨ Impostazioni DNS
In questo caso, l'unica cosa che è importante che impostiate è il Server DNS upstream, ossia la prima voce. Impostate...
tls://dns.google
Se preferite, invece, visitate la pagina dei providers DNS, con tutte le loro impostazioni.
Liste di blocco
Per farvi un favore, ho deciso di condividere le mie liste, in modo che non dobbiate diventare matti a cercare su internet.
Queste liste sono perfette, ma sono parecchio aggressive e bloccano molti siti!
Eccovi le liste (sono 14), dovete semplicemente incollarne una per riga, andando in...
⇨ Filtri ⇨ Lista Nera DNS
https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt
https://adaway.org/hosts.txt
https://filtri-dns.ga/filtri.txt
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
http://sysctl.org/cameleon/hosts
https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt
https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt
https://easylist.to/easylist/easylist.txt
https://easylist.to/easylist/easyprivacy.txt
https://easylist.to/easylist/fanboy-annoyance.txt
https://gitlab.com/quidsup/notrack-blocklists/raw/master/notrack-malware.txt
https://zerodot1.gitlab.io/CoinBlockerLists/list.txt
https://zerodot1.gitlab.io/CoinBlockerLists/list_browser.txt
https://raw.githubusercontent.com/r-a-y/mobile-hosts/master/AdguardMobileSpyware.txt
Le due seguenti, invece, le ho escluse, dopo lungo monitoraggio, perché troppo aggressive e bloccavano anche le immagini di siti Google, ad es. non caricavano le icone.
https://raw.githubusercontent.com/jerryn70/GoodbyeAds/master/Hosts/GoodbyeAds.txt
https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/spy.txt
Qualora non aveste voglia di copia-incollare tutte le liste una per una, ho creato una lista condivisa da importare, che comprende tutte le precedenti:
https://www.robertobonfa.it/scripts/adblocker/rb_adblock_list.txt
Altre funzioni
Sono presenti anche altre funzioni comodissime, come il blocco dei servizi o il blocco di site per adulti.
Volete configurarli? Semplicissimo, fate così:
Per il parental control dovete andare in...
⇨ Impostazioni ⇨ Impostazioni generali
e abilitare la voce evidenziata
Per il blocco servizi, invece (UTILISSIMO!)
⇨ Filtri ⇨ Servizi bloccati
Conclusioni
Siamo giunti alla fine di questa guida: Bloccare pubblicità, malware e phishing con AdGuard Home su Raspberry.
Probabilmente vi starete chiedendo perché io abbia cambiato e utilizzi ora AdGuard al posto di Pi-Hole, quindi... Vi rispondo con una semplice tabella delle differenze, qui sotto:
Feature | AdGuard Home | pi-hole | |
---|---|---|---|
• | Blocking ads and trackers | ✅ | ✅ |
• | Customizing blocklists | ✅ | ✅ |
• | Built-in DHCP server | ✅ | ✅ |
• | HTTPS for the Admin interface | ✅ | Kind of, but you'll need to manually configure lighthttpd |
• | Encrypted DNS upstream servers (DNS-over-HTTPS, DNS-over-TLS, DNSCrypt) | ✅ | ❌ (requires additional software) |
• | Cross-platform | ✅ | ❌ (not natively, only via Docker) |
• | Running as a DNS-over-HTTPS or DNS-over-TLS server | ✅ | ❌ (requires additional software) |
• | Blocking phishing and malware domains | ✅ | ❌ (requires non-default blocklists) |
• | Parental control (blocking adult domains) | ✅ | ❌ |
• | Force Safe search on search engines | ✅ | ❌ |
• | Per-client (device) configuration | ✅ | ✅ |
• | Access settings (choose who can use AGH DNS) | ✅ | ❌ |
• | Running without root privileges | ✅ | ❌ |