📱 Tutorial
Adiós Pi-Hole: crea tu propio bloqueador de anuncios por $5 con un ESP32 y 537,000 dominios
¿Crees que necesitas una Raspberry Pi de $200 o un servidor en la nube para tener un bloqueador de anuncios en tu red? Piénsalo de nuevo. Un desarrollador egipcio llamado ZedAxis logró lo que parecía imposible: meter 537,000 dominios bloqueados en un microcontrolador de $5 que cabe en la palma de tu mano.
El proyecto es tan brillante que ya está dando vueltas en Hacker News y Tom's Hardware. Y lo mejor: tú mismo puedes construirlo si tienes un ESP32-C3 SuperMini y 30 minutos libres.
El problema de los bloqueadores tradicionales
Los bloqueadores de anuncios DNS como Pi-Hole o AdGuard Home son excelentes, pero requieren hardware relativamente potente. Una Raspberry Pi te cuesta entre $50 y $200 dependiendo del modelo. Y en plena era de la "RAMageddon", los precios solo suben.
Pero ¿y si te dijera que no necesitas todo ese poder? Que con un chip que compras por el precio de un almuerzo rápido puedes tener la misma funcionalidad básica.
El truco: hashing inteligente
El ESP32-C3 SuperMini que usó ZedAxis tiene solo 400KB de RAM y 4MB de flash. Para ponerlo en perspectiva: una foto de tu celular pesa más que todo el almacenamiento de este chip.
Almacenar medio millón de dominios en texto plano es imposible en ese espacio. La solución fue tan ingeniosa que duele no haberla pensado antes: hashes de 40 bits con FNV-1a.
En lugar de guardar los nombres de dominio completos (ej: "doubleclick.net" → 15 bytes), el sistema calcula un hash de 40 bits (5 bytes) para cada dominio. Esto reduce drásticamente el tamaño de la base de datos. 537,000 dominios × 5 bytes = ~2.6MB, que cabe perfectamente en la flash de 4MB.
¿Por qué 40 bits y no 32 o 64? Simple: 32 bits da demasiadas colisiones (falsos positivos) y 64 bits desperdicia espacio. 40 bits es el punto dulce donde el riesgo de colisión es mínimo y el almacenamiento es eficiente.
Cómo funciona en la práctica
El proceso de construcción es elegantemente simple:
1. El build script descarga listas de bloqueo públicas (como las de Pi-Hole).
2. Elimina duplicados y comentarios.
3. Hashea cada dominio a un valor de 40 bits.
4. Ordena la lista de hashes.
5. Escribe la base de datos completa en la flash del ESP32.
Cuando llega una consulta DNS, el chip hashea el dominio solicitado y realiza una búsqueda binaria contra la tabla ordenada. Si encuentra coincidencia → bloquea. Si no → reenvía al DNS upstream.
El resultado: solo 50KB de RAM usados y respuestas en ~10 milisegundos.
¿Vale la pena vs Pi-Hole?
Obviamente, no esperes las campanas y silbatos de un Pi-Hole completo. No hay estadísticas detalladas por cliente, ni logs históricos, ni dashboard elaborado. Pero como DNS de respaldo (que es para lo que ZedAxis lo diseñó) es perfecto.
Si tienes un Pi-Hole y se te reinicia o actualiza, este pequeño ESP32 toma el control sin que nadie en la casa note la diferencia. El Internet sigue funcionando, los anuncios siguen bloqueados.
Y si sacrificas las actualizaciones inalámbricas (OTA), puedes usar la segunda partición de firmware para almacenar más dominios: 537,000 con OTA desactivado vs 250,000 con OTA activado.
¿Y el costo real?
ZedAxis dice que el chip le costó $2. Yo encontré las placas SuperMini por unos $5 en AliExpress. A ese precio, la discusión sobre si vale la pena es casi ridícula.
Cinco dólares. Eso es lo que pagas por tener un bloqueador de anuncios a nivel de red que funciona 24/7 y consume menos electricidad que un LED de noche.
El ángulo LATAM
Esto es especialmente útil para Latinoamérica. Mientras que una Raspberry Pi cuesta $80-$200 con envío e impuestos de importación, un ESP32-C3 lo consigues por monedas en MercadoLibre. Por el precio de una pizza, tienes un ad-blocker para toda tu casa.
Y en países donde el Internet móvil es caro y limitado, bloquear anuncios significa menos datos desperdiciados, páginas que cargan más rápido y menos estrés en tu conexión.
¿Te animas a construirlo?
El proyecto de ZedAxis está en GitHub (@M-Abozaid). Necesitas: un ESP32-C3 SuperMini, un cable USB-C, y ganas de jugar un rato. La documentación incluye desde cómo flashear el firmware hasta cómo configurar tu router para usarlo como DNS principal.
No necesitas ser un experto en electrónica. Si alguna vez conectaste un Arduino, esto te va a parecer pan comido.
Comparte esto con ese amigo que todavía paga $10 al mes por una VPN solo para bloquear anuncios. Hay una forma más barata, y cabe en tu bolsillo.