Pi-hole-подобный DNS-блокировщик рекламы работает на ESP32-C3 за ~$2 и не требует PSRAM. Вместо хранения строк в RAM проект держит отсортированные 40-битные хеши доменов во флеш-памяти и ищет по ним бинарным поиском.
140 тысяч с лишним доменов занимают около 0,7 МБ флеша, проверка занимает порядка 10 мс, а расход RAM — примерно 50 КБ. Коллизий на 141 тыс. доменов нет, на 537 тыс. одна. На ESP32-S3 с 16 МБ влезает около 2,7 млн доменов.
Первичная прошивка идёт по USB, дальше firmware и блоклист обновляются по WiFi через дашборд c3adblock.local. Список пересобирается GitHub Actions каждый понедельник; поддерживаются hosts, списки доменов и правила AdGuard.
GitHub ★ 1,264
