“15块的ESP32全屋去广告”刷屏了三天:项目确实聪明,但“插上就能用”在官方清单里还是个待办

源自187位全网作者

10-09 22:51

10月8日晚上,一条65秒的B站视频《十几块钱的 ESP32,竟被做成了开源广告拦截器!》用不到一天时间攒下788赞、837收藏、9317播放——收藏和点赞几乎1:1,点进去的人不是来看热闹的,是想动手的。 源头比它早两天,小红书笔记《拦截全网广告》三天拿下969赞、1209收藏、63条评论,文案更猛:“插在路由器后面的USB接口上,全屋手机、电视、电脑的所有广告秒级消失“。 被刷屏的项目是真实存在的:GitHub上的 esp32-c3-adblock,2498星、226个fork、MIT协议。 技术确实聪明。但“秒级消失”“插上就能用”这两句,官方README里没有。哔哩哔哩小红书GitHub

“15块的ESP32全屋去广告”刷屏了三天:项目确实聪明,但“插上就能用”在官方清单里还是个待办

它不是“刚刚开源”,中间隔了三个多月

中文帖都写着“国外极客刚刚开源”。真实时间线是:仓库2026年6月19日创建,Tom’s Hardware在7月19日就报道过它。报道完热度归于平静,10月6日才在中文平台突然爆起来,时间差三个多月。Tom's Hardware

这个滞后其实是好消息:项目已经经过几轮社区实测,该踩的坑基本有人在issue里替你踩过了。

真正聪明的地方只有一个取舍:黑名单不放内存

README里对比得很直白:多数ESP32广告拦截方案把黑名单按“域名字符串”装进内存,所以逼着你买带PSRAM的板子。这个项目换了个思路:把域名转成40位的FNV-1a哈希,排好序直接固化在flash里,查询时做二分查找。14.1万条域名只占0.67MB flash,运行内存只用约50KB,单次查找约18次flash读取、含WiFi往返约10毫秒,命中就回0.0.0.0,没命中就转发上游DNS。 为什么是40位?作者自己算了账:14.1万条规模下哈希碰撞约等于0,53.7万条也只有约1次(一个倒霉域名被误杀);用32位能省20%的flash,但25万条会出约7次碰撞;用64位纯属浪费。同样这套哈希进flash的思路放到16MB的ESP32-S3上能装约270万条,而8MB PSRAM装字符串只能到约46.6万条。GitHub

“15块的ESP32全屋去广告”刷屏了三天:项目确实聪明,但“插上就能用”在官方清单里还是个待办

所以这个项目的核心价值不是“去广告”这个功能,而是用一块2美元的C3 SuperMini替代8美元的PSRAM板子,顺带给所有“内存不够”的手搓项目演示了一种解题姿势。

“秒级消失”的宣传文案,有三层误读

第一层:53.7万条是上限,而且和OTA自动更新不能兼得。 默认构建的清单是StevenBlack基础包加Hagezi Light,约10万条,README特意标了“WhatsApp/社交软件安全”(不误杀主流IM和社交通信)。4MB的flash要留两个固件槽位才能支持WiFi刷固件,剩下的约1.3MB最多放25万条域名;要塞下那个53.7万条的“极限清单”,就得改单固件分区——代价是以后每次更新都要拆下来插USB线。 中文传播文案里一个字没提这个二选一。GitHub

第二层:“插上就能用”在官方功能清单里还是个⬜。 README的用法部分就一句:把各设备的DNS指向C3的IP,或者把它加在主DNS后面做备用解析器;而“自己当DHCP服务器、自动把DNS下发给全屋,实现true plug-and-play”明确列在待办清单里。 插路由器USB口只解决了供电,全屋设备并不会自动归它管。 另外,手机开了“私人DNS”、浏览器走加密DNS(DoH)的客户端会直接绕过本地DNS——这部分设备你也拦不到。至于视频网站的贴片广告、电视开屏推荐位,走的是平台自己的域名,DNS黑名单基本动不了它们;App开屏广告只有依赖第三方广告域名预加载的那部分会被压掉。“全屋所有广告秒级消失”,是这篇里最需要删掉的噪音。GitHub小红书

“15块的ESP32全屋去广告”刷屏了三天:项目确实聪明,但“插上就能用”在官方清单里还是个待办

第三层:它挂了,全屋一起“断网”。 全屋流量都问它要解析,它一死,所有设备打不开网页——而且B站高赞评论“有没有谁试过,能行吗”还真不是抬杠:7月29日就有人报告连续跑几小时后DNS不再响应;上游解析地址早期版本是编译期写死的海外9.9.9.9,直到10月6日才合并了“跟随DHCP自动配置”的改动,老固件在国内网络环境下本身就是不稳定源。 README给的姿势也留了后路:当备用解析器,别当唯一出口。GitHub

“能拦广告就能拦密码”这条评论,说错了一半,但真风险确实存在

小红书评论区的最高赞(37赞)是“能拦截广告,就能拦截密码”,B站85赞热评在猜“过不了几天一定会被三大封禁”。机制上两句都不成立:这个设备只做两件事——黑名单域名回0.0.0.0、其余原样转发,它不碰HTTPS流量,看不见你的密码;它跑在你家内网,跟运营商侧的拦截也没有关系。

但这类担心的“母体”——谁控制了你的DNS,谁就决定你解析到哪——是真实存在的,而且作者没藏着掖着:6月底的初版里,/ban、/upload、/forgetwifi这些能改状态的接口全部没有鉴权,局域网里任何设备都能刷你的固件、改你的黑名单,还带着CSRF和存储型XSS的路径。7月31日的PR修掉大头,10月5日、6日又补了两轮鉴权加固,现在的底线是:面板必须设账号密码,但走的是明文HTTP,Basic Auth密码在内网抓包面前等于裸奔。 如果你跳过修改secrets.h、留着仓库示例里的默认占位密码,设备照样开机会上网——只弹个横幅警告。GitHub

所以评论“来路不明的DNS最好让别人先装”反而是全文最正确的一句:值得在自己家局域网跑开源版,不值得去用任何“公共去广告DNS”,更值得把改密码当成刷机流程的第一步。顺带一提,官方也承认配网用的热点AP是故意开放的,你在那几分钟里输的WiFi密码安全性取决于你家无线环境本身。

要不要跟做,分三类人

  • 家里有软路由或者跑着AdGuard Home的:不用跟。 AdGuard Home支持正则、修饰符、精细自定义规则,DNS哈希清单表达不了这些;C3版定位是“400KB内存能跑的最便宜本地DNS过滤盒”,不是软路由的替代品。

  • 抽屉里有C3 SuperMini、或者本来就想花十几块入坑嵌入式的:值得跟一个周末。 刷机已经不需要搭PlatformIO工具链(旧版apt装的4.3.4还会编译报错),README的Done清单里躺着一个浏览器一键刷机页,桌面Chrome/Edge打开就行。要注意的硬件坑:便宜USB-C转接头供电不稳,WiFi发射瞬间可能直接欠压重启;官方打印外壳提醒天线端别埋进实心塑料、散热孔别堵——板子待机温度45–55℃。这个价位能学到的东西(flash和内存的取舍、哈希碰撞、分区表),比板子贵十倍。

“15块的ESP32全屋去广告”刷屏了三天:项目确实聪明,但“插上就能用”在官方清单里还是个待办

  • 目标是干掉视频贴片和开屏广告的:别跟,省下15块。 那不是DNS过滤这个问题域里的解。

这波跟做潮自己的信号

中文社区已经进场了:10月7日有人提交了中/英双语面板、按浏览器语言自动切换的PR。 10月8日又有i18n的issue,提出者的一句话很有代表性——“'排序哈希+二分查找’这个技巧是真优雅,就是它说服我动手做一个的“。 同时GitHub搜索里,从10月7日开始冒出一批同名空仓库(00nothin、hybhyyb等几个当天注册的账号),跟做只认原始仓库 M-Abozaid/esp32-c3-adblock,MIT协议,固件和每周一反向自动重建的黑名单都在官方releases里。另一个观察点:在微博、头条搜“esp32-c3-adblock”目前几乎搜不到——这轮还只在极客和手搓圈子里烧,公共平台的营销号版本大概率下周才到,到时候“15块消灭所有广告”会更离谱,先看到这篇的人至少有免疫力。GitHubGitHub

往后值得盯三件事:双语面板PR的合并进度;分桶前缀索引(官方待办,单次查找从约18次降到1–2次,是它将来真当“全屋唯一DNS”的前提);以及首批国内跟做实测——B站评论区那条“有没有谁试过,能行吗”,现在还没有人回答。哔哩哔哩

内容由AI生成
21
扫一下,分享更方便,购买更轻松
2评论

  • 精彩
  • 最新
  • 我还以为多牛逼呢,原来就dns去广告……现在多数广告早就不是使用单独域名,dns去广告如隔靴搔痒,还会影响某些网页正常访问

    校验提示文案

    提交
  • 大部分买到的C3 supermini的WiFi极差,需要自己手动改动天线才能正常使用

    校验提示文案

    提交
提示信息

取消
确认
评论举报

最新文章 热门文章