有时候我们需要下载 Chrome 扩展的 CRX 文件,例如做离线备份、分析扩展包内容、在测试环境中保留某个版本,或者在受控环境中统一部署浏览器扩展。

Chrome 扩展正常情况下应该从 Chrome Web Store 安装。直接下载 CRX 文件并不一定代表可以直接双击安装,尤其是新版 Chrome 对外部扩展安装限制更严格。如果只是普通用户使用,推荐优先通过 Chrome Web Store 正常安装。本文记录的是通过扩展 ID 下载 CRX 文件的方法,主要适合备份、测试和排查使用。

一、什么是 CRX 文件 #

CRX 是 Chrome 扩展的打包文件格式。一个 Chrome 扩展在发布后,通常会以 CRX 包的形式被浏览器下载和安装。

简单理解,CRX 文件里面包含了扩展的代码、配置文件、图标、脚本和 manifest 信息。它类似一个浏览器扩展安装包。

不过需要注意,CRX 文件不是普通软件安装包。Chrome 是否允许安装它,还取决于扩展来源、签名、浏览器策略和当前 Chrome 版本。

二、获取扩展 ID #

下载 CRX 文件之前,需要先知道扩展 ID。

打开 Chrome Web Store 中某个扩展的详情页面,地址一般类似这样:

TEXT
https://chromewebstore.google.com/detail/扩展名称/abcdefghijklmnopqrstuvwxyzabcdef

最后这一段由 32 个小写字母组成的字符串,就是扩展 ID。

例如:

TEXT
abcdefghijklmnopqrstuvwxyzabcdef

实际使用时,要把下载地址中的 [ID] 替换成这个扩展 ID。

三、CRX 下载地址格式 #

可以使用下面这个地址格式下载 CRX 文件:

TEXT
https://clients2.google.com/service/update2/crx?response=redirect&os=win&arch=x64&os_arch=x86_64&nacl_arch=x86-64&prod=chromecrx&prodchannel=&prodversion=77.0.3865.90&lang=zh-CN&acceptformat=crx2,crx3&x=id%3D[ID]%26installsource%3Dondemand%26uc

其中最关键的部分是:

TEXT
[ID]

把它替换成真实的 Chrome 扩展 ID 即可。

例如:

TEXT
https://clients2.google.com/service/update2/crx?response=redirect&os=win&arch=x64&os_arch=x86_64&nacl_arch=x86-64&prod=chromecrx&prodchannel=&prodversion=77.0.3865.90&lang=zh-CN&acceptformat=crx2,crx3&x=id%3Dabcdefghijklmnopqrstuvwxyzabcdef%26installsource%3Dondemand%26uc

在浏览器中打开这个地址后,如果扩展仍然存在,并且参数有效,浏览器会跳转并下载对应的 CRX 文件。

四、参数简单说明 #

这个下载地址看起来很长,其实可以拆开理解。

TEXT
response=redirect

表示请求后通过重定向返回实际下载地址。

TEXT
os=win

表示系统平台是 Windows。

TEXT
arch=x64

表示系统架构是 64 位。

TEXT
prod=chromecrx

表示请求的是 Chrome 扩展包。

TEXT
prodversion=77.0.3865.90

表示 Chrome 版本号。这个值不一定必须固定使用旧版本号,如果下载异常,可以尝试改成自己当前 Chrome 的版本号。

查看当前 Chrome 版本的方法是,在地址栏输入:

TEXT
chrome://version

或者进入:

TEXT
设置 → 关于 Chrome

然后把实际版本号替换到 prodversion= 后面。

TEXT
acceptformat=crx2,crx3

表示允许返回 CRX2 或 CRX3 格式。新版 Chrome 扩展更多使用 CRX3。

TEXT
x=id%3D[ID]%26installsource%3Dondemand%26uc

这是最核心的扩展参数,其中 [ID] 就是扩展 ID。

五、下载后能不能直接安装 #

下载 CRX 文件后,不一定能直接安装。

早期 Chrome 版本中,可以把 CRX 文件拖到:

TEXT
chrome://extensions/

页面里安装。但现在 Chrome 对外部 CRX 的安装限制更严格,很多情况下会提示无法安装,或者要求必须从 Chrome Web Store 安装。

如果只是为了分析扩展内容,可以尝试把 CRX 文件当作压缩包解开。很多情况下可以使用 7-Zip 或类似工具打开,查看里面的文件结构。

如果只是本地开发测试,也可以在 Chrome 扩展管理页面开启“开发者模式”,然后使用“加载已解压的扩展程序”加载解压后的目录。

扩展管理页面地址是:

TEXT
chrome://extensions/

需要注意,这种方式更适合开发和测试,不适合随意安装来源不明的扩展。

六、常见失败原因 #

1. 扩展 ID 写错 #

如果扩展 ID 不正确,下载地址一般不会返回有效 CRX 文件。

Chrome 扩展 ID 通常是 32 位小写字母,不包含数字和特殊符号。复制时不要多复制斜杠、问号或其他 URL 参数。

2. 扩展已经下架 #

如果扩展已经从 Chrome Web Store 下架,可能无法继续通过这个方法下载。

有些扩展即使曾经安装过,只要商店中已经不可用,也可能无法重新获取安装包。

3. Chrome 版本参数太旧 #

原始地址中的:

TEXT
prodversion=77.0.3865.90

是一个比较旧的 Chrome 版本号。如果下载失败,可以尝试改成当前浏览器版本。

例如当前 Chrome 是 138 版本,就可以把 prodversion 改成对应版本号再试。

4. 下载成功但安装失败 #

这类情况比较常见。下载成功只说明拿到了 CRX 文件,并不代表 Chrome 允许从本地安装它。

新版 Chrome 更推荐从 Chrome Web Store 安装扩展。如果需要企业部署,通常应该使用 Chrome 企业策略、ExtensionSettings 或 ExtensionInstallForcelist 等方式进行管理。

5. 文件被浏览器或安全软件拦截 #

CRX 文件属于浏览器扩展安装包,有些浏览器或安全软件可能会拦截下载。遇到这种情况,需要确认扩展来源是否可靠,不建议强行下载来源不明的扩展。

七、安全注意事项 #

下载 CRX 文件时要特别注意安全。

不要随意安装不明来源的浏览器扩展。浏览器扩展通常可以申请读取网页内容、修改页面、访问剪贴板、拦截请求等权限。如果扩展本身不可信,风险会比普通网页更高。

建议只处理自己明确知道来源的扩展,例如:

  • Chrome Web Store 中仍然存在的扩展
  • 自己开发的扩展
  • 公司内部需要测试的扩展
  • 已经确认来源可靠的工具类扩展

如果只是想看扩展内容,可以解压后查看 manifest 文件和源码,不一定要直接安装。

扩展的主要配置文件通常是:

TEXT
manifest.json

可以重点查看里面的权限声明,例如:

JSON
"permissions": []

以及:

JSON
"host_permissions": []

这些字段可以帮助判断扩展会访问哪些浏览器能力和网站内容。

八、总结 #

从 Chrome Web Store 下载 CRX 文件的核心方法,就是使用 Chrome 扩展更新服务地址,并把 [ID] 替换成真实扩展 ID:

TEXT
https://clients2.google.com/service/update2/crx?response=redirect&os=win&arch=x64&os_arch=x86_64&nacl_arch=x86-64&prod=chromecrx&prodchannel=&prodversion=77.0.3865.90&lang=zh-CN&acceptformat=crx2,crx3&x=id%3D[ID]%26installsource%3Dondemand%26uc

如果下载失败,可以检查扩展 ID 是否正确、扩展是否仍在商店中、Chrome 版本参数是否过旧。

如果下载成功但无法安装,也属于正常情况。新版 Chrome 对本地 CRX 安装限制较多。这个方法更适合备份、分析、测试和企业部署排查,不建议用来安装来源不明的扩展。