From 1c7526f2c4ba9a4d6f704daf63c1e6693eafd91f Mon Sep 17 00:00:00 2001 From: "yinjun.chen1" Date: Thu, 24 Sep 2026 18:13:32 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E7=A7=81=E6=9C=89=E5=88=86=E5=8F=91?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E5=9B=BA=E5=AE=9A=E7=A7=81=E9=92=A5=E6=96=B0?= =?UTF-8?q?ID,=20=E5=90=8C=E6=AD=A5=E7=AD=96=E7=95=A5=E4=B8=8E=E5=AE=89?= =?UTF-8?q?=E8=A3=85=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install-policy.reg | 4 +-- updates.xml | 6 ++-- 私有分发安装说明.md | 88 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 93 insertions(+), 5 deletions(-) create mode 100644 私有分发安装说明.md diff --git a/install-policy.reg b/install-policy.reg index 38bdd5e..936042f 100644 --- a/install-policy.reg +++ b/install-policy.reg @@ -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:///*" \ No newline at end of file diff --git a/updates.xml b/updates.xml index 67fbbf8..fd381ca 100644 --- a/updates.xml +++ b/updates.xml @@ -1,6 +1,6 @@ - - + + - + \ No newline at end of file diff --git a/私有分发安装说明.md b/私有分发安装说明.md new file mode 100644 index 0000000..957eadf --- /dev/null +++ b/私有分发安装说明.md @@ -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/策略互不影响。 \ No newline at end of file