开源项目
AdguardTeam/AdguardFilters avatar
AdguardTeam/AdguardFilters

AdGuard Filters:一份规则清单仓库,如何成为广告拦截的公共基础设施

AdGuard 内容过滤为注重隐私的用户维护广告跟踪器阻止列表、更新安全的过滤器列表和部署友好的分发工作流程。

4,507 个 Star824 个 ForkAdblock Filter ListGPL-3.0

秒懂

它是什么?
AdGuard Filters 是 AdGuard 维护的广告与追踪器过滤规则集,面向 AdGuard 与 uBlock Origin 等拦截软件。仓库本身不写代码,它管理的是文本规则、区域列表与社区提交流程,其价值在于持续更新和公开的规则政策。
适合谁用?
AdGuard Filters 适合两类人:一类是 AdGuard 或 uBlock Origin 的普通用户,他们不需要接触仓库,只需在软件中启用对应的语言或功能列表;另一类是愿意参与规则维护的贡献者,他们可以从 GitHub issues 中挑选未解决的广告漏报或误报,按官方语法提交规则。不适合的是想自己搭建完整过滤系统的人,这个仓库只提供规则,不提供分发或更新机制。
能商用吗?
可以,但有条件。GPL-3.0 是 copyleft 许可证:如果你分发包含它的软件,就必须以同一许可证公开该软件的源代码。只在内部运行、不对外分发,则不会触发这项义务。
还在维护吗?
在维护。仓库最近一次提交在 1 天前。
用什么语言写的?
主要是 Adblock Filter List(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月14日)和我们的分析,不构成法律意见。

开源项目深度解析

这个仓库解决的不是广告问题,而是规则维护问题

广告拦截软件本身只是一台规则执行引擎。真正决定拦截效果的是规则清单,而清单需要有人持续编写、校对和更新。AdGuard Filters 就是这份清单的源头仓库。它解决的问题不是某个网站上的某条广告,而是如何让一套覆盖不同语言、不同站点类型的规则集保持可用。目标用户很明确:AdGuard 系列产品的用户,以及使用 uBlock Origin 这类支持相同规则格式的第三方软件用户。仓库的描述把自身定位为“广告追踪器真正被拦截的地方”,这句话强调的是规则内容本身,而不是软件功能。

规则如何组织:区域列表与功能列表的划分

仓库把规则按两种维度拆分。一种是区域维度,例如德语过滤规则、俄语过滤规则,针对特定语言或地区的站点。另一种是功能维度,例如社交媒体过滤规则、追踪保护规则。每个维度对应一个独立的列表,用户可以只启用自己需要的部分。这种组织方式的直接好处是粒度可控。一个只访问中文站点的用户不需要加载俄语规则,一个不在乎社交媒体按钮的用户可以不启用社交列表。每条规则是文本形式的,遵循 AdGuard 的过滤规则语法。仓库本身不负责解释语法,它只存放规则,真正的解析和执行发生在 AdGuard 或 uBlock Origin 中。

提交流程:从 issue 到规则,人工审核是核心

贡献流程不依赖自动化抓取,而是靠人工报告和审核。用户通过 agrd.io/report 提交问题,或者直接在 GitHub issues 中描述某个网站上的漏报或误报。贡献者可以挑选一个未关闭的 issue,在评论区提出自己的规则建议。AdGuard 的过滤工程师会审查这些建议,如果正确就合并进过滤列表。这意味着规则的质量控制完全依赖人工判断。仓库没有提供测试工具或自动验证脚本的说明,也没有描述发布流程。对于想参与的人来说,第一步是阅读官方过滤规则语法文档,否则提交的规则很可能因为格式错误或语义不当而被拒绝。

更新频率是卖点,但也是维护压力的来源

仓库明确声称过滤列表是“持续更新”的,并且是“最活跃开发”的列表之一。这种高频率更新对用户是好事,因为广告投放方式变化很快,规则必须跟上。但这也意味着维护者需要处理大量 issue,而贡献者的建议不一定都被采纳。政策文档的存在本身就说明冲突不可避免:用户认为某条规则是误报,维护者认为不是。仓库没有公布具体更新周期或版本号,也没有 release 记录。对于希望追踪规则变更的企业用户,这种缺少版本化发布的方式可能是个问题。你无法回滚到某个特定日期的规则集,只能使用当前 master 分支上的状态。

许可证与分发:GPL-3.0 的实际影响

仓库采用 GPL-3.0 许可证。对于普通用户,这几乎没有任何影响,因为规则列表是数据而非软件,使用行为不涉及复制分发。但对于想在自己的项目中集成这些规则,或者修改规则后再分发的开发者,GPL-3.0 意味着衍生作品需要以相同许可证开源。AdGuard 的产品本身是闭源的,但规则仓库保持开源,这种组合在广告拦截领域并不少见。uBlock Origin 使用这些规则时,是作为数据加载,而不是作为代码链接,因此不触发传染性。如果你打算把规则打包进自己的商业产品,需要仔细评估许可证义务,这个问题仓库没有给出额外说明。

替代方案:EasyList 与自建规则的区别

最直接的替代是 EasyList,它是一套独立的广告过滤规则,同样被 uBlock Origin 等软件支持。EasyList 和 AdGuard Filters 在目标上高度重叠,但维护组织不同。EasyList 由志愿者社区维护,AdGuard Filters 由商业公司主导,虽然也接受社区贡献。两者的规则语法基本兼容,但覆盖重点可能有差异。选择哪个取决于你信任哪个维护者的判断,以及你的主要浏览语言。另一个替代是完全自建规则,只写自己需要的几条规则,但这要求用户理解语法并持续维护,不适合大多数人。AdGuard Filters 的价值在于它已经聚合了大量人力,自建方案无法复制这一点。

适合谁,不适合谁:一份直白的判断

如果你是 AdGuard 用户,这个仓库不值得你直接访问,你只需在软件设置中启用相应列表。如果你是 uBlock Origin 用户,同样如此。仓库的真正用户是那些愿意花时间阅读语法文档,并从 issue 中挑选问题来提交规则的人。对于这些人,仓库提供了清晰的入口:选择 issue,写规则,等待审核。不适合的是那些想快速部署一套自定义过滤方案的人,因为仓库没有提供构建工具或分发接口。也不适合需要版本追踪的企业用户,因为没有 release 记录。在决定贡献之前,先阅读过滤政策,它会告诉你哪些规则会被接受,哪些不会。仓库的维护依赖人工,这意味着你的贡献可能被拒绝,也可能被采纳,但至少流程是公开的。

编辑结论

AdGuard Filters 适合两类人:一类是 AdGuard 或 uBlock Origin 的普通用户,他们不需要接触仓库,只需在软件中启用对应的语言或功能列表;另一类是愿意参与规则维护的贡献者,他们可以从 GitHub issues 中挑选未解决的广告漏报或误报,按官方语法提交规则。不适合的是想自己搭建完整过滤系统的人,这个仓库只提供规则,不提供分发或更新机制。在采用之前,需要先确认你的拦截软件是否支持 AdGuard 的规则语法,并阅读 AdGuard 的过滤政策,因为并非所有提交都会被接受,规则必须符合政策中关于误报和隐私的约定。仓库的 GPL-3.0 许可证意味着如果你修改规则并分发,可能需要以相同许可证开源,但普通使用不涉及此问题。

官方来源

  1. Official documentation
  2. Official README
  3. Project repository
社区笔记

社区笔记