HeadlinesBriefing HeadlinesBriefing.com

منع أعلانات DNS ESP32-C3 تجزئة فلاش

Hacker News •
×

يعمل منع أعلانات DNS على غرار Pi-hole على ESP32-C3 بسعر $2 بدون PSRAM من خلال تخزين نطاقات قوائم الحظر كتجزئة FNV-1a مرتبة بـ 40 بت في الذاكرة الفلاشية. المشروع، الذي عُرض على Tom's Hardware، XDA Developers وKorben، يناسب أكثر من 140,000 نطاق في حوالي 0.7 ميجابايت من الفلاش مع زمن بحث حوالي 10 مللي ثانية باستخدام حوالي 50 كيلو بايت فقط من الذاكرة العشوائية. على عكس نواة ESP32 النوعية التي تحمل سلاسل النطاقات في الذاكرة العشوائية وتتطلب PSRAM، يتجنب هذا النهج الضغط على الذاكرة العشوائية من خلال البحث الثنائي على التجزئة مباشرة من الفلاش. عند 141k نطاق، فإن تصادمات التجزئة قليلة جداً (~0)؛ عند 537k نطاق، يحدث حوالي تصادم واحد. حجم التجزئة 40 بت يوازن بين استخدام الفلاش ومخاطر التصادم: 32 بت يزيد التصادمات، 64 بت يضيع المساحة. نفس الطريقة يمكن أن تتوسع إلى شرائح أكبر مثل ESP32-S3، والتي تحمل حوالي 2.7M نطاق في 16 ميجابايت من الفلاش مقابل حوالي 466k للسلاسل في 8 ميجابايت من PSRAM. متطلبات العتاد تشمل أي لوحة ESP32-C3 بـ 4 ميجابايت فلاش (تم اختبارها على C3 Super Mini)، وتعمل عبر USB. يتوفر غلاف قابل للطباعة، ويوصى بمسافة للأنتينا والتهوية لإدارة الحرارة. يتم تحديث البرمجيات الثابتة وقائمة الحظر عبر الواي فاي بعد البرمجة الأولية عبر USB باستخدام PlatformIO. لوحة الويب تتيح الإدارة عبر /ban، /addblock، إلخ، وتحميها WEB_USER/WEB_PASS/OTA_PASS. تشمل خطوات البناء نسخ قالب الأسرار، وبناء جدول تجزئة قائمة الحظر، وبرمجة البرمجيات الثابتة + نظام الملفات.

المصدر: Hacker News · لخّصه HeadlinesBriefing