站点维护

CC Switch 镜像接入 ​

站内入口为 /downloads/cc-switch,使用现有登录、余额门槛、限流和 Type A 签名。余额只用于判断下载资格,不按下载次数扣费。首期支持 Windows x64/ARM64 的 MSI 与 Portable ZIP,以及 macOS Universal DMG。

固定对象与元数据 ​

下载目标固定对象路径
windows-x64/cc-switch/windows-x64.msi
windows-arm64/cc-switch/windows-arm64.msi
macos-universal/cc-switch/macos-universal.dmg
windows-x64-portable/cc-switch/windows-x64-portable.zip
windows-arm64-portable/cc-switch/windows-arm64-portable.zip
manifest/cc-switch/manifest
checksums/cc-switch/checksums

腾讯与阿里继续使用现有下载域名和 Type A 鉴权密钥,Cloudflare 使用 Worker HMAC-SHA256 鉴权与私有 R2,无需为 CC Switch 单独添加产品环境变量。确认各线路的白名单都覆盖当前使用的 /cc-switch/* 对象。

服务端只读取 manifest:schemaVersion: 1、product: "cc-switch"、稳定版本 version、publishedAt 与 files 数组。所需文件必须有精确 key、assetName、同一发布版本 version、正整数 contentLength、合法 sha256;officialSha256 存在时必须相等。只有 downloadable: true 且 stale: false 的文件可授权。重复路径、缺失目标、未知 schema 或异常元数据使该线路不可用。

浏览器不会读取 manifest 里的外部 URL,也不会得到对象存储原始地址。latest.json 和 .sig 不注册为网站下载目标,客户端更新不属于本接入范围。checksums 继续提供完整清单,因此其中可能包含首期未展示的平台;服务器仍只对上述安装包目标签名。

线路与发布 ​

同版本不同 SHA-256 或大小时,所有参与该版本比较的对应安装包都停止签发。各线路稳定版本不同时默认推荐较新版本,允许手动选择明确标注的旧版线路;不会静默降级。单线不可用时可使用健康线路;若在签发阶段失效,页面只自动切换到版本、大小、哈希及文件名相同的另一条线路。

浏览器原生下载启动后的网络失败无法由网页可靠获知。页面保留下载链接和手动切线入口,用户通过浏览器下载列表确认结果。页面与签发元数据发生变化时必须再次确认下载。

当前是固定别名镜像。发布时应先完成安装包与 checksums,再发布 manifest,并保证 CDN 缓存更新顺序。站点校验的是元数据,不会在每次签发时重新下载整个安装包;固定对象被并发覆盖仍存在窗口,参见不可变版本安装包方案。本次不修改外部上传流水线。

验收 ​

本地回归覆盖五种下载目标、登录/余额边界、同版本冲突、版本排序、便携包切换与移动布局。生产发布后使用 scripts/app-download-synthetic.mjs --product cc-switch --variant <目标> --cookie-stdin,配合脚本要求的环境配置,逐目标验证 CDN 鉴权、HEAD、Range 和完整 SHA-256。脚本需要有效的授权会话;不要把 Cookie 或签名 URL 写入文档、日志或提交。

阅读中遇到问题?联系支持
AI 助手