1、插件开发
开发插件可以参考 官方文档 按照官方文档开发即可
2、调试插件
chrome打开 chrome://extensions/ 地址 开启 开发者模式
开启后会显示出三个选项 而且会显示出插件的id,这个id就是插件的唯一id
3、打包(升级)插件
加载以解压的扩展程序 该按钮可以直接加载通过zip解压的crx插件,该方法对任意的crx解压后的插件都有效
打包扩展程序 该按钮可以把本地已经开发好的插件打包成一个crx插件包,可以用于分发到插件市场给全网使用
扩展程序根目录就是本地的插件源码目录
私钥文件 如果是新的插件该选项不填即可
点击打包后 会自动生成两个文件 (如果已经选择了私钥的话只生成crx文件)
一个是crx的压缩包(最终分发出去的插件包)
一个是对应的pem 私钥文件(对应插件的唯一key),该私钥文件是对应插件的密钥 用于后续对同一个插件升级使用
4、安装插件
1、市场安装 插件按照官方文档分发即可
2、静默安装
静默安装分为两种情况,
一种是插件分发到插件市场 直接通过chrome 政策 策略 即可安装 参考文档
还有一种是不发布直接强制安装,由于chrome的安全策略,不允许安装任何插件市场外的三方crx插件,想要安装私有crx只有通过企业版的chrome进行管理才允许安装私有插件
但是经过不断测试,发现一种不需要企业管理,强制安装私有crx插件的方法
1、获取crx的appid
打包后的插件会生成一个密钥,通过该密钥可以计算出appid计算方法如下
在git-bash中输入如下命令
生成一个新的私钥 openssl genrsa 2048 | openssl pkcs8 -topk8 -nocrypt -out key.pem 私钥生成公钥: openssl rsa -in key.pem -pubout -outform DER | openssl base64 -A 私钥生成插件 appid: openssl rsa -in key.pem -pubout -outform DER | shasum -a 256 | head -c32 | tr 0-9a-f a-p
2、通过注册表自动安装插件
参考文档 通过该方法可以让浏览器自动安装上插件,但是插件是禁用状态
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Google\Chrome\Extensions\jcboicmadhcofclkdhcgnlpfkehljdja] "path"="c:\\test\\getting-started.crx" "version"="1.0" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Google\Chrome\Extensions\jcboicmadhcofclkdhcgnlpfkehljdja] "path"="c:\\test\\getting-started.crx" "version"="1.0"
重启浏览器后可以在插件列表中看到已经被禁用的插件 如下图
如果添加了上面注册表没有生效的话 则该插件被用户手动卸载过
可以通过修改 C:\Users\<USER>\AppData\Local\Google\Chrome\User Data\Default\Preferences
文件
该文件是一个压缩json格式,编辑后需要保持json是压缩的,删除 extensions.external_uninstalls
字段下对应的appid 重启浏览器即可安装成功
通过检查注册表项 [HKEY_CURRENT_USER\Software\Google\Chrome\PreferenceMACs\Default\extensions.settings\<appid>]
来检查插件是否安装成功
当chrome自动安装好了以后 写入如下注册表项可以强制启用插件,并且自动激活了chrome企业管理模式
[HKEY_LOCAL_MACHINE\Software\Policies\Google\Chrome\ExtensionInstallAllowlist] "1"="jcboicmadhcofclkdhcgnlpfkehljdja" [HKEY_LOCAL_MACHINE\Software\Policies\Google\Chrome\ExtensionInstallForcelist] "1"="jcboicmadhcofclkdhcgnlpfkehljdja"
写入后重启浏览器查看插件页面如下显示,该插件不可关闭,不可卸载
经过测试 在chrome运行过程中,可以直接一次性写入所有注册表项,重启浏览器即可强制安装crx插件,
如果当前chrome没有启动,则需要按照上文顺序安装
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Google\Chrome\Extensions\jcboicmadhcofclkdhcgnlpfkehljdja] "path"="c:\\test\\getting-started.crx" "version"="1.0" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Google\Chrome\Extensions\jcboicmadhcofclkdhcgnlpfkehljdja] "path"="c:\\test\\getting-started.crx" "version"="1.0" [HKEY_LOCAL_MACHINE\Software\Policies\Google\Chrome\ExtensionInstallAllowlist] "1"="jcboicmadhcofclkdhcgnlpfkehljdja" [HKEY_LOCAL_MACHINE\Software\Policies\Google\Chrome\ExtensionInstallForcelist] "1"="jcboicmadhcofclkdhcgnlpfkehljdja"