开发者生态
evening
聪明的黑客在价值 5 美元的 ESP32 广告拦截器中安装了 537,000 个域名
2026-07-19
1 阅读
约6分钟阅读
sbulaev
字号:
(图片来源:ZedAxis/YouTube) 复制链接 Facebook X Whatsapp Reddit Pinterest Flipboard 电子邮件 分享本文 8 加入对话 关注我们 将我们添加为 Google 时事通讯的首选来源 订阅我们的时事通讯 构建基于硬件的广告拦截 DNS 过滤器有多便宜? “免费”,如果您愿意抢救一些被丢弃的旧硬件。如果你没那么幸运怎么办?在 RAMgeddon 时代,即使是一个 Raspberry Pi 也要花费几百美元。但你知道,你甚至不需要那么强大的东西。事实上,您可以使用 5 美元的微控制器构建功能齐全的广告拦截过滤器,拦截超过 500,000 个域,延迟时间约为 10 毫秒。我们知道这是可能的,因为埃及全栈开发人员 ZedAxis(GitHub 上的@M-Abozaid)已经构建了一个。他使用 ESP32-C3“SuperMini”板为其家庭网络创建了一个备用 DNS,该 DNS 仍然提供广告拦截功能。他的主路由器是 Pi-hole,这是一个运行专用软件的 Raspberry Pi,用于管理 DHCP 寻址和 DNS 解析,并具有集成的广告拦截功能。当 Pi-Hole 重新启动或因其他原因不可用时,SuperMini 可充当备份。 ZedAxis 使用的特定 ESP32-C3 SuperMini 板。 (图片来源:ZedAxis/YouTube)严格来说,我们还没有看到 ZedAxis 的创作付诸实践,但没有理由相信它不起作用。 ESP32 系列嵌入式 Wi-Fi 微控制器是众所周知的,而且此功能绝不超出其能力范围。事实上,这个特定技巧允许使用 ESP32-C3,这是该芯片的成本降低版本,没有某些高端型号上的 8MB PSRAM。 (ESP32 有许多变体。) 最新视频 在此观看完整视频:相反,ZedAxis 使用的 ESP32-C3 只有 400KB 的 RAM 和 4MB 的闪存。由于规格有限,他无法存储任何实际大小的明文阻止列表;只是数据太多了。因此,他做了任何有进取心的黑客都会做的事情:他开始对数据进行哈希处理以减小其大小。使用40位FNV-1a哈希值,因为32位会产生太多冲突,而64位浪费太多空间,他可以在设备的闪存中存储大约537,000个域。该项目包括一个基本的 GUI,您可以在其中查看一些统计数据并配置自定义域以进行阻止。 (图片来源:ZedAxis/YouTube)不过,巧妙的部分并不是真正的散列。构建过程不是存储域本身,而是下载一个或多个公共阻止列表,删除重复的条目和注释,将每个剩余域散列为 40 位值,对结果列表进行排序,并将完成的数据库写入 ESP32 的闪存。当 DNS 查询到达时,设备以相同的方式对请求的主机名进行哈希处理,并对排序后的哈希表执行二分搜索。如果找到匹配项,则该请求将被阻止。否则,查询将转发到上游解析器。根据 ZedAxis 的说法,完成的固件仅使用大约 50KB 的 RAM,同时在大约 10 毫秒内应答阻塞的查找。我为我的整个网络构建了一个 2 美元的广告拦截器 - YouTube Watch On 设计中还隐藏着另一个巧妙的妥协。 ESP32 通常会保留足够的闪存来保存其固件的两个完整副本,从而允许进行无线 (OTA) 更新,而不会出现闪存故障导致设备无法启动的风险。如果您不关心无线固件更新,则可以为阻止列表数据库回收第二个固件分区。启用 OTA 支持后,该项目最多可屏蔽约 250,000 个域名。放弃 OTA,那么微控制器上的域就会跃升至大约 537,000 个,而您通常只需一顿快餐午餐的价格就可以购买到该微控制器。 ZedAxis 描述价格为 2 美元;我找不到比 5 美元更便宜的 SuperMini 主板,但以这个价格来说,没有必要对其中的差异争论不休。当然,这并不是要取代正确的 Pi-hole 或 AdGuard Home 安装。 ESP32 项目有一个基本的仪表板,但它不提供详细的每个客户端统计数据、历史查询日志或使这些平台有吸引力的所有旋钮和转盘。相反,它被设计成一份小型保险单。它静静地坐落在网络上,仅消耗几十毫安的电量,如果主 DNS 服务器因重新启动或断电而消失,客户端仍然会获得经过过滤的 DNS 响应,而不是回退到路由器碰巧配置的任何解析器。保持领先地位:获取 Tom's Hardware 时事通讯 将 Tom's Hardware 的最佳新闻和深入评论直接发送到您的收件箱。与我联系,了解其他未来品牌的新闻和优惠 代表我们值得信赖的合作伙伴或赞助商接收我们发送的电子邮件 备份广告拦截器几乎不引人注目地插入创建者的家庭网关。 (图片来源:ZedAxis/YouTube)我最喜欢的细节是
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱