È stato rilasciato il progetto Pi-hole 6, che sviluppa un sistema per il blocco centralizzato della pubblicità nella rete locale, consentendo di evitare l'installazione di blocchi negli browser e sui dispositivi finali degli utenti. Lo schema proposto è attuale per combattere la pubblicità sui dispositivi delle reti domestiche, ad esempio su smart TV e media center, nonché per bloccare la pubblicità nelle applicazioni mobile sui smartphone. Il blocco in Pi-hole avviene a livello DNS: il sistema applica una lista nera di domini utilizzati per la visualizzazione della pubblicità e a livello DNS reindirizza le richieste a questi domini all'indirizzo 0.0.0.0. I risultati del progetto sono distribuiti con licenza EUPL 1.2 (Licenza Pubblica dell'Unione Europea).
Per installare Pi-hole è sufficiente eseguire uno script di shell che automatizza il download e l'installazione dei componenti necessari. L'installazione è supportata su Debian, Ubuntu, Fedora, Raspberry Pi OS (Raspbian), Armbian e CentOS Stream per architetture x86_64, i386, ARM64, ARMv6, ARMv7 e RISC-V. Si presume che Pi-hole possa essere installato su schede come il Raspberry Pi (la potenza del Raspberry Pi Zero è sufficiente per il funzionamento). Inoltre, è disponibile un'immagine di container preconfigurata che contiene un ambiente operativo completo basato su Pi-hole.
Pi-hole esegue server DHCP e DNS basati su una versione modificata di dnsmasq. Il server DHCP viene utilizzato per trasmettere automaticamente le impostazioni del server DNS necessario per il blocco. La gestione del server DNS e la raccolta delle statistiche avvengono tramite un processo in background chiamato FTLDNS (pihole-FTL). La gestione di FTLDNS può essere effettuata tramite Web API, telnet o l'utility da linea di comando pihole. FTLDNS accumula statistiche sul numero di richieste DNS bloccate e inviate. domini, sul blocco dei domini delle reti pubblicitarie, sulle richieste DNS memorizzate nella cache e reindirizzate, e sul numero di client. Le statistiche vengono memorizzate utilizzando SQLite.
Sopra l'API fornito da FTLDNS, è stato implementato un'interfaccia web per il monitoraggio e la gestione dei blocchi, basata sul codice di AdminLTE. L'interfaccia web è ottimizzata per funzionare sia su computer con schermi grandi che su dispositivi mobili. È supportato l'accesso a log dettagliati, dati aggregati (ad esempio, i clienti e i domini più popolari), visualizzazioni chiare tramite grafici e diagrammi, la selezione della cronologia per un determinato periodo, la filtrazione dei log, la gestione di elenchi bianchi e neri separati, il blocco tramite espressioni regolari, e la gestione delle impostazioni DHCP e DNS.

Nel nuovo rilascio:
- È integrato nel processo in background pihole-FTL un server HTTP e implementato un'API REST. L'implementazione integrata del server HTTP si basa sulla libreria CivetWeb. In precedenza, per organizzare l'interfaccia web, veniva avviato il server HTTP lighttpd. I gestori del server dell'interfaccia web sono stati riscritti da PHP a Lua (CivetWeb fornisce supporto integrato per Lua, consentendo di eliminare PHP dalle dipendenze).
- Sono state ampliate le funzionalità di filtraggio dei domini ed è stata aggiunta la supporto per la connessione a elenchi bianchi esterni, che definiscono i domini a cui sarà consentito l'accesso indipendentemente dai blocchi.
- I file di configurazione disgiunti sono stati uniti in un unico file in formato toml (/etc/pihole/pihole.toml). Per modificare la configurazione, è possibile modificare direttamente il file toml, utilizzare il comando «pihole-FTL —config», sovrascrivere i parametri tramite variabili d'ambiente, interagire con l'API o cambiare le impostazioni tramite l'interfaccia web.
- L'aspetto dell'interfaccia web è stato completamente rinnovato, introducendo la separazione tra modalità normale e modalità esperta.
- È stato aggiunto il supporto per HTTPS con la possibilità di fornire sia un certificato TLS, sia la generazione automatica del certificato.
- L'immagine del contenitore per Docker è stata convertita per utilizzare Alpine Linux invece di Debian, consentendo di ridurre notevolmente la sua dimensione.
Fonte: opennet.ru
