Um proxy DNS rápido e leve que bloqueia anúncios e rastreadores em toda a rede local, com regras por grupo de clientes.
M-Abozaid/esp32-c3-adblock
Bloqueador de anúncios DNS no estilo Pi-hole para o ESP32-C3 de US$ 2, que armazena hashes de listas de bloqueio na flash e dispensa PSRAM.
Alternativa open source a:Pi-hole
- Estrelas
- 3,519
- Forks
- 395
- Issues abertas
- 34
- Último commit
- há 24 horas
O que é?
O esp32-c3-adblock transforma uma pequena placa microcontroladora ESP32-C3 em um sinkhole DNS para a rede. Os dispositivos da rede apontam o DNS para a placa, que responde aos domínios bloqueados com 0.0.0.0 e encaminha as demais consultas a um resolvedor upstream.
A técnica principal consiste em armazenar cada domínio bloqueado como um hash FNV-1a de 40 bits ordenado na flash e fazer uma busca binária nessa tabela a cada consulta. Assim, a lista de bloqueio fica fora da RAM, o firmware usa cerca de 50 KB de RAM e funciona sem PSRAM. O projeto informa que cerca de 141 mil domínios cabem em aproximadamente 0,7 MB de flash, e que a lista maior comporta por volta de 537 mil domínios.
A placa oferece um painel web com contagens de bloqueios por cliente, entradas personalizadas para bloquear e permitir domínios e atualizações de listas de bloqueio ou do firmware via WiFi. As listas de bloqueio são geradas com um script Python a partir de arquivos hosts, listas simples de domínios ou regras no estilo AdGuard.
Recursos principais
- 01Responde a domínios bloqueados com 0.0.0.0 via DNS UDP e encaminha as demais consultas a um servidor upstream.
- 02Armazena a lista de bloqueio como hashes de 40 bits na flash, usando cerca de 50 KB de RAM e sem PSRAM.
- 03Painel web com contagens de bloqueios por cliente e entradas personalizadas para bloquear ou permitir domínios.
- 04Atualizações de firmware e da lista de bloqueio over-the-air, com busca remota programada de listas.
- 05Configuração de WiFi por portal cativo e descoberta mDNS em c3adblock.local.
- 06O gerador de listas de bloqueio aceita arquivos hosts, listas simples de domínios e regras básicas do AdGuard.
Casos de uso
- Adicionar bloqueio de anúncios e rastreadores em toda a rede doméstica sem comprar um Raspberry Pi.
- Executar um resolvedor DNS secundário de baixo consumo que bloqueia domínios atrás do DNS principal.
- Experimentar filtragem DNS embarcada em uma placa ESP32-C3 barata.
Início rápido
- 1
Copie o modelo de secrets e edite-o com as credenciais do seu Wi-Fi e do painel
cp src/secrets.example.h src/secrets.h - 2
Compile a tabela hash da lista de bloqueio
python3 tools/build_blocklist.py data/blocklist.bin - 3
Grave o firmware no ESP32-C3 via USB
pio run -t upload - 4
Grave o sistema de arquivos da lista de bloqueio via USB
pio run -t uploadfs
Antes de usar
- É necessária uma versão atual do PlatformIO; a versão antiga empacotada no apt falha ao compilar.
- Com 4 MB de memória flash, as atualizações OTA do firmware limitam a lista de bloqueio a cerca de 250 mil domínios.
- As senhas do painel e do OTA devem ser definidas em secrets.h; caso contrário, o dispositivo inicializa com credenciais padrão públicas.
- O tráfego usa HTTP sem criptografia com Basic Auth, portanto não é criptografado na LAN.
Em coleções
Tópicos
Perguntas frequentes
- O que é esp32-c3-adblock?
- Bloqueador de anúncios DNS no estilo Pi-hole para o ESP32-C3 de US$ 2, que armazena hashes de listas de bloqueio na flash e dispensa PSRAM. O esp32-c3-adblock transforma uma pequena placa microcontroladora ESP32-C3 em um sinkhole DNS para a rede. Os dispositivos da rede apontam o DNS para a placa, que responde aos domínios bloqueados com 0.0.0.0 e encaminha as demais consultas a um resolvedor upstream.
- esp32-c3-adblock é gratuito? Qual é a licença?
- esp32-c3-adblock é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- esp32-c3-adblock ainda é mantido?
- Manutenção ativa. O último commit de esp32-c3-adblock foi em 6 de nov. de 2026.
- Para que posso usar esp32-c3-adblock?
- Adicionar bloqueio de anúncios e rastreadores em toda a rede doméstica sem comprar um Raspberry Pi. Executar um resolvedor DNS secundário de baixo consumo que bloqueia domínios atrás do DNS principal. Experimentar filtragem DNS embarcada em uma placa ESP32-C3 barata.
- Como instalar esp32-c3-adblock?
- Copie o modelo de secrets e edite-o com as credenciais do seu Wi-Fi e do painel: cp src/secrets.example.h src/secrets.h Compile a tabela hash da lista de bloqueio: python3 tools/build_blocklist.py data/blocklist.bin Grave o firmware no ESP32-C3 via USB: pio run -t upload Grave o sistema de arquivos da lista de bloqueio via USB: pio run -t uploadfs
- Onde consigo esp32-c3-adblock?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/M-Abozaid/esp32-c3-adblock
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Dispositivo com ESP32 que estima o fluxo de passageiros contando celulares próximos via Wi-Fi e Bluetooth, com saída de dados por LoRaWAN, MQTT e cartão SD.
Firmware alternativo para placas ESP8266 e ESP32, com configuração via web, atualizações OTA, automação local e controle por MQTT, HTTP, Serial ou KNX.
Ferramenta de linha de comando multiplataforma e sistema de build para desenvolvimento embarcado, com gerenciamento de bibliotecas, suporte a várias placas e frameworks, depuração e testes unitários.
Robô quadrúpede compacto, open source e imprimível em 3D, baseado no ESP32, com rosto em OLED e locomoção acionada por servos.
Conjunto de listas de bloqueio DNS que bloqueiam anúncios, rastreadores, telemetria, phishing, malware e golpes em toda a rede, em qualquer servidor DNS ou bloqueador de anúncios.