HeadlinesBriefing HeadlinesBriefing.com

Pemblokir DNS ESP32-C3 hash-in-flash

Hacker News •
×

Pemblokir iklan DNS bertipe Pi-hole berjalan pada ESP32-C3 seharga $2 tanpa PSRAM dengan menyimpan domain daftar pemblokir sebagai hash FNV-1a 40-bit yang diurutkan di memori flash. Proyek ini, yang ditampilkan di Tom's Hardware, XDA Developers, dan Korben, dapat menampung lebih dari 140.000 domain dalam sekitar 0,7 MB flash dengan waktu pencarian sekitar 10 ms menggunakan hanya sekitar 50 KB RAM. Berbeda dengan sinkhole ESP32 khas yang memuat string domain ke dalam RAM dan membutuhkan PSRAM, pendekatan ini menghindari tekanan RAM dengan melakukan pencarian biner hash langsung dari flash.

Pada 141k domain, tabrakan hash dapat diabaikan (~0); pada 537k domain, terjadi sekitar satu tabrakan. Ukuran hash 40-bit menyeimbangkan penggunaan flash dan risiko tabrakan: 32-bit meningkatkan tabrakan, 64-bit menyia-siakan ruang. Metode yang sama dapat diskala ke chip yang lebih besar seperti ESP32-S3, yang dapat menampung sekitar 2,7 juta domain dalam 16 MB flash dibandingkan sekitar 466k untuk string dalam 8 MB PSRAM.

Persyaratan perangkat keras mencakup board ESP32-C3 apa saja dengan 4 MB flash (diuji pada C3 Super Mini), yang digerakkan melalui USB. Kasus yang dapat dicetak tersedia, dengan rekomendasi jeda antena dan ventilasi untuk pengelolaan termal. Firmware dan pembaruan daftar pemblokir melalui Wi-Fi setelah flash USB awal menggunakan PlatformIO.

Dasbor web memungkinkan pengelolaan melalui /ban, /addblock, dll., dilindungi oleh WEB_USER/WEB_PASS/OTA_PASS. Langkah-langkah build meliputi menyalin template rahasia, membangun tabel hash daftar pemblokir, dan mem-flash firmware + sistem berkas.

Sumber: Hacker News · Diringkas oleh HeadlinesBriefing