È stata presentata la release del progetto Pi-hole 6, che sviluppa un sistema per il blocco centralizzato della pubblicità in rete locale, consentendo di evitare l'installazione di blocchi sui browser e sui dispositivi finali dell'utente. Lo schema proposto è attuale per combattere la pubblicità sui dispositivi delle reti domestiche, ad esempio, su smart TV e media center, oltre a bloccare la pubblicità nelle applicazioni mobili sui telefoni smart. Il blocco in Pi-hole viene realizzato a livello DNS: il sistema applica una lista nera di domini utilizzati per visualizzare pubblicità e reindirizza a livello DNS le richieste verso questi domini all'indirizzo 0.0.0.0. Le operazioni del progetto sono distribuite sotto licenza EUPL 1.2 (European Union Public License).
Per installare Pi-hole è sufficiente avviare uno script shell che automatizza il caricamento e l'installazione dei componenti necessari. L'installazione è supportata su Debian, Ubuntu, Fedora, Raspberry Pi OS (Raspbian), Armbian e CentOS Stream per le architetture x86_64, i386, ARM64, ARMv6, ARMv7 e RISC-V. Si presume che Pi-hole possa essere installato su schede come Raspberry Pi (la性能 minimale richiesta è quella del Raspberry Pi Zero). Inoltre, è disponibile un'immagine del contenitore preconfigurato, contenente un ambiente operativo pronto all'uso basato su Pi-hole.
Pi-hole avvia server DHCP e DNS, basati su una versione modificata di dnsmasq. Il server DHCP viene utilizzato per il trasferimento automatico delle impostazioni del server DNS coinvolto nel blocco. Per gestire il server DNS e raccogliere statistiche, viene utilizzato un processo in background chiamato FTLDNS (pihole-FTL). La gestione di FTLDNS può essere effettuata tramite Web API, telnet o l'utilità della riga di comando pihole. FTLDNS accumula statistiche sul numero di richieste DNS bloccate e richieste. dei domini, richieste DNS in arrivo, blocchi di domini pubblicitari, richieste DNS memorizzate nella cache e reindirizzate, numero di clienti. Le statistiche sono 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 è adattata per funzionare sia su computer con schermi grandi che su dispositivi mobili. È supportato l'accesso ai log dettagliati, i dati aggregati (ad esempio, i clienti e i domini più popolari), una visualizzazione chiara in grafici e diagrammi, la selezione della cronologia per un periodo specifico, la filtrazione dei log, la gestione di elenchi bianchi e neri distinti, il blocco tramite espressioni regolari e la gestione delle impostazioni DHCP e DNS.

Nel nuovo rilascio:
- Nel processo in background pihole-FTL è integrato un server http e implementato un'API REST. L'implementazione incorporata del server HTTP si basa sulla libreria CivetWeb. In precedenza, il server HTTP lighttpd veniva avviato per organizzare il funzionamento dell'interfaccia web. I gestori server dell'interfaccia web sono stati riscritti da PHP a Lua (CivetWeb fornisce supporto integrato per Lua, il che ha permesso di escludere PHP dalle dipendenze).
- Sono state ampliate le capacità di filtraggio dei domini e aggiunto il supporto per la connessione di elenchi bianchi esterni che determinano i domini ai quali sarà consentito l'accesso, indipendentemente dall'inclusione negli elenchi neri.
- I file di configurazione disparati sono stati unificati 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, accedere all'API o modificare le impostazioni tramite l'interfaccia web.
- È stata completamente cambiata la disposizione dell'interfaccia web, in cui è stata introdotta la separazione tra modalità normale e esperta.
- È stato aggiunto il supporto per HTTPS con la possibilità di fornire sia il proprio certificato TLS, sia la generazione automatica del certificato.
- L'immagine del contenitore per Docker è stata convertita per utilizzare Alpine Linux invece di Debian, il che ha permesso di ridurre notevolmente le sue dimensioni.
Fonte: opennet.ru
