-
Notifications
You must be signed in to change notification settings - Fork 40
部署 uBlock Origin
对于这些管理员要做的事我并不是很了解,所以我会让更在行的人来指导你:
- 通过 SwiftOnSecurity 来管理 Google Chrome 的广告屏蔽和安全功能
- 通过 SwiftOnSecurity 来使用 CCK2 和组策略部署 Firefox 版本的 uBlock Origin
管理员可以强制已部署的 uBlock Origin("uBO") 套用特定的配置。在启动期间,uBO 会查找一个名为 adminSettings
的设置,如果有找到,则会使用管理员指定的设置来解析、提取和覆盖用户自己的设置。
对于 Firefox,请参考 Mozilla 文档中关于 “Native manifests” 的部分("Managed storage manifests" 及其路径这段)。你也可以看看是 uBO issue 跟踪里的这条评论。
对于 Firefox 旧版,adminSettings
设置项必须添加到 about:config
,首选项名称为 extensions.ublock0.adminSettings
,值必须为一个普通字符串以保证能被解析成 JSON。
对于 Chrome,adminSettings
设置项必须是扩展策略的一部分。参见 http://www.chromium.org/administrators/configuring-policy-for-extensions。
这种部署方式还是一个半成品,它有一些限制。例如,它还无法做到将管理员设置和用户设置进行合并,它只能是被覆盖。如果时间允许的话,我希望最终能解决这个问题(参见 https://github.com/gorhill/uBlock/issues/832#issuecomment-248138558)。
adminSettings
的内容相当简单:根据你的需要为你的用户配置好 uBO,接着使用_设置_ 版块的_“备份到文件”_ 功能创建一个备份。现在你可以使用一个文本编辑器打开这个备份文件,删除所有你不想覆盖的设置项,并注意以一个有效的 JSON 文件作为结尾(介意使用逗号结尾等)。用户侧其余的设置项就将被覆盖。
举个例子,我在自定义好 uBO 以后创建了一个备份文件,然后删除了_"Color-blind friendly"_ 以外所有的设置项以便它强制在用户侧生效。最终的文本文件显示如下:
{
"userSettings": {
"colorBlindFriendly": true
}
}
在这里,adminSettings
的值本身必须是一个普通字符串,这意味着我们需要使用 JSON.stringify
将上述文本编码为字符串。这里我提供一个小工具帮助各位处理这个环节:http://raymondhill.net/ublock/adminSetting.html。
“规则列表”版块的内容可以通过提供的自定义版本 assets.json
文件进行配置。
修改后的 assets.json
文件地址必须添加到 assetsBootstrapLocation
键值里。
具体实现方式详见:#2314
下面是在部署 uBO 时与自定义设置有关的 issue,里面的一些建议可能会对你有所帮助:
uBlock Origin - 一款支持 Chromium、Firefox 和 Safari 的高效过滤工具,快速且简洁