TL;DR:下载客户端 release 后,先算 SHA256,再安装。校验不是形式主义:下载中断、镜像缓存、同名重传都会让文件看起来正常、实际不可用。哈希不一致,直接删掉重下。

代理客户端常见分发方式是 GitHub Releases:APK、EXE、DMG、ZIP、tar.gz 都在同一页。页面上如果同时提供 checksums.txt.sha256 或签名文件,就应该把它们一起下载。

校验对象怎么选

文件是否需要校验说明
.apkAndroid 安装包,最常见
.exe / .msiWindows 安装前校验
.dmgmacOS 下载后校验
.zip / .tar.gz解压前校验
checksums.txt来源要核对必须来自同一官方 release

不要只看文件大小。大文件在中途断开后,有些下载器会留下半截文件;文件名没变,但哈希一定不同。

各系统命令

Windows PowerShell:

Get-FileHash .\FlClash.exe -Algorithm SHA256

macOS:

shasum -a 256 ./sing-box.apk

Linux:

sha256sum ./mihomo-linux-amd64.tar.gz

把输出的 64 位十六进制字符串,与 release 页面或 checksums.txt 里的对应文件逐字符比对。只要差一位,就视为失败。

下载镜像场景要更谨慎

GitHub 下载慢时,很多人会用反代或下载器。镜像可以提升速度,但校验必须回到官方哈希。换句话说:文件可以从镜像拉,哈希要从官方 release 页拿。需要客户端与订阅一起测试时,可选择配套订阅线路,但二进制文件仍只按官方 release 校验。

还有一个细节:不要把别人发来的哈希截图当依据。截图无法确认 release tag,也可能对应旧版本。最好复制官方页面文本,和本机命令输出放在同一个终端或记录单里比对。

检查清单

  • 仓库 owner 与项目官网一致。
  • release tag、文件名、系统架构匹配。
  • checksum 来自同一 release 页面。
  • 本机计算值与官方值完全一致。
  • 团队分发时同时记录版本号和 SHA256。

校验完成后再安装,后续排查也更轻松:至少可以排除「文件坏了」这个低级但常见的问题。

落地前复查清单

把 客户端 release SHA256 校验 当成一次可回滚的小变更处理。先记录当前环境、账号状态、版本号和关键参数,再执行正文步骤。如果你属于“从 GitHub Releases 下载 sing-box、mihomo、FlClash、Hiddify 等客户端的用户”,不要在同一轮里同时改账号、网络、客户端和计费设置,否则失败后很难判断是哪一项造成。

检查项记录方式
当前目标写清这次只要解决 客户端 release SHA256 校验 的哪一个问题
基线状态截图或保存现有配置、账单、地区、版本号
操作窗口选择低峰时段,避免影响正在运行的任务
验证指标用成功率、延迟、费用、可登录状态或页面返回结果判断
回滚入口保留旧配置、旧密钥、旧订阅或原始文件路径

失败后怎么复盘

如果按流程走完仍然失败,先不要继续叠加新方案。把现象拆成三类:完全不可用、偶发失败、能用但成本或速度不达标。完全不可用优先检查前置条件;偶发失败看时间段、地区和上游状态;成本或速度问题再回到 客户端、协议、规则和网络工具配置 的具体约束。完成后对照“下载后用本机命令比对 SHA256,再安装或分发给团队”复核一次,只保留能稳定复现改善的改动。

二次验证样本

为了避免 客户端 release SHA256 校验 的结论只适用于单次 操作,建议至少保留两个样本:一个是最常见的日常场景,一个是容易失败的边界场景。前者用来确认方案能不能省时间,后者用来确认方案会不会在关键时刻掉链子。记录时不要只写“成功”或“失败”,要把 客户端版本、规则集、协议参数和出口链路 一起写下来。

样本应该记录的内容
日常样本正常账号、正常时间段、常用设备或常用工作流下的结果
边界样本高峰期、跨地区、长任务、大文件、多账号或新设备下的结果
成本样本本次消耗的订阅费、调用费、人工等待时间或失败重试次数
回滚样本回到旧方案后是否恢复,恢复需要多久

如果两个样本结论相反,优先相信边界样本。日常样本只能说明方案能跑通,边界样本才更接近真实维护成本。等下一次版本、价格或政策变化后,再用同一组样本复测,这样才能判断 客户端 release SHA256 校验 是稳定改善,还是只在某个时间点临时可用。

相关阅读