एक Pi-hole-शैली DNS विज्ञापन अवरोधक $2 के ESP32-C3 पर बिना PSRAM के चलता है, जो ब्लॉकलिस्ट डोमेन को फ़्लैश मेमोरी में सॉर्टेड 40-बिट FNV-1a हैश के रूप में संग्रहीत करता है। इस प्रोजेक्ट को Tom's Hardware, XDA Developers और Korben पर फीचर किया गया है, जो ~0.7 MB फ़्लैश में 140,000+ डोमेन और ~10 मिलीसेकंड लुकअप समय के साथ ~50 KB RAM के उपयोग के साथ फिट होता है। सामान्य ESP32 सिंकहोल्स के विपरीत, जो डोमेन स्ट्रिंग को RAM में लोड करते हैं और PSRAM की आवश्यकता होती है, इस दृष्टिकोण RAM प्रदर्शन को बचाता है क्योंकि यह फ़्लैश से सीधे हैश के बाइनरी सर्च करता है। 141k डोमेन पर, हैश संघट्टन नगण्य हैं (~0); 537k डोमेन पर, लगभग एक संघट्टन होता है। 40-बिट हैश आकार फ़्लैश उपयोग और संघट्टन जोखिम के बीच संतुलन कायम रखता है—32 बिट संघट्टन बढ़ाता है, 64 बिट स्थान बर्बाद करता है। वही विधि बड़े चिप्स जैसे ESP32-S3 में स्केल कर सकती है, जो 16 MB फ़्लैश में ~2.7M डोमेन को 8 MB PSRAM में ~466k स्ट्रिंग्स की तुलना में रखती है। हार्डवेयर आवश्यकताएं में 4 MB फ़्लैश वाला कोई भी ESP32-C3 बोर्ड शामिल है (C3 Super Mini पर परीक्षण किया गया), USB के माध्यम से सप्लाई किया गया। एक प्रिंटेबल एन्क्लोज़र उपलब्ध है, थर्मल मैनेजमेंट के लिए एंटीना क्लियरेंस और वेंटिंग की सिफारिश की जाती है। PlatformIO का उपयोग करके प्रारंभिक USB फ़्लैश के बाद फर्मवेयर और ब्लॉकलिस्ट अपडेट Wi-Fi के माध्यम से अपडेट होता है। वेब डैशबोर्ड /ban, /addblock आदि के माध्यम से प्रबंधन की अनुमति देता है, जो WEB_USER/WEB_PASS/OTA_PASS द्वारा सुरक्षित है। बिल्ड चरणों में सीक्रेट्स टेम्प्लेट कॉपी करना, ब्लॉकलिस्ट हैश टेबल बनाना और फर्मवेयर + फ़ाइल सिस्टम फ़्लैश करना शामिल है।
स्रोत: Hacker News · HeadlinesBriefing द्वारा सारांशित