2美元ESP32-C3实现53万域名拦截
ESP32-C3 Adblock
这个项目在仅2美元的ESP32-C3芯片上,无需PSRAM,成功运行了类似Pi-hole的DNS广告拦截器。核心突破在于将53.7万个域名转换为40位FNV-1a哈希值存储在Flash中,通过二分查找实现毫秒级响应,仅需约50KB RAM。相比传统将字符串加载到内存的方案,这种方法大幅降低了硬件成本,让普通用户也能轻松搭建家庭级广告过滤网关,甚至能直接插入路由器USB口运行。
大家忽略的关键技巧是:你不需要将黑名单保存在RAM中,而是将域名作为排序后的40位哈希存储在Flash中并进行二分查找。