2 min de lectura

Bloqueador de anuncios ESP32 de $5 almacena 537,000 dominios

Un filtro DNS de respaldo ESP32-C3 puede bloquear 537,000 dominios usando hashes de 40 bits, alrededor de 50KB de RAM y tiempos de consulta de aproximadamente 10 ms.

Imagen: Hacker News

Un ESP32-C3 SuperMini de $5 puede funcionar como un filtro DNS de bloqueo de anuncios para toda la red, con 537,000 dominios bloqueados, usando solo alrededor de 50KB de RAM y respondiendo consultas bloqueadas en unos 10 milisegundos.

Ese es el enfoque seguido por el desarrollador full-stack egipcio ZedAxis (@M-Abozaid en GitHub), que construyó el diminuto dispositivo como servidor DNS de respaldo para su red doméstica. Su configuración principal es un Pi-hole ejecutándose en una Raspberry Pi, mientras que el ESP32 interviene cuando el sistema principal se está reiniciando o no está disponible.

Foto de la pequeña placa ESP32 SuperMini, sin carcasa.
Foto de la pequeña placa ESP32 SuperMini, sin carcasa.

El hardware es modesto: 400KB de RAM y 4MB de memoria flash. Eso no es suficiente para almacenar una gran lista de bloqueo en texto plano, así que ZedAxis en su lugar aplica hashes a los dominios. Usa hashes FNV-1a de 40 bits como punto intermedio: 32 bits genera demasiadas colisiones, mientras que 64 bits ocupa demasiado espacio.

Recomendado

El verdadero cambio de la computación cuántica es la computación híbrida

Captura de pantalla de la interfaz rudimentaria del C3 AdBlocker.
Captura de pantalla de la interfaz rudimentaria del C3 AdBlocker.

El proceso de compilación descarga listas de bloqueo públicas, elimina duplicados y comentarios, aplica hash a cada dominio, ordena los resultados y escribe la base de datos en la flash. Cuando llega una solicitud DNS, el firmware calcula el hash del nombre de host y realiza una búsqueda binaria contra la tabla ordenada. Si hay una coincidencia, la solicitud se bloquea; si no, se envía a un resolvedor ascendente.

También hay un compromiso relacionado con el almacenamiento. El ESP32 normalmente reserva espacio para dos copias del firmware para soportar actualizaciones OTA de forma segura. Si el soporte OTA permanece activado, el proyecto puede bloquear unas 250,000 dominios. Desactivar OTA libera suficiente flash para alcanzar aproximadamente 537,000 dominios.

Construí un bloqueador de anuncios de $2 para toda mi red - YouTube
Construí un bloqueador de anuncios de $2 para toda mi red - YouTube

El proyecto no está pensado para reemplazar Pi-hole o AdGuard Home. Tom’s Hardware señala que el panel es básico y carece de estadísticas por cliente, registros históricos de consultas y los controles más amplios disponibles en instalaciones completas. La idea es resiliencia: una alternativa pequeña y de bajo consumo que mantiene el DNS filtrado en funcionamiento en lugar de dejar a los clientes usando el resolvedor que tenga configurado el router.

Foto de un pequeño dispositivo de bloqueo de anuncios conectado a un gateway de fibra doméstico.
Foto de un pequeño dispositivo de bloqueo de anuncios conectado a un gateway de fibra doméstico.

ZedAxis alimenta el dispositivo desde el puerto USB de un gateway de fibra doméstico Huawei OptiXstar. El enlace USB suministra solo 5 voltios; toda la red funciona a través del Wi‑Fi integrado del ESP32.

Marcus Vance

Enterprise Editor

Marcus follows the money. He covers enterprise software, cloud architecture, and the tectonic shifts in Big Tech strategy. He translates dense earnings calls and complex M&A activity into actionable insights about where the industry is actually heading. If a tech giant makes a silent pivot, Marcus is usually the first to notice.

vía Hacker News

// Sigue leyendo