Router

Un filtro DNS capace di bloccare oltre mezzo milione di domini non richiede necessariamente una Raspberry Pi, un mini PC o gigabyte di memoria. Il progetto esp32-c3-adblock (repository GitHub) dimostra che un microcontrollore ESP32-C3 con 400 KB di SRAM e 4 MB di flash può svolgere il lavoro con circa 50 KB di RAM occupata e tempi di risposta vicini ai 10 millisecondi. Il risultato è ottenibile eliminando dalla memoria i nomi di dominio completi, conservandone soltanto impronte numeriche compatte.

L’idea riprende il principio dei DNS sinkhole, adottato da tempo da soluzioni come Pi-hole e AdGuard Home. Un resolver di questo tipo intercetta le richieste DNS della rete locale; quando riconosce un dominio pubblicitario, di tracciamento o potenzialmente dannoso, restituisce un indirizzo non utilizzabile invece di inoltrare la richiesta. Fino a pochi anni fa, una configurazione domestica richiedeva quasi sempre un computer Linux sempre acceso. La disponibilità di microcontrollori WiFi economici apre però una strada diversa, almeno per installazioni essenziali o di emergenza.

Perché una normale blocklist non entra nella memoria del microcontrollore

Il modello scelto dallo sviluppatore è una scheda ESP32-C3 SuperMini. Il chip integra un processore RISC-V a 32 bit con frequenza massima di 160 MHz, connettività WiFi 2,4 GHz 802.11 b/g/n e 400 KB di SRAM, dei quali una parte serve alla cache e alle funzioni interne. La scheda utilizzata dispone inoltre di 4 MB di memoria flash e non monta PSRAM esterna.