একটি 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 ফ্ল্যাশের পরে ফার্মওয়্যার এবং ব্লকলিস্ট আপডেট ওয়াই-ফাইএর মাধ্যমে আপডেট হয়। ওয়েব ড্যাশবোর্ড /ban, /addblock ইত্যাদির মাধ্যমে পরিচালনা সম্ভব, যা WEB_USER/WEB_PASS/OTA_PASS দ্বারে সুরক্ষিত। বিল্ড ধাপগুলির মধ্যে সিক্রেট্স টেমপ্লেট কপি করা, ব্লকলিস্ট হ্যাশ টেবিল গঠন করা এবং ফার্মওয়্যার + ফাইলসিস্টেম ফ্ল্যাশ করা অন্তর্ভুক্ত।
উৎস: Hacker News · সারাংশ: HeadlinesBriefing