Se ha presentado la versión del proyecto Pi-hole 6, que desarrolla un sistema para el bloqueo centralizado de anuncios en la red local, evitando la necesidad de instalar bloqueadores en los navegadores y en los dispositivos finales del usuario. La solución propuesta es actual para combatir la publicidad en dispositivos de redes domésticas, como televisores inteligentes y centros multimedia, así como para bloquear anuncios en aplicaciones móviles en smartphones. El bloqueo en Pi-hole se implementa a nivel de DNS: el sistema aplica una lista negra de dominios utilizados para mostrar anuncios y redirige las solicitudes a esos dominios a la dirección 0.0.0.0. Los desarrollos del proyecto se distribuyen bajo la licencia EUPL 1.2 (Licencia Pública de la Unión Europea).
Para instalar Pi-hole, es suficiente ejecutar un script Shell que automatiza la descarga e instalación de los componentes necesarios. La instalación es compatible con Debian, Ubuntu, Fedora, Raspberry Pi OS (Raspbian), Armbian y CentOS Stream para arquitecturas x86_64, i386, ARM64, ARMv6, ARMv7 y RISC-V. Se supone que Pi-hole se puede instalar en placas como Raspberry Pi (la Raspberry Pi Zero es suficiente para funcionar). Además, se ofrece una imagen de contenedor preconfigurada que contiene un entorno de trabajo basado en Pi-hole.
Pi-hole ejecuta servidores DHCP y DNS basados en una versión modificada de dnsmasq. El servidor DHCP se utiliza para transmitir automáticamente las configuraciones del servidor DNS involucrado en el bloqueo. Para gestionar el servidor DNS y recopilar estadísticas, se utiliza un proceso en segundo plano llamado FTLDNS (pihole-FTL). La gestión de FTLDNS se puede realizar a través de la API web, telnet o la utilidad de línea de comandos pihole. FTLDNS acumula estadísticas sobre el número de solicitudes DNS bloqueadas y realizadas, dominiosel bloqueo de dominios de redes publicitarias, solicitudes DNS almacenadas en caché y redirigidas, así como el número de clientes. Las estadísticas se almacenan utilizando SQLite.
Sobre la API proporcionada por FTLDNS, se implementa una interfaz web para el monitoreo y la gestión de bloqueos, basada en el código de AdminLTE. La interfaz web está adaptada para funcionar tanto en computadoras con pantallas grandes como en dispositivos móviles. Se admite el acceso a registros detallados, datos resumidos (por ejemplo, los clientes y dominios más populares), visualización clara en gráficos y diagramas, selección de historial por un período específico, filtrado de registros, mantenimiento de listas de permitidos y bloqueados, bloqueo por expresiones regulares, y gestión de configuraciones DHCP y DNS.

En esta nueva versión:
- En el proceso en segundo plano pihole-FTL se integra un servidor http y se implementa una API REST. La implementación del servidor HTTP está basada en la biblioteca CivetWeb. Anteriormente, se utilizaba un servidor HTTP lighttpd para organizar el funcionamiento de la interfaz web. Los controladores del servidor de la interfaz web han sido reescritos de PHP a Lua (CivetWeb proporciona soporte integrado para Lua, lo que permitió eliminar PHP de las dependencias).
- Se han ampliado las capacidades de filtrado de dominios y se ha agregado soporte para conectar listas de permitidos externas que definen los dominios a los que se permitirá el acceso independientemente de su inclusión en listas de bloqueados.
- Los archivos de configuración dispersos se han consolidado en un único archivo en formato toml (\/etc\/pihole\/pihole.toml). Para cambiar la configuración, se puede editar directamente el archivo toml, usar el comando "pihole-FTL --config", redefinir parámetros a través de variables de entorno, acceder a la API o cambiar configuraciones a través de la interfaz web.
- Se ha cambiado completamente el diseño de la interfaz web, introduciendo una separación entre los modos normal y experto.
- Se ha agregado soporte para HTTPS con la posibilidad de proporcionar tanto uno propio un certificado TLS, como la generación automática de un certificado.
- La imagen del contenedor para Docker se ha migrado a Alpine Linux en lugar de Debian, lo que ha permitido reducir significativamente su tamaño.
Fuente: opennet.ru
