为什么安装包还在,也不一定能恢复原状态

图形客户端、代理内核和配置格式是三层东西。客户端可能升级时更换内核,也可能自动转换配置或调整默认值。旧程序未必能读取新版本写回的配置。因此可恢复的备份应包含升级前的数据与版本记录,而不只是下载目录里的安装包。

备份项目用途
客户端版本、平台和内核版本定位具体兼容区间
订阅配置和导入方式恢复来源;敏感链接需受控保存
本地覆写、规则与策略组选择防止升级后自定义行为丢失
DNS、TUN、系统代理与排除项恢复接管和局域网访问
官方安装包或可核验的版本入口回退时取得正确程序
证书、脚本与应用专属设置仅备份实际使用的项目,注明恢复位置

第一步:先做一次可用的基线

  1. 在旧版本下确认日常网页、终端、视频或通话能完成实际操作;原本就失败的问题应单独记录。
  2. 用客户端支持的导出方式保存配置。导出范围若不包含覆写、订阅地址或状态,按官方说明另存;不要假定一个 YAML 包含了所有设置。
  3. 给备份标记日期、系统、客户端及内核版本,存入自己可控的加密或受限位置。完整配置常含节点秘密,不放公共仓库。
  4. 确认备份能读到所需条目,并保存一份独立副本,避免后续升级把同一目录覆盖。

第二步:按实际跨越的版本看迁移说明

以 sing-box 为例,官方迁移文档按版本列出 DNS、规则动作、TUN 等变更。只看最新版的一句话说明,可能漏掉从当前旧版到目标版中间经历的变化。先记下起点与终点,再逐段核对你的配置使用了哪些已废弃或变更的字段,不要把另一内核的配置语法混进来。

从项目官方渠道取得更新,并在项目提供签名或校验值时按官方方法核验。先确认操作系统与架构匹配;不要根据陌生网盘的“修复增强版”进行迁移。受管理设备依照组织的安装机制更新。

第三步:在副本上修改,一次只动一层

  1. 保留原始备份不动,复制出用于新版本的配置;优先导入成新配置,而不是直接覆盖唯一可用配置。
  2. 先按官方迁移说明修复明确不兼容的字段,保留错误位置和修改记录。解析通过只代表格式可接受,不代表网络行为正确。
  3. 有官方配置检查功能时先运行检查,再启动内核。不要用删除 TLS、认证或 DNS 关键字段的办法让报错消失。
  4. 首次测试固定节点和规则模式,避免同时切换协议、DNS 与分流方案。若客户端会自动接管系统代理,确认旧实例已正常退出,防止两个服务争抢端口。

升级后要通过哪些验收

场景检查重点
国内与需代理的目标各一个命中规则及最终出口符合预期
局域网打印机、NAS 或开发服务原有排除项仍生效
终端或容器等实际工作流没有只修好浏览器
DNS 与 IPv6行为符合原定覆盖范围,不靠一张检测图下结论
退出与重新启动系统代理能恢复,配置能重新加载
订阅刷新之后本地覆写仍在,配置不会恢复成不兼容格式

先完成与你实际使用有关的项目,无需为了一个小版本升级制造大量无关测试。日志里仍有废弃字段警告时,记录它对应的版本期限,安排后续迁移;不要把“暂时还能运行”当作永久兼容。

失败时怎样回退

  1. 保存新版本的脱敏错误,正常退出客户端及内核,确认本次接管已停止。
  2. 按官方方式恢复先前程序,再恢复升级前那份配置和本地覆写;不要让旧程序直接读取已经转换过的新配置。
  3. 恢复原系统代理、TUN 和 DNS 状态,重测升级前的基线。若回退涉及已知安全缺陷,优先寻找受支持的修复版本,并限制临时回退的使用范围。

成功稳定后仍可保留上一份可恢复备份,清理不必要的旧凭据副本。好的升级结果是日常工作继续正常、下一次启动也正常,而不只是安装界面显示“已完成”。