在家庭网络里做 DNS 级广告过滤,adblock-fast 这类运行在路由器上的工具,核心价值取决于一件事:你给它喂了什么样的列表。
海外环境有 oisd、StevenBlack 这些成熟源,但放到国内网络——APP 开屏广告、智能电视/盒子广告、BAT 系和字节系的广告与埋点、运营商的 HTTP 注入——纯靠国外列表覆盖率非常低。这篇文章结合我自己的实践经验,整理一份适合中国家庭网络的 adblock-fast 中文列表推荐方案。
💡 前置说明:下文所有列表都经过 adblock-fast 格式兼容性验证,主要以 dnsmasq 格式或纯域名格式为主,确保路由器能正确加载。
为什么国外列表在国内”不够用”
国外的广告过滤列表主要面向海外站点:
- oisd big/small:覆盖欧美广告服务器、跟踪器
- StevenBlack:合并多个海外 hosts 源
- EasyList:国际网页广告
但国内广告生态完全不同:
- 广告域名多在
.cn及其子域名下 - 智能电视/盒子有专门的广告域名体系
- APP 内置广告走的是 BAT/字节的 SDK 域名
- 还有大量的数据统计、埋点、日志上报域名
所以必须用中文社区维护的列表作为主力,国外列表只能作为补充。
🎯 主力推荐:anti-AD
anti-AD 是目前中文区命中率最高的 DNS 级广告过滤列表,这一点在多个广告过滤规则订阅中心都被列为推荐首位。
它的特点:
- 由国人维护,专为中文环境优化
- 合并了 NeoHosts、yhosts、EasyList China、乘风规则等多个上游源
- 覆盖网页广告、电视盒子广告、APP 内置广告
- 同时屏蔽日志收集、大数据统计等隐私泄露域名
- 现支持 AdGuardHome、dnsmasq、Surge、Pi-Hole、Clash、SmartDNS、sing-box 等
adblock-fast 里的正确用法
anti-AD 提供了多种格式,在 adblock-fast 场景下首选 dnsmasq 格式:
| 格式 | URL | 适用场景 |
|---|---|---|
| adblock-for-dnsmasq.conf(推荐) | https://anti-ad.net/anti-ad-for-dnsmasq.conf | dnsmasq 及衍生版本,性能最优 |
| anti-ad-domains.txt | https://anti-ad.net/anti-ad-domains.txt | Pi-Hole 或任何支持域名过滤列表的工具 |
| anti-ad-easylist.txt | https://anti-ad.net/easylist.txt | AdGuardHome(含正则规则) |
⚠️ 官方明确提示:
anti-ad-easylist.txt包含正则规则,适用于 AdGuardHome;在 adblock-fast 场景下,优先使用adblock-for-dnsmasq.conf才是性能最优解。
adblock-fast 配置示例(或者在web页面直接添加):
config file_url
option name 'anti-AD'
option url 'https://anti-ad.net/anti-ad-for-dnsmasq.conf'
option action 'block'
option enabled '1'
📋 可选补充:按需求叠加
1. AdRules DNS List(猫队规则)
AdRules 是 Cats-Team 维护的基于中文区的强力去广告规则,具有一定的误杀,请思考再三再使用——这是作者自己在 README 里的原话。
DNS 版本订阅地址:
https://adrules.top/dns.txt
适用场景:
- 作为 anti-AD 的补充,对中文本土广告覆盖更广
- 适合能接受一定误杀、愿意维护白名单的用户
不建议的用法:
- ⚠️ 不要和 anti-AD 同时作为主力开——两者重叠度高,且 AdRules 误杀率偏高,叠加会让误杀翻倍
- ✅ 推荐用法:单独使用 AdRules DNS,或 anti-AD + AdRules DNS 二选一
2. EasyList China
EasyList 官方维护的中文补充列表,2026 年仍在活跃更新(最新版本 2026-07-10)。
https://easylist-downloads.adblockplus.org/easylistchina.txt
💡 注意:EasyList China 原始是 Adblock Plus 语法,里面大量是 URL 路径/元素隐藏规则。DNS 层只能提取其中的域名部分来拦截,所以它在 adblock-fast 里的效果不如在浏览器插件里那么强,但作为域名补充仍有一定价值。
建议用法:如果路由器性能充裕(≥ 256 MB 内存),可以在 anti-AD 之外轻量补充这条;如果已经用了 anti-AD,可以不单独开,因为 anti-AD 已经包含了 EasyList China 的域名。
3. AWAvenue Ads Rule
广告过滤规则订阅中心将其列为”用于中国地区的广告拦截列表”:
https://adguardteam.github.io/HostlistsRegistry/assets/filter_53.txt
体量相对轻量,可作为 anti-AD 之外的补充。
🔧 三档推荐方案
根据不同路由器性能,我整理了三档方案,直接抄作业:
🟢 轻量档(硬路由 / 内存 ≤ 128 MB)
适合 MT7621 等主流硬路由:
# 只用 anti-AD 的 dnsmasq 格式,单源搞定
config file_url
option name 'anti-AD'
option url 'https://anti-ad.net/anti-ad-for-dnsmasq.conf'
option action 'block'
option enabled '1'
这一档只开 anti-AD 一个源就够覆盖国内 90% 的广告场景,资源占用可控。
🟡 均衡档(主流路由器 / 内存 128-256 MB)
适合多数家用软路由和低配 x86:
# 主力:anti-AD dnsmasq 格式
config file_url
option name 'anti-AD'
option url 'https://anti-ad.net/anti-ad-for-dnsmasq.conf'
option action 'block'
option enabled '1'
# 补充:AdRules DNS(二选一,不叠加)
config file_url
option name 'AdRules-DNS'
option url 'https://adrules.top/dns.txt'
option action 'block'
option enabled '0' # 默认关,按需开启
使用建议:先只开 anti-AD 跑两周,观察误杀情况。如果某些广告没拦住,再把 AdRules DNS 打开。
🔴 进阶档(软路由 / 内存 ≥ 512 MB)
# 主力
config file_url
option name 'anti-AD'
option url 'https://anti-ad.net/anti-ad-for-dnsmasq.conf'
option action 'block'
option enabled '1'
# 补充国外广告
config file_url
option name 'oisd-small'
option url 'https://small.oisd.nl/'
option action 'block'
option enabled '1'
# 中文补充
config file_url
option name 'AdRules-DNS'
option url 'https://adrules.top/dns.txt'
option action 'block'
option enabled '1'
# 误杀白名单
list allowed_domain 'example.com' # 按实际误杀情况添加
⚠️ 三个必须知道的坑
坑 1:”争议域名”问题
一些域名可能与广告/跟踪有关,但部分情况下它们还有其他的作用,拦截它们可能会造成额外的问题。
实际表现:
- 微信小程序偶尔加载异常(anti-AD已加白)
- QQ 空间部分图片打不开
- 某些 App 的功能模块加载失败
解决方法:
# 查看 dnsmasq 拦截日志
logread | grep dnsmasq | grep -i block
# 把误杀的域名加入白名单
uci add_list adblock-fast.@adblock-fast[0].allowed_domain='误杀的域名'
uci commit adblock-fast
service adblock-fast restart
坑 2:列表不是越多越好
很多人觉得”多开几个列表 = 广告拦截更干净”,这是误区:
- 列表重叠度高,多开的边际效益递减
- 域名总数直接影响 dnsmasq 的运行时内存和查询性能
- 128 MB 内存的路由器,开 anti-AD + oisd big + StevenBlack + AdRules 大概率 OOM
黄金法则:单源主力 + 按需补充 + 白名单微调,比堆 5-6 个列表实用得多。
坑 3:智能电视/盒子的广告域名经常变
anti-AD 对电视盒子广告覆盖较好,但域名更新可能跟不上新出现的广告域名。建议:
- 关注是否出现新广告域名,必要时手动添加到自定义黑名单
- 如果家里有智能电视,anti-AD 几乎是必装项
落地步骤
- 先只启用 anti-AD(轻量档配置),跑一周
- 观察误杀:
logread | grep dnsmasq | grep -i block - 加白名单:把误杀的域名加到
allowed_domain - 按需补充:广告没拦干净就加 AdRules DNS;国外网站广告多就加 oisd small
- 监控资源:
free -m看内存,top | grep dnsmasq看 CPU 占用
写在最后
经过长期观察,我的推荐结论是:
💡 绝大多数中国家庭,”anti-AD (dnsmasq 格式) 单源”已经能挡掉 90% 以上的广告(网页、APP 开屏、智能电视)。先把它跑稳,再根据实际痛点决定是否补充其他列表,比一开始就堆一堆列表要明智得多。
如果你懒得折腾,直接抄轻量档配置就够了。如果你用的是软路由、内存充足,且对广告零容忍,可以用进阶档——但记得留足时间维护白名单。
广告过滤是一场持久战,列表会更新、域名会变、误杀会出现。选对主力源 + 建立白名单机制,比追求”全量拦截”更重要。
参考资料:anti-AD 官方仓库、AdRules 项目、EasyList China、AdGuard 广告过滤规则订阅中心
© 2026, 爱上生活. 版权所有,非商业使用转载必须提供本文章的原始链接。
