智能家居🔥8.0

在无PSRAM的ESP32-C3上实现Pi-hole级DNS广告拦截

原标题: 在无PSRAM的ESP32-C3上实现Pi-hole级DNS广告拦截

Adafruit·2026/10/7 19:18:02🔗 原文

📋总体概括

开发者Zed(@M-Abozaid)在GitHub发布了一个可运行于约2美元ESP32-C3的DNS广告拦截器,无需PSRAM。不同于多数ESP32 DNS黑洞方案将屏蔽域名以字符串形式载入RAM(因此需要PSRAM),该方案把每个域名编码为排序后的40位FNV-1a哈希存入flash,通过二分查找匹配。约14万个域名即可装入其中,让低配芯片也能实现Pi-hole级别的局域网去广告能力。

⚡关键信息

  • ▸Zed(@M-Abozaid)在GitHub发布可运行于约2美元ESP32-C3的DNS广告拦截器
  • ▸该方案无需PSRAM,突破了多数ESP32屏蔽方案的硬件门槛
  • ▸核心技术是把域名编码为排序后的40位FNV-1a哈希存入flash并用二分查找
  • ▸约14万个域名可装入该存储结构,实现Pi-hole级别的屏蔽能力
  • ▸常规ESP32 DNS黑洞方案因将域名字符串载入RAM而必须依赖PSRAM

🔥犀利点评

这才是嵌入式开发的正确打开方式:别人堆PSRAM解决问题,他用40位哈希+二分查找把14万域名塞进flash。40位哈希有理论上的误判概率,但对广告屏蔽来说,偶尔误伤一个域名远比加一颗内存芯片划算。2美元的硬件干Pi-hole的活,说明很多时候性能瓶颈其实是设计思路的瓶颈。

本文由本站自动聚合,以下为原始来源:前往 Adafruit 阅读全文 →