Skip to content

部署 uBlock Origin

fang5566 edited this page Feb 1, 2019 · 15 revisions

对于这些管理员要做的事我并不是很了解,所以我会让更在行的人来指导你:

自定义设置

管理员可以强制已部署的 uBlock Origin("uBO") 套用特定的配置。在启动期间,uBO 会查找一个名为 adminSettings 的设置,如果有找到,则会使用管理员指定的设置来解析、提取和覆盖用户自己的设置。

对于 Firefox,请参考 Mozilla 文档中关于 “Native manifests” 的部分("Managed storage manifests"其路径这段)。你也可以看看是 uBO issue 跟踪里的这条评论

对于 Firefox 旧版adminSettings 设置项必须添加到 about:config,首选项名称为 extensions.ublock0.adminSettings,值必须为一个普通字符串以保证能被解析成 JSON。

对于 ChromeadminSettings 设置项必须是扩展策略的一部分。参见 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

修改内置规则列表的内容Modifying the list of stock assets

“规则列表”版块的内容可以通过提供的自定义版本 assets.json 文件进行配置。

修改后的 assets.json 文件地址必须添加到 assetsBootstrapLocation 键值里。

具体实现方式详见:#2314

进一步了解

下面是在部署 uBO 时与自定义设置有关的 issue,里面的一些建议可能会对你有所帮助:

Clone this wiki locally