开源项目
uBlockOrigin/uAssets avatar
uBlockOrigin/uAssets

uAssets 仓库:uBlock Origin 过滤规则的维护边界与协作机制

uBlock Origin 和 uBlock Origin Lite 的过滤器列表。 uBO 过滤器列表中包含的任何过滤器都必须使用扩展语法。

6,009 个 Star1,036 个 ForkAdblock Filter ListGPL-3.0
GitHub

秒懂

它是什么?
uAssets 是 uBlock Origin 与 uBO Lite 的官方过滤规则仓库,它明确了哪些问题会被修复、哪些不会,并强制要求使用扩展语法。本文分析其工作流程、适用场景与局限。
适合谁用?
uAssets 适合两类人:一是遇到广告拦截导致网页破损的普通用户,他们需要按 README 的步骤提交故障信息;二是想为 uBO 贡献过滤规则的开发者,他们必须掌握扩展语法并理解 EasyList 优先原则。不适合的人包括:想请求新过滤列表的人,仓库明确拒绝此类请求;想处理付费墙、成人农场或社交组件等骚扰元素的人,这些不在范围内。
能商用吗?
可以,但有条件。GPL-3.0 是 copyleft 许可证:如果你分发包含它的软件,就必须以同一许可证公开该软件的源代码。只在内部运行、不对外分发,则不会触发这项义务。
还在维护吗?
在维护。仓库最近一次提交在 1 天前。
用什么语言写的?
主要是 Adblock Filter List(依据 GitHub 的语言统计)。

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

开源项目深度解析

一个规则仓库,两种身份

uAssets 是 uBlock Origin 及其 MV3 变体 uBO Lite 的官方资源仓库。它不包含任何代码,只存放过滤规则。这些规则决定浏览器拦截哪些网络请求、隐藏哪些页面元素。仓库的定位很特殊:它既是用户报告网页破损的入口,也是贡献者提交新过滤规则的平台。README 明确说,任何贡献者都受欢迎,但只有被证明有价值的贡献者才会获得写权限。这意味着提交规则的门槛低,但合并规则的门槛高。仓库维护者通过严格审查来保证规则质量,而不是依靠开放协作。

扩展语法是硬性要求,不是建议

uAssets 的过滤规则必须使用 uBO 的扩展语法。普通 Adblock Plus 语法只能处理简单的 URL 匹配或元素隐藏,而扩展语法增加了诸如 script:inject、responseheader、csp 等指令,能够修改响应头、注入脚本或改变页面行为。README 强调,任何包含在 uBO 过滤列表中的规则都必须使用扩展语法。这条规则直接决定了仓库的定位:它不重复 EasyList 的工作,而是处理那些需要更高级手段才能解决的广告和跟踪问题。如果你提交的规则用普通语法就能实现,维护者会要求你改去 EasyList。

七类例外,一个明确的修复清单

uAssets 承诺修复七类问题:广告重新插入、反拦截、右键菜单被屏蔽、剪切复制粘贴被屏蔽、弹窗与弹底、网页破损、视频广告。这些问题的共同点是:它们往往需要扩展语法才能解决,或者 EasyList 尚未覆盖。比如广告重新插入,网站检测到广告被屏蔽后,会动态加载新的广告位,普通静态规则无法应对,需要 script 注入或更复杂的匹配。反拦截则涉及网站检测广告屏蔽器并显示警告,这通常需要修改响应头或注入脚本。这份清单是仓库的承诺范围,也是用户报告问题的依据。如果你的问题不在清单内,仓库不会处理。

明确拒绝的三类请求

uAssets 明确不处理付费墙、成人农场和骚扰元素。付费墙是网站要求付费才能阅读内容,屏蔽它属于绕过付费,仓库不参与。成人农场指大量自动生成的成人内容站点,这类站点通常不依赖广告收入,屏蔽其广告意义不大。骚扰元素包括社交按钮、订阅提示、捐赠请求等,这些虽然烦人,但不属于广告拦截的核心范畴。这个排除清单很有价值,它防止仓库范围无限膨胀。很多广告拦截列表最终因为什么都想管而变得臃肿,uAssets 选择克制。但这也意味着,如果你只想去掉页面的新闻通讯弹窗,uAssets 帮不了你,你需要找其他专门处理骚扰元素的列表,比如 Fanboy's Annoyance List。

报告问题的标准流程,以及为什么它很重要

README 给出了详细的故障报告步骤。用户需要先禁用所有其他浏览器扩展,确认问题是否仍然存在。如果问题依旧,就进入 uBO 或 uBO Lite 的界面,点击盾牌图标,进入聊天图标,找到故障排除信息,复制全部内容,粘贴到对应的 GitHub 线程。这个过程看似繁琐,但它保证了维护者能拿到足够的上下文。故障排除信息包含当前页面的 URL、生效的过滤规则、uBO 的版本等信息,没有这些,维护者无法复现问题。README 还特别警告:不要同时使用其他同类广告拦截器,否则可能导致网页破损或结果不确定。这条警告不是空话,两个拦截器同时运行,规则会互相冲突,产生难以排查的故障。

与 EasyList 的分工:先修 EasyList,再考虑 uAssets

README 明确说,优先在 EasyList 中修复过滤问题。只有需要扩展语法的规则,或者高流量网站的 EasyList 兼容修复,才会进入 uAssets。这个分工很清晰:EasyList 是基础过滤列表,覆盖绝大多数常见广告;uAssets 是补充,处理 EasyList 无法解决的难题。实际操作中,如果你发现某个网站广告没被屏蔽,第一步应该是去 EasyList 报告,而不是直接提交给 uAssets。只有当问题需要扩展语法时,uAssets 才是正确的去处。这个流程避免了两个仓库重复劳动,也保证了规则的一致性。但这也意味着,uAssets 的规则更新速度受限于 EasyList 的处理节奏,对于 EasyList 尚未覆盖的高流量网站,uAssets 会临时添加兼容修复,但最终还是要迁移回 EasyList。

维护成本与许可证:GPL-3.0 的含义

uAssets 采用 GPL-3.0 许可证,这意味着仓库中的过滤规则被视为软件作品,任何分发或修改都必须以相同许可证发布。对于普通用户,这没有实际影响,你只是使用规则。对于想在自己的项目中引用这些规则的开发者,你需要确保你的项目也采用 GPL-3.0 兼容许可证,或者将规则作为独立组件分发。维护成本方面,仓库依赖社区提交问题报告和规则,维护者负责审查和合并。由于规则直接影响用户浏览体验,错误的规则可能导致网页功能失效,因此审查过程必须谨慎。仓库要求贡献者提供完整的故障排除信息,这实际上是把一部分测试成本转移给了用户。如果你不能接受这种协作方式,可能更适合使用预编译的过滤列表,而不是参与贡献。

编辑结论

uAssets 适合两类人:一是遇到广告拦截导致网页破损的普通用户,他们需要按 README 的步骤提交故障信息;二是想为 uBO 贡献过滤规则的开发者,他们必须掌握扩展语法并理解 EasyList 优先原则。不适合的人包括:想请求新过滤列表的人,仓库明确拒绝此类请求;想处理付费墙、成人农场或社交组件等骚扰元素的人,这些不在范围内。采用前应先验证:你遇到的破损是否属于 README 列出的七类例外,如广告重新插入或反拦截,若是则提交到对应 GitHub 线程;若问题能用 EasyList 语法解决,应先向 EasyList 报告,uAssets 只接收需要扩展语法的规则。这个仓库的价值在于它严格划定了自己的边界,拒绝模糊地带,这正是它能够长期稳定维护的原因。

官方来源

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

社区笔记