shadows
(shadows)
October 19, 2025, 8:31am
1
原文链接:https://linux.do/t/topic/1060190
根据uBlock Origin自己的介绍:
uBlock Origin高度依赖webRequest API来实现在内容加载前拦截不需要的内容。在MV3框架下,webRequest API功能受限,扩展程序被要求改用新的declarativeNetRequest API。这套新API仅支持预定义规则,却缺乏uBlock Origin实现高级内容拦截所需的动态处理能力。
相信不少正在使用uBlock Origin Lite(MV3上可用)的用户都发现了:无法添加自定义规则列表,只能使用插件自带的规则列表,并且自带列表不能自动更新,只有插件升级时才能更新。其他uBlock Origin有,但是uBlock Origin Lite 无法使用的详见: Frequently asked questions (FAQ) · uBlockOrigin/uBOL-home Wiki · GitHub
但有开发者发现,学校/企业的网络过滤扩展还依赖于webRequest API,Chrome可能会长期保留这个接口,只是不允许大多数插件使用它,只要将插件添加到白名单里,还是继续用webRequest API的。于是就有了这个MV3移植版,保留了所有MV2版的功能
Ported this in an evening because the policy finally kicked the bucket in my Chrome install. It works reasonably well and I haven't found any issues with stability or importing external rules yet.
26 points —
4 comments —
r58playz —
4:23 PM - 12 Jul 2025
仓库链接:GitHub - r58Playz/uBlock-mv3: Full MV3 port of uBlock Origin - An efficient blocker for Chromium and Firefox. Fast and lean.
但是没有提供编译好的插件文件,https://linux.do/t/topic/1060190 原帖的作者就建立一个自动编译仓库发布zip和crx插件:Releases · Solvaxis/uBlock-MV3-Build · GitHub
非官方构建,请自行鉴别是否安全!
安装方法:
CRX 格式
下载 .crx 文件
拖放到 Chrome 扩展程序页面
快捷方式的目标处添加:--allowlisted-extension-id=pflplnojjfonndbeadndbbmfdmaenpoc
如图:
在 uBlock Origin 扩展设置中启用“允许用户脚本”
重启Chrome
ZIP 格式
下载 .zip 文件
在Chrome中加载未打包的扩展程序
获取extension_id,替换下一步的<extension_id>
如图:
快捷方式的目标处添加:--allowlisted-extension-id=<extension_id>
如图:
在 uBlock Origin 扩展设置中启用“允许用户脚本”
重启Chrome
注意:安装的插件只对使用快捷方式打开的Chrome有效
可以尝试不对快捷方式设置命令行参数,而是使用企业策略
8 Likes
lorien
October 19, 2025, 9:48am
3
这是一个很好的想法呐,但是规则齐全不,后续支持怎么样,能否上架商店在线更新呢
我这边用着 lite 其实也感觉不到区别
shadows
(shadows)
October 19, 2025, 10:00am
4
规则齐全不
uBlock Origin 原版自然是可以自由添加,并且支持的规则类型比lite更多
后续支持怎么样,能否上架商店在线更新
这个版本目前还在跟随uBlock Origin 原版更新,不过我觉得只要mv3能用,不更新都行。不可能上架的,你看安装说明,必须设置启动参数才能用,商店不允许的。要是能直接用的话,官方原版为什么不用呢?google不允许大部分插件使用webRequest API接口的
lorien
October 19, 2025, 10:06am
5
这种的话,如果设置好了,能跟着 Google 账号同步设置么,要是每次都需要这么设置,就麻烦了
shadows
(shadows)
October 19, 2025, 10:09am
6
忘记了,我嫌麻烦还没安装这个坂本,如果uBlock Origin 原版支持同步的话就有
快捷方式的命令行参数肯定得自己设置的,但每个电脑也就一次
tjsky
(去年夏天)
October 19, 2025, 12:50pm
8
为什么要用启动参数方式?注册表企业策略方式不可以吗?
我记得可以用
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionInstallForcelist]
"1"="<extension_id1>"
"2"="<extension_id2>"
"3"="<extension_id3>"
这个企业策略启用扩展。
——————
在chrome 140.0.7339.81 上测试通过
使用Gtihub 上的crx安装注册表键值为:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionInstallForcelist
"1"="pflplnojjfonndbeadndbbmfdmaenpoc"
1 Like
shadows
(shadows)
October 19, 2025, 1:49pm
10
注册表是要重启生效吗?我试了下没用啊。快捷方式设了重启chrome是有用的
是crx安装
注册表设置后在chrome://policy/ 有显示但是屏蔽效果不如快捷方式的
测试我是看 https://adblock-tester.com/
快捷方式设置后:
设置注册表:
tjsky
(去年夏天)
October 19, 2025, 1:50pm
11
macOS我也不太懂,可以参考谷歌写的文档:
Mac/Linux preference name: ExtensionInstallAllowlist
<array>
<string>extension_id1</string>
<string>extension_id2</string>
</array>
tjsky
(去年夏天)
October 19, 2025, 2:02pm
13
好了,经过验证,确实应该用:ExtensionInstallForcelist才可以。
改用ExtensionInstallForcelist后,测试分数达到96分
shadows
(shadows)
October 19, 2025, 2:07pm
14
You do not have permission to use blocking webRequest listeners. Be sure to declare the webRequestBlocking permission in your manifest. Note that webRequestBlocking is only allowed for extensions that are installed using ExtensionInstallForcelist.
估计是ExtensionInstallForcelist
1 Like
tjsky
(去年夏天)
October 19, 2025, 2:20pm
15
确实是ExtensionInstallForcelist才对
ExtensionInstallallowlist,只是让扩展允许被安装并启用,无法授予Manifest V3 中需要 Web Request Blocking 等特殊权限
ExtensionInstallForcelist(扩展程序强制安装列表)策略来强制安装扩展。当扩展程序是通过强制安装策略部署时,Chrome 会解除对该扩展的 webRequestBlocking 限制。(实际是chrome会放弃审核扩展的权限,扩展申请什么权限就给什么权限)你也无法在chrome内关闭该扩展,除非删除这条企业政策
shadows
(shadows)
October 19, 2025, 2:21pm
16
你是crx安装的吗?我设置ExtensionInstallForcelist后直接被chrome禁用了……
tjsky
(去年夏天)
October 19, 2025, 2:22pm
17
是的,不行就ExtensionInstallAllowlist和ExtensionInstallForcelist都启用试试
shadows
(shadows)
October 19, 2025, 2:29pm
18
都添加还是不行,如果不添加ExtensionInstallForcelist反而能启用
真搞不定了,莫名其妙就是ExtensionInstallForcelist里的不让启用