配了八年 Chrome 插件,今天 uBlock Origin 从商店消失了——Manifest V3 把这件事从根上翻了
8 月 31 号,Google 把所有 Manifest V2 扩展从 Chrome Web Store 永久下架。uBlock Origin 在列,uMatrix 在列,NoScript 在列,连同过去几年所有没来得及搬家的老插件,一夜之间在 Chrome 的官方市场里彻底蒸发。
这不是某个插件出了问题。这是 Google 用了四年完成的浏览器扩展生态迁移的最后一刀。
V2 给了插件什么,V3 把它收走了
Manifest V2 时代,插件用 webRequest API 能看到浏览器的每一个网络请求,在请求发出之前实时判断要不要拦截。uBlock Origin 就是靠这个能力,对 EasyList 里 30 万+ 条规则做动态判断,看到广告域名就取消请求、看到追踪器就扔掉。
Manifest V3 改成了 declarativeNetRequest:插件提前把规则列表提交给浏览器,之后每个请求由 Chrome 自己的 C++ 代码判断,不再经过插件的 JavaScript。换句话说,插件的代码永远看不到你访问了哪个 URL,只能提前列一张白名单,Chrome 按名单查表放行或拦截。
规则数量也有上限。Google 顶住压力把上限提到了 33 万,但 uBlock Origin 全盛时期用的规则超过 100 万条,而且每天更新——这在 V3 的模型里根本塞不进去。
开发者说了「不」
uBlock Origin 的作者 Raymond Hill(gorhill)说得直接:「完整版不会有 Manifest V3 版本。」他做了 uBlock Origin Lite,是 V3 兼容版,但牺牲了动态过滤、化妆品过滤(广告被拦后留下的空白占位处理)和反反广告拦截。Hill 自己的估计是:V3 环境下有效拦截率下降 30~40%。
这不是技术做不上去,是 V3 的架构从根本上限制了这种能力。
为什么 Brave 能继续运行,Firefox 能用完整版
Brave 是个例外。它的 Shield 广告拦截是在 Chromium 引擎层写的,不走 Chrome 的扩展 API,V3 限制管不到它。Brave 自己托管了四个 MV2 插件:AdGuard、uBlock Origin、uMatrix、NoScript,从自己的服务器分发,不依赖 Chrome Web Store。所以装 Brave 还能用完整版 uBlock Origin。
Firefox 是另一个路数。Mozilla 继续在 Firefox 的 MV3 实现里保留了 webRequest blocking API,两个版本并行,完整版 uBlock Origin 在 Firefox 上功能不受任何限制。所以要完整拦截能力,Firefox 是最干净的答案。
你在中国能做什么
如果你或你的用户在用 Chrome,现在实际的选择有三个:
一是接受 uBlock Origin Lite。它能拦大多数主流广告,YouTube 视频广告漏报率比完整版高,但日常浏览够用。二是换 Firefox 或 Brave。Brave 是 Chromium 内核,功能和 Chrome 基本一致,过渡成本最低;Firefox 拦截能力最强,但生态和 Chrome 有些差异。三是接受现实,减少对插件的依赖——浏览器自带隐私保护、DNS 层面拦截(Pi-hole / NextDNS)作为补充。
这件事还没完
Microsoft Edge 和 Opera 都是 Chromium 内核,Google 把 MV2 代码路径从上游移除后,它们维护独立 MV2 支持的成本会越来越高。Edge 已经宣布跟进,Opera 态度暧昧但表示最终也会迁移。Chrome 这次清场之后,Chromium 系浏览器里能跑完整版 uBlock Origin 的,短期内只剩 Brave 一家。
这不是安全更新的问题,不是某个插件不努力的问题。webRequest blocking → declarativeNetRequest 这个架构切换,把「插件能看到什么」和「插件能决定什么」这两件事彻底拆开了。插件的权限被收走,这是设计目标,不是副作用。
评论区
登录后可评论。