adblockplus 中文文档 下载 App

Chrome Manifest V3 对 Adblock Plus 的影响:service worker 休眠与规则数量限制

Manifest V2 到 V3 的核心变化

2023 年起 Chrome 逐步停止支持 Manifest V2 扩展,2025 年 1 月 MV2 扩展彻底下线。Adblock Plus 不得不迁移到 MV3。

MV3 带来的两个关键约束直接影响拦截器:

约束一:Service Worker 替代后台脚本

对 ABP 的影响:

约束二:declarativeNetRequest 规则数量上限

Chrome 对每个 MV3 扩展的静态规则数有硬上限:

EasyList 主列表已经有两万多条,EasyList China 加 EasyPrivacy 再加 Fanboy 系列,总量可能超过 30 万。这迫使 ABP 必须做规则压缩和动态合并——某些不常用的规则要移出静态声明式规则,改由扩展代码动态处理。

ABP 的 MV3 适配方案

Eyeo 采用了三层架构:

  1. 静态声明式规则:最常用、最高频的拦截规则(来自 EasyList 等),预加载到 Chrome 的 declarativeNetRequest API;
  2. 动态规则注入:Service Worker 运行时根据需要,临时把某些规则注入到 Chrome 的动态规则集里;
  3. 元素隐藏 CSS 注入:这部分一直走 content script,不受 MV3 约束。

这个方案让 ABP 在 MV3 下的拦截能力基本等价于 MV2,但有细微差异:

和 uBlock Origin Lite 的对比

uBlock Origin 也拆成了两个版本:

两者的 MV3 适配方案类似,但:

Firefox 的状况

Firefox 仍支持 MV2(没有强制迁移 V3),所以 Firefox 上的 ABP 仍能用完整的 MV2 能力。这也是为什么很多重度拦截器用户转向 Firefox 的原因之一。

用户层面要不要关心 MV3

不需要直接关心它的技术细节。你只需要知道: