iiOTESP32 Brasil
Modo de contingência: páginas públicas e downloads seguem disponíveis; login, comunidade e dados do servidor podem ficar indisponíveis.
Voltar para novidades
Notícia

Projeto aberto usa ESP32-C3 para bloquear mais de 500 mil domínios sem PSRAM

O esp32-c3-adblock filtra consultas DNS usando listas armazenadas na flash. A capacidade chega a cerca de 537 mil domínios, mas essa configuração exige abrir mão das atualizações remotas de firmware.

Logotipo CNX SoftwareCNX Software

O desenvolvedor Zed (M-Abozaid) criou o esp32-c3-adblock, um bloqueador de anúncios e rastreamento de código aberto que funciona em placas ou módulos ESP32-C3 de US$ 2, sem exigir PSRAM. Voltado a redes domésticas e pequenos escritórios, o projeto filtra consultas DNS dos dispositivos conectados e oferece um painel web para acompanhar solicitações permitidas e bloqueadas, além de cadastrar domínios adicionais.

A economia de memória vem da representação dos domínios por hashes FNV-1a de 40 bits, códigos de tamanho fixo armazenados em ordem na flash. O firmware calcula o hash do domínio consultado e procura uma correspondência por busca binária. Quando encontra, responde com 0.0.0.0; caso contrário, encaminha a consulta a outro servidor DNS. Mais de 140.000 domínios ocupam aproximadamente 0,7 MB de flash, com consumo de cerca de 50 KB de RAM. Em placas com 4 MB de flash, manter duas partições de aplicação permite atualizações remotas de firmware e uma lista de até 250.000 domínios. Com uma única partição de aplicação, a capacidade sobe para aproximadamente 537.000, mas essas atualizações ficam desativadas.

Por que importa: para quem desenvolve com ESP32, IIoT e automação, o projeto demonstra como transferir dados de consulta para a flash pode aliviarar a RAM. A escolha também evidencia um compromisso de manutenção: ampliar a lista reduz a facilidade de atualizar o equipamento remotamente. Como hashes distintos podem coincidir, existe ainda a possibilidade de bloquear um domínio indevidamente, aspecto relevante ao avaliar filtros em redes com serviços necessários à operação.