Skip to content

Latest commit

 

History

History
43 lines (22 loc) · 7.09 KB

program-updates.md

File metadata and controls

43 lines (22 loc) · 7.09 KB

程序更新检查 0.8.0(开发中)

从设置的“程序更新”进入,或在工具库搜索“更新检查”;支持共用收藏、最近和托盘入口。

点击“立即检查”后,后台匿名读取 ax2/zi-devtools 的公开 GitHub Release。稳定频道读取 latest;预览频道比较最近20个公开发布中的稳定与预览版本,使用 SemVer 优先级选择最高版本,不按发布日期或字符串排序。构建元数据不影响优先级;较新的开发构建不会被建议降级。未发布的 Git 标签不算可下载版本。

“每24小时自动检查”默认关闭,开启状态与上次请求时间保存于独立的界面偏好文件。启动后等待至少5秒、界面刷新时检查到期状态;隐藏到托盘也可处理,完全退出后不运行。失败也记录本次请求时间,避免离线时持续重试;仍可主动立即检查。检查期间禁止重复请求和切换频道。关闭自动检查不取消已经发出的请求。

自动/手动版本检查只读取发布元数据,不发送工作内容、文件路径、账号或认证令牌。请求15秒超时,不跟随重定向;响应最多2 MiB、20个版本、每版32个附件,说明截取前16000字符。只接受官方仓库标签页和符合固定命名的 Windows x64 EXE/MSI/MCP EXE及摘要文件。失败、限流或格式异常明确显示,不能当成“已是最新版”。系统时间倒退时自动检查暂缓,可手动刷新时间。

显示的附件大小来自发布服务。查看发布页由用户点击触发。版本检查本身不下载;附件旁的“下载并校验”由用户主动触发,下面也保留已有文件的离线校验。下载按钮本身不会修改程序目录和Windows Installer状态;下方独立便携升级入口需明确确认后才替换EXE。即使看见某版本,附件可能缺失,需在发布页核对。既有发布流程尚未验证预览版MSI打包,本页支持频道查询不代表预览包已经发布。

主动下载并校验

在检查结果中点击EXE/MSI/MCP EXE旁的“下载并校验”,后台优先验证该版签名清单;旧版不提供签名时读取同版官方SHA256SUMS,再下载所选附件;初始地址必须精确属于ax2/zi-devtools的该版本发布,重定向只接受HTTPS 443的GitHub本仓库发布路径、release-assets.githubusercontent.com及objects.githubusercontent.com,最多三次跳转,不发送认证令牌。重定向的临时签名URL仅用于请求,不显示或保存。

清单最多8 KiB,附件最多128 MiB;HTTP必须200,响应大小(若提供)、实际读取字节数与发布元数据一致,SHA-256与清单一致才允许预览。每个请求连接最多5秒、总时长30秒;取消在当前请求或读取返回后生效,切换页面继续,下载中禁止重入。未启用断点续传,失败可重新检查后重试。

下载结果暂存内存,用户选择保存位置后后台无覆盖另存(目标已存在或文件系统不支持硬链接时失败);写入失败/取消清理自身临时文件,已有结果保留。最终提交后到达的取消不会删除已保存文件。未保存预览与后台任务加入退出保护,可返回保存/丢弃/取消。清单与SHA-256提供传输完整性,签名清单通过内置公钥认证,旧版SHA256SUMS没有发布者签名认证;程序不会运行或安装下载文件,不替换当前程序、不操作Windows Installer。不同版本下载与安装不是同一件事,当前开发版高于正式版时仍提示无需降级。

发布签名与内置工具差异

同时提供update-manifest.json与update-manifest.sig的版本,下载前验证Ed25519签名、内置发布公钥、版本及所选附件大小;目标内容的SHA-256必须与已认证清单一致。签名元数据缺失一半、未知公钥、验证失败不降级为无签名请求;旧版两件都不存在时仍允许用户主动下载,但明确显示仅完整性校验。签名清单最多512 KiB、签名最多1 KiB,每个请求仍30秒上限;不接受服务端提供的新公钥。

认证预览显示公钥指纹、目标源码提交和最低系统声明,以及相对当前内置工具目录的版本/状态变化;计算只做一次、结果缓存,插件安装目录不在此比较范围。旧记录没有独立版本时显示未记录。签名校验不是Windows EXE/MSI Authenticode代码签名,也不证明工具行为无缺陷;不自动执行或安装。更多见发布签名与密钥维护。

已下载附件完整性校验

更新页下方可输入发布版本,选择同一官方发布页下载的SHA256SUMS.txt和保留原名的EXE/MSI。三个摘要项必须完整、唯一且属于该版本;清单最多8 KiB,附件最多128 MiB。兼容UTF-8 BOM、CRLF与大写十六进制摘要。普通文件验证后后台按64 KiB读取,禁止链接输入、文件类型错误及超限,检查读取字节数和SHA-256;可取消,切换页面后继续。

不联网、修改或运行文件;结果只保存在当前会话,修改输入立即清除旧结论。完全退出取消读取,不需要保留或恢复此只读任务。校验通过只证明本次读取内容与用户选择的清单一致;清单本身尚未验证发布者签名,不能证明来源可信,也不能保证校验后文件未变。清单不包含大小,显示大小来自本机所选文件,不是与发布服务大小的交叉认证。

便携升级与恢复

便携升级接入完整包认证、后台下载及准备,用户确认后关闭主程序,由暂存助手等到精确进程退出,再替换两个EXE。保留旧文件并在失败时恢复,重启保留实际配置路径且不自动恢复服务;未知外部修改不覆盖。MSI安装版使用独立安装器升级入口,签名增量准备已接入便携路径,首次正式升级继续验收。只能使用完整便携目录;主程序和MCP程序需为固定文件名。

后续验收

更新清单的最低系统要求、按独立工具版本显示差异、首个公开签名发布完整流水线尚待验证,MSI完整升级已接入,首次正式签名安装及物理链路仍待验收;已接入主动完整附件下载,尚无断点续传;签名清单已接入内置公钥认证,旧版仍无签名。增量更新需准确源版本/摘要、补丁校验、重建目标校验、增量应用;便携EXE已接入退出后替换与失败恢复,MSI使用独立原生升级路径,不手动覆盖受管理EXE。更新包生成与重建0.2.0保留通用本机差分工程;程序更新另接认证增量准备和退出应用/恢复,首次正式网络升级仍待验收。

dev22认证增量更新

独立签名增量清单已接入发布工程和便携升级:匹配双EXE基线时下载/重建,未匹配使用完整包并说明原因;签名或内容错误停止。重建EXE与完整签名清单一致后复用退出替换/恢复。MSI仍使用完整安装器,首次正式线上增量、健康握手/自动回滚和断点续传尚未验收,详见认证增量升级。