配置 Chrome Policy 安装来自 github release 的 crx 插件

问题

来自于自己开发的插件问题。

之前是通过 zip 包开发模式安装,有个很恶心的问题是,每次通过 zip 包安装新版本的时候,都会生成一个新的扩展插件 id,配置无法共享,且存在多个插件。

于是就考虑发布 crx 格式的插件,如果使用同一个私钥打包,生成的 ID 是同一个,可以正常升级。

但是在新的 Chrome 版本中,无法安装 crx 格式的插件,严格限制需要从插件商店下载的插件才能安装。

开发模式下直接拖入 crx

点击链接直接下载

解决方案

配置 Chrome Policy,相关文档:Chrome Enterprise and Education

根据不同的平台,安装文档的说明来配置,可以解决无法安装的问题。

我这里是 macOS sonoma 14.5,简单说一下如何配置。

  1. 创建 com.google.Chrome.plist 文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>ExtensionInstallAllowlist</key>
  <array>
    <string>jbicbgijbjgjefidndkeekgihopncjkk</string>
  </array>
  <key>ExtensionInstallSources</key>
  <array>
    <string>https://objects.githubusercontent.com/*</string>
    <string>https://github.com/oustn/cookie-sharer/releases/*</string>
  </array>
</dict>
</plist>

其中:

  • ExtensionInstallAllowlist 是一个字符串数组,值是需要配置白名单的插件 ID
  • ExtensionInstallSources 是一个字符串数组,值是 crx 文件下载的地址匹配字符串,有个很重要的点就是:如果文件会 307,需要把实际的下载文件地址和 307 地址都加入白名单
  1. 将 plist 文件转换为 mac 的描述文件,可以使用 mcxToProfile on github
mcxToProfile --plist ./com.google.Chrome.plist --identifier com.google.Chrome
  1. 在目录中会生成一个 com.google.Chrome.mobileconfig 的文件,双击,会提示在 设置 安装


点击安装

  1. 重启 chrome,chrome://policy/ 可以查看是否生效

  1. 打开 github release 页面,点击 crx 链接安装

  1. 其他平台可以参考官方链接
4 个赞

感谢分享~~

感谢大佬分享!

想用PT-Plugin-Plus ptpp crx的也可以看看这个,更简单明了
crx可以自动更新一劳永逸,操作能力强的看楼主