HeadlinesBriefing HeadlinesBriefing.com

ESP32-C3 DNS 広告ブロッカー フラッシュハッシュ

Hacker News •
×

2ドルのPSRAMなしESP32-C3でPi-holeスタイルのDNS広告ブロッカーが動作し、フラッシュメモリにソートされた40ビットFNV-1aハッシュとしてブロックリストドメインを保存します。このプロジェクトはTom's Hardware、XDA Developers、Korbenで特集され、フラッシュの約0.7MBに140,000以上のドメインを収容し、純粋に約50KBのRAMで約10msの検索時間を実現しています。通常のESP32シンクホールとは異なり、ドメイン文字列をRAMにロードしPSRAMを必要とするものとは、このアプローチはフラッシュから直接ハッシュをバイナリ検索することでRAMの圧迫を回避します。141kドメインではハッシュ衝突は無視できない(約0);537kドメインでは約1回の衝突が発生します。40ビットハッシュサイズはフラッシュ使用量と衝突リスクのバランスを取ります:32ビットは衝突を増やし、64ビットはスペースを浪費します。同じ方法はESP32-S3のような大きなチップにスケーリングでき、16MBフラッシュで約2.7Mドメインを収容し、8MB PSRAMで約466kの文字列と比較されます。ハードウェア要件には4MBフラッシュを搭載した任意のESP32-C3ボード(C3 Super Miniでテスト済み)が含まれ、USB給電されます。印刷可能なケースが利用可能で、熱管理のためにアンテナクリアランスと通気が推奨されます。PlatformIOを使用して初期USBフラッシュ後、ファームウェアとブロックリストはWi-Fiで更新されます。Webダッシュボードは/ban、/addblockなどを通じて管理を可能にし、WEB_USER/WEB_PASS/OTA_PASSによって保護されます。ビルド手順にはシークレットテンプレートのコピー、ブロックリストハッシュテーブルの構築、ファームウェア+ファイルシステムのフラッシュが含まれます。

出典: Hacker News · 要約:HeadlinesBriefing