菜单
中文 (简体)

自定义过滤器和快速修复过滤器去哪了?MV3 政策的影响

“自定义过滤器不见了?快速修复过滤器发生了什么?”

由于 Chrome 在 Manifest V3 下实施了严格的远程执行政策 ,我们不得不做出艰难决定:「自定义过滤器」暂时下线,「快速修复过滤器」永久移除。

为什么?原因是,Chrome 禁止注入脚本或使用远程托管代码。尽管此政策的出发点是增强安全性,但措辞过于宽泛,导致连广告拦截规则也受限。因此,「自定义过滤器」和「快速修复过滤器」也被迫移除。

为什么这是个问题?

首先,「快速修复过滤器」原本是 MV3 限制下的临时解决方案。

在 MV3 中,所有 AdGuard 过滤器都内置在扩展程序内,意味着更新只能通过 Chrome 商店审核的完整版本发布。这通常需要数天,导致用户在网站出现问题时只能等待修复,非常不便。

在 MV2 时代,我们通过增量更新实现了快速更新,无需完整扩展更新。但 MV3 不再允许这种方式,因此我们开发了「快速修复过滤器」作为替代方案,以便能即时推送修复规则。

然而,即使我们尽力配合 Chrome 政策(具体过程详见下文),最终还是不得不将其彻底移除。这是一个重大损失

其次,「自定义过滤器」的消失影响更大。

「自定义过滤器」允许用户通过 URL 添加第三方过滤规则,依赖全球志愿者的维护,对广告拦截生态至关重要。我们的内置过滤器无法覆盖所有需求,而「自定义过滤器」让用户能够灵活调整规则,测试和分发自定义规则。

失去「自定义过滤器」不仅会影响用户体验,也削弱整个广告拦截社区的创新能力。正如我们在先前的 MV3 相关文章中所说:真正的受害者是过滤规则开发者。”

我们的解决方案

为了在符合 Chrome 政策的同时保持扩展的实用性,我们会采取以下措施:

  • 将恢复「自定义过滤器」。我们将使用 userScripts API 来实现符合 MV3 规则的自定义脚本执行。

但有一个问题:用户需要手动开启「开发者模式」才能使用,这对部分用户来说可能较复杂。因此,在发布支持「自定义过滤器」的版本后,我们会提供详细的操作指南。

  • 替代「快速修复过滤器」。我们将采用 Chrome 的快速审核流程,以便更频繁地更新过滤规则,而无需完整审核。但此方法也有局限,仅适用于 DNR 规则集和安全规则的更新。

未来,我们的扩展将采用两种更新方式。快速更新:每隔几小时自动推送规则更新,无需完整审核。完整更新:仍需通过 Chrome 应用商店的审核。

从最初的尝试到最终找到这套折衷方案,我们经历了漫长的调整过程。下方时间轴详细记录了我们如何在遵守 Chrome 政策的同时,尽可能保留广告拦截的灵活性。

我们与 Chrome 政策的“斗争”时间线

  • 第一次拒审:远程脚本执行

我们的提交因使用 <script> 标签应用规则而被拒。确实,我们的扩展原本通过 <script> 标签从规则中提取脚本并将其应用到网页。但在 MV3 中,内容安全策略(CSP)比 MV2 更严格,无法直接注入脚本规则,这大大限制了开发者修改网页内容的工具。因此,在某些情况下,我们不得不增强 <script> 标签的注入方式,而这成为了问题。

我们的应对方案:

我们借鉴了在 Firefox 上使用的方案:将脚本规则转换为存储在扩展程序中的本地 JavaScript 函数,以避免 <script> 标签的使用。此外,我们增加了检查机制,确保执行的脚本仅来自内置规则。

然而,对于「用户规则」、「自定义过滤器」和「快速修复过滤器」,我们仍然使用 <script> 进行注入。

这个版本的扩展… 没有通过审核。

  • 第二次拒审:快速修复过滤器的下载

这次,Chrome 认为「快速修复过滤器」的远程下载机制违反了远程执行政策。

我们的应对方案:

我们详细解释了快速修复过滤器的目的,并说明它如何在不违反政策的情况下,解决 MV3 的局限性。

但这些解释仍然无法让 Chrome 审核团队满意,于是…

  • 第三、第四次拒审:快速修复过滤器

为了符合 Chrome 的要求,我们彻底移除了「快速修复过滤器」并重新提交扩展。

然而,扩展依旧被拒。我们随后联系了支持团队,并提交了一个完全禁用快速修复过滤器代码和元数据下载的版本。这个版本最终通过了审核,但…

  • 第五次拒审:脚本模块(Scriptlets)和参数

Chrome 认为脚本 —— 也就是扩展内置的 JavaScript 函数 —— 由于可以使用参数执行,因此仍然违反远程执行政策。

我们的应对方案:

我们将所有脚本模块直接硬编码到扩展程序内。扩展引擎现在会验证规则是否匹配内置过滤类别(如广告拦截或安全规则)。如果匹配,则应用规则,否则直接丢弃。

同时,我们尝试以受限形式重新引入「快速修复过滤器」,但去除了基于 <script> 的执行方式。

尽管我们做出了这些调整,扩展仍然被拒。


更大的问题

当然,我们会找到解决方案,这正是我们一直在做的事。但问题不仅仅是 AdGuard 受影响,Chrome 的政策影响了所有广告拦截器和扩展开发者。

开发者需要 Chrome Web Store 提供更清晰的政策指导和更透明的审核流程。我们希望这个问题能引发更广泛的讨论,以找到安全性与功能性之间的平衡,让开发者和用户都能真正受益。

喜欢这篇文章吗?
19,400 19400 用户评论
完美!

AdGuard Windows版

Windows 版 AdGuard 不只是广告拦截程序,它是集成所有让您享受最佳网络体验的主要功能的多用途工具。其可拦截广告和危险网站,加速网页加载速度,并且保护儿童的在线安全。
下载本程序表示您接受 许可协议 的条款
阅读更多
19,400 19400 用户评论
完美!

AdGuard Mac版

Mac 版 AdGuard 是一款独一无二的专为 MacOS 设计的广告拦截程序。除了保护用户免受浏览器和应用程序里恼人广告的侵扰外,应用程序还能保护用户免受跟踪、网络钓鱼和诈骗。
下载本程序表示您接受 许可协议 的条款
阅读更多
19,400 19400 用户评论
完美!

AdGuard Android版

安卓版的 AdGuard 是一个用于安卓设备的完美解决方案。与其他大多数广告拦截器不同,AdGuard 不需要 Root 权限,提供广泛的应用程序管理选项。
下载本程序表示您接受 许可协议 的条款
阅读更多
19,400 19400 用户评论
完美!

AdGuard iOS版

用于 iPhone 和 iPad 的最佳 iOS 广告拦截程序。AdGuard 可以清除 Safari 中的各种广告,保护个人隐私,并加快页面加载速度。iOS 版 AdGuard 广告拦截技术确保最高质量的过滤,并让用户同时使用多个过滤器。
下载本程序表示您接受 许可协议 的条款
阅读更多
19,400 19400 用户评论
完美!

AdGuard 内容拦截程序

AdGuard 内容拦截器可消除那些支持内容拦截器技术的移动浏览器内的各种广告 —— 具体为 Samsung Internet 和 Yandex.Browser。虽然 AdGuard 内容拦截器相比于 AdGuard 安卓版受更多限制,但其不仅是免费的,而且也易于安装。 还提供较高的广告拦截品质。
下载本程序表示您接受 许可协议 的条款
阅读更多
19,400 19400 用户评论
完美!

AdGuard 浏览器扩展

AdGuard 是快速的、小内存的广告拦截扩展,可高效拦截所有网页上的各种广告!选择所需的 AdGuard 浏览器扩展,您可进行无广告、快速、安全的浏览。
19,400 19400 用户评论
完美!

AdGuard 助手

AdGuard 桌面应用 的配套浏览器扩展。它为浏览器提供了访问自定义元素阻止,将网站列入白名单或发送报告等功能
19,400 19400 用户评论
完美!

AdGuard DNS

AdGuard DNS 是广告拦截、隐私保护及家长控制的简约三合一解决方案。其不但易于设置且免费,无论您使用的是何种平台或设备,都可以提供最基础的保护对抗在线广告、跟踪器及钓鱼。
19,400 19400 用户评论
完美!

AdGuard Home

AdGuard Home 是一款全网广告拦截与反跟踪软件。在您将其安装完毕后,它将保护您所有家用设备,同时您不再需要安装任何客户端软件。随着物联网与连接设备的兴起,掌控您自己的整个网络环境变得越来越重要。
19,400 19400 用户评论
完美!

AdGuard Pro iOS 版

AdGuard Pro 为已经优秀的 Safari 正规版本提供了更卓越的广告拦截服务。通过自定义 DNS 设置可拦截各种广告、保护儿童远离成人内容和保持您个人数据的安全。不过很抱歉,由于中国国内的一些限制,AppStore 暂不提供该应用程序,因此中国地区苹果 ID 账号的用户暂时无法下载 AdGuard Pro。
下载本程序表示您接受 许可协议 的条款
阅读更多
19,400 19400 用户评论
完美!

AdGuard Safari 版

由于 Apple 开始强制要求开发者使用其新的 SDK,面向 Safari 提供的广告拦截扩展正面临一段艰难时光。AdGuard 扩展正致力于将高质量广告拦截功能重新带给 Safari 用户。
19,400 19400 用户评论
完美!

AdGuard Android TV 版

Android TV版 AdGuard 是唯一一款能拦截广告、保护隐私并充当智能电视防火墙的应用程序。获取网络威胁警告,使用安全 DNS,并受益于加密流量。有了安全性和零广告的使用体验,用户就可以尽情享受最喜爱的节目了!
19,400 19400 用户评论
完美!

AdGuard Temp Mail

免费的临时电子邮件地址生成器,保持匿名性并保护个人隐私。你的主收件箱中不会出现垃圾邮件!
19,400 19400 用户评论
完美!

AdGuard Mail β

保护个人身份,避免垃圾邮件,并使用我们的别名和临时电子邮件地址保护收件箱。享受我们的免费电子邮箱转发服务和适用于所有操作系统的应用程序使用体验。
已开始下载 AdGuard 点击箭头指示的文件开始安装 AdGuard。 选择“打开”并点击“确定”,然后稍作等待直至文件加载完毕。在已经打开的窗口中,将 AdGuard 图标拖拽至“Applications”文件夹内即可完成安装。感谢您选择 AdGuard! 选择“打开”并点击“确定”,然后稍作等待直至文件下载完毕。然后,在打开的窗口中点击“安装”即可。感谢您选择 AdGuard!
将 AdGuard 安装到移动设备上