浏览器插件停用的解决方案

  • 2026-08-22 11:41:04

临时解决方案(chromium138后失效)

arc 不讓用暴力猴 悲

开发调优

[PixPin_2025-04-08_09-54-44]

就是这么处理,violentmonkey中没有脚本是因为这是新建的用户,我没有装

arc这浏览器注册不了,所以没法给你演示,但是user data数据在

AppData\Local\Packages\TheBrowserCompany.Arc_ttt1ap7aakyb4\LocalCache\Local\Arc\User Data

数据迁移方案(MV2的数据迁移到chromium139及以后的版本依旧无效)

arc 不讓用暴力猴 悲

开发调优

这些脚本都是加密后存在

中,所以你复制这些文件夹到安装了violencemonkey的新的userdata\default文件夹中,你的脚本就回来了。更多信息参考 3 个故事,帮你解决 99% 的浏览器问题 - 奔跑中的奶酪

注册表方案(chromium138后失效)

arc 不讓用暴力猴 悲

开发调优

可以用这个方法续命到六月

macOS 下终端运行 defaults write company.thebrowser.Browser.plist ExtensionManifestV2Availability -int 2

Windows 下的 chrome 可以在注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Policies 下新建 “chrome” 文件夹,添加 Exte…

chrome://flags方案(chromium138后失效)

Running unpacked chrome extensions through the manifest V2 deprecation - Stack Overflow

神秘原因

一家很神秘的,众所周知的,广告收入占据八成的,准备停止AOSP开源项目的,曾经的slogan是“不作恶”的,传奇“不垄断”的公司为了防止“插件权限过大影响用户安全”早就正式启动了一个在25年6月淘汰所有 manifest v2 插件的神秘计划,目前正在如火如荼的进行淘汰流程,想必大家在安装插件时都看到了这个吧:

同时,大家是不是某一天在一次浏览器神秘更新之后,打开某些链接,嗯?怎么这么多广告?然后一看插件,发现因为一些神秘原因,很多插件被自动停用了。

browser便携化-202503210252152112180×571 45 KB

image1066×362 14.6 KB

而我们进入插件市场一看,欸?怎么回事。

image2195×586 53.6 KB

插件都装不了了!

这个神秘的传奇公司就是Google,而这个浏览器将会是chrome,edge,Vivaldi等一系列chromium内核的浏览器。Google这次将会推动chromium彻底废弃对manifest v2插件的支持,而在6月之后所有MV2violentmonkey,ublock origin,adguard的插件都会被被执行死刑……吗?

补救措施

答案是否定的,先不提Firefox系的所有浏览器都不会受到影响,Firefox宣布在可见的未来不会废弃对MV2的支持。

一众chromium系的浏览器公司和个人开发者都不会因此而屈服 ,Vivaldi浏览器明确指出它会支持MV2插件到25年6月(? ),brave浏览器含糊其辞的说假设(?)浏览器插件作者会和它合作继续维护,同时还要依据Google的计划(?)来判断是否能继续维持对4个(?)浏览器插件的支持!

“目前,我们计划明确支持的 MV2 扩展程序是 AdGuard 广告拦截器 、NoScript、uBlock Origin 和 uMatrix。这项功能将是尽力而为:我们可能会根据 Google 的计划或扩展程序作者最终决定的情况来修改支持。如果扩展程序变得过时或过时,我们可能会移除对它们的支持,而不是为用户提供过时(甚至可能是不安全的)的体验。”

相较于这些商业公司,个人开发者给出支持MV2插件的承诺,(但是不能确定是否能维持这么大一个chromium的维护),比如Releases · win32ss/supermium · GitHub ,thromium,UNGoogle chromium(未确定)

ublock origin推出了ublock origin lite,adguard也推出了v3版本

tampermonkey更新到了MV3,仍然支持导入用户脚本

这一切对抗MV2废弃的方法看起来都很好。那么,代价是什么呢?

代价

TL;DR (太长不看版 - 适合科技小白)

广告拦截器变弱了: MV3限制了广告拦截器自定义规则的数量和能力,虽然还能用,但可能没以前那么强大和灵活了,未来更新规则变慢,比如YouTube又更新广告,插件要等待应用商城审核过才能更新 。

脚本/样式管理器体验下降: 像油猴脚本管理器 (Tampermonkey) 或样式管理器 (Stylus) 这类扩展,可能会因为MV3的限制导致运行变慢、页面加载时出现闪烁(样式突然应用)、或者无法在第一时间运行脚本/应用样式。

安全隐私提升有限: Google说MV3更安全,但批评者认为实际提升不大,反而限制了好工具,而且应用商店里骗人的扩展依然存在。

Google的小心思? Google是全球最大的广告公司,MV3削弱了广告拦截器,很难不让人怀疑这背后有商业利益的考量,尽管他们声称是为了用户安全和性能。

详细技术细节版 (适合科技爱好者)

MV3相对于MV2的主要缺点及影响:

1. 对广告拦截器的影响:

核心API变更 - webRequest被削弱:

MV2中强大的 webRequest API允许扩展(如uBlock Origin)实时拦截、检查、修改甚至阻止网络请求,拥有完全的过滤引擎控制权。

MV3强制转向 declarativeNetRequest API。这意味着扩展不再能实时检查所有请求内容,而是预先向浏览器提供一套声明式规则(Declarative Rules),由浏览器本身根据这些规则进行匹配和处理。

规则数量限制与管理复杂性:

规则数量大幅减少:

静态规则(随扩展打包): 每个扩展保证最低30,000条,所有扩展总上限330,000条(其中正则表达式规则每个扩展限制1,000条)。这远低于现有主流广告拦截器使用的规则数量(如EasyList等列表轻松超过这个数)。一个扩展可能用尽大部分限额,影响其他扩展。

动态规则(用户自定义或更新): 总上限仅5,000条(其中正则1,000条)。超出部分无效。

规则语法不兼容: declarativeNetRequest 的规则语法与当前广泛使用的AdBlock Plus (ABP) 风格过滤列表(如EasyList, EasyPrivacy)差异巨大,维护现有生态系统变得极其复杂和困难。开发者需要投入巨大精力转换和维护仅适用于Chrome MV3的规则集。

更新延迟: 过滤器更新需要通过Chrome Web Store审核,无法像MV2那样快速推送更新,导致对新广告或追踪器的响应变慢。

潜在的过滤能力下降:

虽然AdGuard等开发者声称仍能提供“几乎相同”的过滤质量,但这依赖于在有限规则内进行优化,且失去了webRequest提供的精细控制能力,对于复杂的、动态生成的广告或需要上下文判断的拦截场景可能力不从心。

浏览器现在是规则执行者,理论上浏览器供应商(如Google)可以选择性地忽略或不完全执行某些广告拦截规则。

2. 对脚本管理器 (如 Tampermonkey, Violentmonkey) 和 CSS 修改器 (如 Stylus) 的影响:

后台机制改变 - Service Workers 替换 Background Pages:

MV2的持久性后台页面(Background Page)被MV3的Service Worker取代。Service Worker是事件驱动的,且会被浏览器频繁终止(通常在闲置30秒后)以节省资源。

性能与体验问题:

启动延迟: 当需要执行操作时(如新页面加载),如果Service Worker处于休眠状态,需要先唤醒和初始化(耗时约50-500ms,甚至AdGuard提到1.5-2秒的规则加载时间)。

FOUC (Flash of Unstyled Content - 未样式化内容闪烁): 对于CSS修改器,由于Service Worker启动延迟,无法保证在页面渲染前及时注入样式,导致用户先看到原始页面,然后样式才突然应用,体验极差。

脚本注入时机不可靠: 对于需要在document_start(页面DOM构建前)运行的用户脚本,MV3的延迟使得可靠的早期注入变得困难,依赖webRequestBlocking的同步模式也消失了。

资源浪费: Service Worker频繁启动和停止,反而可能比持久性后台页面消耗更多总资源(CPU、电量),尤其对于需要监控导航的扩展。

userScripts API 限制 (影响脚本管理器):

不支持正则表达式匹配URL: 导致需要将带有正则匹配规则的脚本注入到所有页面/框架中,然后在页面内进行匹配检查,每次都需要重新编译正则表达式,效率低下。

不支持智能黑名单。

GM_setValue 同步问题: 由于 GM_setValue/GM_getValue 是同步的,且Service Worker可能随时终止,存储数据需要嵌入脚本代码中并在每次更改时重新注册整个脚本,这会带来巨大的开销。

无法有效避免 FOUC (影响CSS修改器):

唯一可能避免FOUC的方法是使用 chrome.scripting.registerContentScripts 配合 world: ‘MAIN’ (需要特殊权限,甚至可能需开发者模式),但这被认为有风险,可能被商店拒绝,且不支持复杂的匹配规则(如 @-moz-document),同样面临注入大型样式到所有页面的性能问题。

同时在chromium138之后的所有MV2插件都无法从Chrome web store上安装,这意味着google账户同步也无法同步你的插件,有同步功能但没有自己的插件库的浏览器也无法同步MV2插件,所以你需要备份所有MV2插件。 太伟大了,Google。

友情链接
Copyright © 2022 中国世界杯_多哈世界杯 - dianxinto.com All Rights Reserved.