把设备DNS指向esp32-c3-adblock主解析、备解析与路由器级配置的3种方法【免费下载链接】esp32-c3-adblockPi-hole-class DNS ad-blocker on a $2 ESP32-C3 (no PSRAM): 537k domains as 40-bit FNV-1a hashes in flash, binary-searched. UDP DNS sinkhole web dashboard. https://youtube.com/shorts/RaxszOUMi8E?featureshare项目地址: https://gitcode.com/GitHub_Trending/es/esp32-c3-adblockesp32-c3-adblock 是一个运行在 2 美元 ESP32-C3 开发板上的Pi-hole 式 DNS 广告拦截器无需 PSRAM把 53.7 万个广告域名以 40 位 FNV-1a 哈希存入 flash 做二分查找通过 UDP DNS 劫持sinkhole拦截广告请求并自带 Web 管理面板。本文手把手教你把手机、电脑或整个路由器的 DNS 指向它共 3 种配置方法从单设备到全网生效一次讲清。️准备工作找到设备IP并打开管理面板在动手配置 DNS 之前先确认设备已经刷好固件并成功连上 Wi-Fi浏览器秒刷固件把 C3 插到电脑上打开项目自带的 docs/index.html点击 Connect Install 即可全程约 30 秒不需要安装任何工具链固件包见 docs/firmware.bin 与 docs/manifest.json。想自己编译构建的读者可参考 README.md 的 PlatformIO 流程。连接 Wi-Fi首次开机设备会发出一个名为C3-AdBlock-XXXX的开放热点手机连上后在强制跳转的页面里选择你的 Wi-Fi 并输入密码即可。找到设备设备会通过 mDNS 通告域名c3adblock.local浏览器直接打开http://c3adblock.local就是管理面板见 src/main.cpp 中的 mDNS 初始化。设备的具体 IP 在串口日志里打印后续配置 DNS 时要用到。管理面板可以查看每个客户端的拦截/放行统计、封禁客户端 IP、添加自定义拦截域名还能在线更新固件和黑名单。方法一主解析 —— 把设备 DNS 直接指向 esp32-c3-adblock这是最彻底的方案该设备的所有域名解析都经过 C3。命中黑名单的域名直接回复0.0.0.0被拦截未命中的域名由 C3 转发给上游解析器再原样回传正常访问完全不受影响。各平台配置步骤把C3-IP换成你的设备 IP平台路径Windows设置 → 网络和 Internet → 以太网/Wi-Fi → 适配器选项 → IPv4 属性 → 使用下面的 DNS 服务器地址 填入C3-IPmacOS / iPhone / iPadWi-Fi → 已连网络右侧详情 → DNS → 添加C3-IPAndroid长按已连 Wi-Fi → 修改网络 → IP 设置改静态 → DNS1 填C3-IP或用私有 DNS 填其 mDNS 域名✅优点拦截 100% 生效面板里能实时看到这台设备的拦截数据。 ⚠️注意只影响手动改过 DNS 的设备家里其他设备不受影响。方法二备解析 —— 把 esp32-c3-adblock 设为二级 DNS如果你不想一刀切可以采用项目 README 推荐的折中玩法保留你习惯的解析器作为主 DNS把 C3 加到DNS 列表的第二位主 DNS你原来的解析器如运营商或 1.1.1.1 备 DNSC3-IPesp32-c3-adblock这样配置后的行为是设备优先查询主 DNS日常解析路径不变主 DNS 超时或异常时C3 接管查询——此时广告域名依然被拦截被 C3 接管但未命中黑名单的域名它会自动转发给上游解析器上游地址在固件中配置见 src/main.cpp 的forwardUpstream逻辑所以不会出现备解析一启用就断网的问题。✅优点侵入性最低就算 C3 掉线主 DNS 也能兜底网络照常可用。 适用人群希望悄悄挡广告、又担心单点故障的普通用户。配置入口和方法一相同Windows/macOS/手机设置里都支持填第二个 DNS。方法三路由器级配置 —— 全网设备一次生效最省心的方式是在路由器上配置家里手机、电视、IoT 设备一次全部生效登录路由器管理后台常见于192.168.1.1或192.168.0.1进入DHCP 服务器设置常见路径局域网设置 → DHCP 服务 / IP 设置在 DHCP 下发的 DNS 栏位中首选 DNS填C3-IP备用 DNS填你原来的解析器如1.1.1.1作为兜底保存后新联网的设备会自动获得这套 DNS 配置老设备重新连接一次 Wi-Fi 即可。供电小建议C3 直接插到路由器背板多余的 USB 口取电不用额外找插座电源要稳劣质 USB 转接头可能在 Wi-Fi 发射时导致射频欠压重启详见 README.md 的 Hardware 一节。想把它做成长久摆件的话项目还附了 3D 打印外壳 hardware/esp32-c3-supermini-enclosure.stl注意打印时别把天线端埋进实心塑料。3 种方法怎么选一张表看懂方法生效范围难度拦截强度断网风险① 主解析单设备当前设备⭐ 低最强几乎为零有上游兜底② 备解析单设备当前设备⭐ 低主 DNS 故障时生效最低③ 路由器级全网所有设备⭐⭐ 中最强全网备 DNS 兜底后极低新手建议路径先按方法一改一台手机验证效果 → 满意后切到方法三覆盖全家。验证配置是否生效2 条 dig 命令配置完成后在电脑上用 dig 直接向 C3 发查询C3-IP换成实际 IPdig C3-IP doubleclick.net # 预期0.0.0.0被拦截 dig C3-IP github.com # 预期正常 IP转发上游第一条返回0.0.0.0说明拦截生效第二条返回真实 IP 说明上游转发正常。打开 http://c3adblock.local 面板还能看到你这台设备逐条的拦截/放行统计——看到数字跳动的那一刻就是最直观的验证。注意事项清单改掉默认密码刷固件前请把 src/secrets.example.h 复制为secrets.h设置真正的WEB_USER/WEB_PASS/OTA_PASS否则面板的封禁、上传等操作处于半开放状态。黑名单定期更新在面板的Blocklist → Upload上传新的blocklist.bin用 tools/build_blocklist.py 构建或配置远程自动更新让设备每周自动拉取最新列表广告拦截效果能持续保鲜。闪存容量取舍4 MB flash 开双应用区支持固件 OTA后黑名单容量约 25 万域名追求 53.7 万域名的终极版需用单应用分区表不支持固件 OTA取舍配置见 partitions.csv。Linux 刷机用户Fedora/Ubuntu 上 ModemManager 会抢占串口导致 C3 反复重启刷机前记得按 README.md 的 Gotchas 一节先停掉它。三种方法任选其一花不到一杯奶茶钱的硬件就能让全家设备安静地远离广告。【免费下载链接】esp32-c3-adblockPi-hole-class DNS ad-blocker on a $2 ESP32-C3 (no PSRAM): 537k domains as 40-bit FNV-1a hashes in flash, binary-searched. UDP DNS sinkhole web dashboard. https://youtube.com/shorts/RaxszOUMi8E?featureshare项目地址: https://gitcode.com/GitHub_Trending/es/esp32-c3-adblock创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考