HeadlinesBriefing HeadlinesBriefing.com

Bloqueur DNS ESP32-C3 hachage flash

Hacker News •
×

Un bloqueur de publicités DNS dans le style Pi-hole fonctionne sur un ESP32-C3 à $2 sans PSRAM en stockant les domaines de liste de blocage sous forme de hachages FNV-1a de 40 bits triés dans la mémoire flash. Le projet, présenté sur Tom's Hardware, XDA Developers et Korben, peut contenir plus de 140 000 domaines dans environ 0,7 Mo de flash avec un temps de recherche d'environ 10 ms en utilisant seulement environ 50 Ko de RAM. Contrairement aux pièges typiques de l'ESP32 qui chargent les chaînes de domaines en RAM et nécessitent de la PSRAM, cette approche évite la pression sur la RAM en effectuant une recherche binaire sur les hachages directement depuis la flash.

Avec 141 k domaines, les collisions de hachage sont négligeables (environ 0) ; avec 537 k domaines, environ une collision se produit. La taille de hachage de 40 bits équilibre l'utilisation de la flash et le risque de collision : 32 bits augmente les collisions, 64 bits gaspille de l'espace. La même méthode peut être mise à l'échelle à des puces plus grandes comme l'ESP32-S3, pouvant contenir environ 2,7 M de domaines dans 16 Mo de flash contre environ 466 k pour des chaînes dans 8 Mo de PSRAM.

Les exigences matérielles comprennent n'importe quelle carte ESP32-C3 avec 4 Mo de flash (testée sur C3 Super Mini), alimentée par USB. Un boîtier imprimable est disponible, avec un espace pour l'antenne et des ouvertures de ventilation recommandés pour la gestion thermique. Le firmware et la mise à jour de la liste de blocage se font via Wi-Fi après le flash initial USB à l'aide de PlatformIO.

Le tableau de bord Web permet la gestion via /ban, /addblock, etc., protégé par WEB_USER/WEB_PASS/OTA_PASS. Les étapes de construction impliquent la copie du modèle de secrets, la construction de la table de hachage de la liste de blocage et le flashage du firmware + du système de fichiers.

Source: Hacker News · Résumé par HeadlinesBriefing