Um programador condensou um adblocker de 500 mil domínios num pequeno ESP32 de baixo custo.
Numa altura em que o Chrome está a dificultar a tarefa dos adblockers, temos mais um exemplo criativo do que é possível fazer-se por apenas alguns euros.
Um programador criou um filtro DNS com bloqueio de publicidade que corre num ESP32-C3, um microcontrolador que custa poucos euros. Apesar do hardware bastante limitado, o projecto consegue bloquear mais de 537 mil domínios, utilizando apenas cerca de 50KB de RAM e respondendo a pedidos bloqueados em aproximadamente 10 milissegundos.
O segredo está na forma como os domínios são armazenados. Em vez de guardar a lista completa em texto, que ultrapassaria as capacidades do pequeno microcontrolador, o sistema converte cada domínio numa hash de 40 bits, organizando tudo numa tabela optimizada que cabe nos 4MB de memória flash do dispositivo. Quando recebe um pedido DNS, o ESP32 gera o mesmo hash e faz uma pesquisa para determinar se o domínio deve ser bloqueado ou encaminhado para um servidor DNS externo.
O projecto foi criado para funcionar como servidor DNS de reserva numa rede doméstica, entrando em acção quando soluções mais completas, como o Pi-hole, ficam indisponíveis. Para aumentar a capacidade de armazenamento, o programador optou por desactivar as actualizações OTA, libertando espaço suficiente para duplicar o número de domínios bloqueados, passando de 250 mil para mais de 530 mil.
Embora não ofereça funcionalidades avançadas como estatísticas detalhadas ou histórico de consultas, a solução destaca-se pela simplicidade, baixo consumo energético, e custo reduzido. Alimentado apenas por uma qualquer porta USB (neste caso foi encaixado numa porta USB do router), este pequeno ESP32 demonstra que é possível criar um sistema de bloqueio de publicidade bastante eficiente com hardware extremamente económico e compacto.


Sem comentários:
Enviar um comentário