docs: 私有分发改为固定私钥新ID, 同步策略与安装说明
This commit is contained in:
+2
-2
@@ -1,7 +1,7 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionInstallForcelist]
|
||||
"1"="dpcmpkmjkcenjpfcmkoohkcnhbomgmej;file:///E:/gitea/Chrome%20extension/auto-login/updates.xml"
|
||||
"1"="lddeabellmfjcgfopecibkfemdkbnmhb;file:///E:/gitea/Chrome%20extension/auto-login/updates.xml"
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome]
|
||||
"ExtensionInstallSources"="file:///*"
|
||||
"ExtensionInstallSources"="file:///*"
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
|
||||
<app appid='dpcmpkmjkcenjpfcmkoohkcnhbomgmej'>
|
||||
<updatecheck codebase='file:///E:/gitea/Chrome%20extension/auto-login.crx' version='1.0.0' />
|
||||
<app appid='lddeabellmfjcgfopecibkfemdkbnmhb'>
|
||||
<updatecheck codebase='file:///E:/gitea/Chrome%20extension/auto-login/release/auto-login.crx' version='1.0.0' />
|
||||
</app>
|
||||
</gupdate>
|
||||
</gupdate>
|
||||
+88
@@ -0,0 +1,88 @@
|
||||
# 私有分发安装说明 — Auto Login Manager
|
||||
|
||||
本扩展通过**企业策略 + 自托管 crx** 在受控机器上安装,不走 Chrome 应用商店。
|
||||
特征是扩展 ID 固定、可离线/内网安装、可覆盖更新。
|
||||
|
||||
---
|
||||
|
||||
## 1. 关键标识
|
||||
|
||||
| 项 | 值 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 扩展 ID | `lddeabellmfjcgfopecibkfemdkbnmhb` | **由 `release/auto-login.pem` 公钥派生,固定不变** |
|
||||
| 扩展包 | `release/auto-login.crx` | 用上面同一把私钥签名 |
|
||||
| 版本 | 1.0.0 | 与 `manifest.json` 一致 |
|
||||
| 策略文件 | `install-policy.reg` | 强制安装注册表 |
|
||||
| 更新清单 | `updates.xml` | 指向 crx 的更新入口 |
|
||||
|
||||
> ⚠️ **私钥即身份**:一旦丢失或更换 `auto-login.pem`,扩展 ID 会变成新的,所有已装机器上的旧 ID 扩展将失效,需重装。**务必在安全位置备份 `release/auto-login.pem`,切勿提交到 git / 外发。**
|
||||
|
||||
---
|
||||
|
||||
## 2. 产物清单(release/)
|
||||
|
||||
| 文件 | 作用 |
|
||||
| --- | --- |
|
||||
| `auto-login.crx` | 已签名扩展包,分发给目标机或作为更新 codebase |
|
||||
| `auto-login.pem` | 固定私钥,**仅用于打包签名,勿分发** |
|
||||
| `auto-login-v1.0.0.zip` | 上传 Web Store / 或作留档的 zip(CWS 用;私有分发用 crx) |
|
||||
| `crx-runtime/` | 打包源目录(解包后的运行时文件),勿手动编辑,由 zip 解出 |
|
||||
|
||||
---
|
||||
|
||||
## 3. 安装(在目标 Windows 机器上)
|
||||
|
||||
目标机需满足:Chrome 已关闭或已退出(导入策略后重启 Chrome 生效)。
|
||||
|
||||
1. **放置更新清单与 crx**:确保目标机能访问到
|
||||
`updates.xml`(内含 `codebase` 指向的 `auto-login.crx` 路径)。
|
||||
> 策略使用 `file:///E:/gitea/...` 本地路径。当前为**单机本地策略**;
|
||||
> 若要推给多台/异地机器,把 `updates.xml` 与 `auto-login.crx` 放到内网 HTTP(S) 服务,
|
||||
> 并把 `codebase` 与注册表里的路径改为主机可访问的 `https://` 地址(见第 5 节)。
|
||||
|
||||
2. **导入策略**:双击 `install-policy.reg`,确认导入注册表:
|
||||
- `HKLM\SOFTWARE\Policies\Google\Chrome\ExtensionInstallForcelist` → `lddeabellmfjcgfopecibkfemdkbnmhb;file:///.../updates.xml`
|
||||
- `HKLM\SOFTWARE\Policies\Google\Chrome\ExtensionInstallSources` → `file:///*`
|
||||
|
||||
3. **重启 Chrome**,扩展会被强制安装(不受"未从应用商店安装"限制)。
|
||||
|
||||
> 备选(不推荐):`chrome://extensions` → 开发者模式 → 加载已解压(加载 `release/crx-runtime/`)
|
||||
> —— 仅适合临时测试,正规分发请用第 3 节策略方式。
|
||||
|
||||
---
|
||||
|
||||
## 4. 发新版本(重打包)
|
||||
|
||||
```powershell
|
||||
# 1) 改版本号(manifest.json 的 version 字段,如 1.0.1)
|
||||
# 2) 重建运行时目录
|
||||
node scripts/package.mjs # 产出 release/auto-login-v1.0.1.zip
|
||||
# 3) 解压为打包源
|
||||
node -e "require('adm-zip');const z=new require('adm-zip')('release/auto-login-v1.0.1.zip');require('fs').rmSync('release/crx-runtime',{recursive:true,force:true});z.extractAllTo('release/crx-runtime')"
|
||||
# 4) 用同一把私钥重新签名 crx
|
||||
& "C:\Program Files\Google\Chrome\Application\chrome.exe" --pack-extension="E:\gitea\Chrome extension\auto-login\release\crx-runtime" --pack-extension-key="E:\gitea\Chrome extension\auto-login\release\auto-login.pem"
|
||||
# 产物为 release\crx-runtime.crx → 改名为 release\auto-login.crx
|
||||
# 5) 更新 updates.xml 的 version 为新版本号
|
||||
```
|
||||
|
||||
> 每次都**必须用同一把 `release/auto-login.pem`**,否则 ID 会变化、旧端点失效。
|
||||
|
||||
---
|
||||
|
||||
## 5. 分发范围提示(如实告知)
|
||||
|
||||
- 当前 `install-policy.reg` + `updates.xml` 使用 `file:///` 本地路径,**仅适用于本机/同一文件共享**。
|
||||
- 较新版 Chrome 对企业策略安装依赖可靠的更新源,Google 逐步弱化 `file://` 方式。
|
||||
若要推给多台/异地同事,正规模是:
|
||||
1. 把 `auto-login.crx` 与 `updates.xml` 放到一个内网可达的 **HTTPS 服务**(如 Nginx);
|
||||
2. 把 `updates.xml` 的 `codebase` 和 `install-policy.reg` 里的地址改为该服务的 `https://...` URL;
|
||||
3. 分发 `install-policy.reg`(内网或域策略下发)给目标机。
|
||||
- 本 `install-policy.reg` 写入的 `ExtensionInstallSources=file:///*` 仅为支持本地安装,多机场景建议同步收敛该来源。
|
||||
|
||||
---
|
||||
|
||||
## 6. 与 Web Store 公开上架的区别
|
||||
|
||||
- 本目录相关文件仅用于**私有分发**(crx + 策略强制安装)。
|
||||
- 若你同时在做 Chrome 应用商店上架,那是另一条链路(上传 zip + Store Listing),
|
||||
与本文的 crx/策略互不影响。
|
||||
Reference in New Issue
Block a user