1. 安装中心
  2. 校验 · 排障
  3. 05 安装包校验
  4. 6 / 9

§ 校验 · 安装包

快喵VPN 安装包校验:哈希、签名与截断排查

装任何一类环境之前先算一次 SHA-256:三个平台各有命令,30 秒内可完成,能把下载中断、代理改写与杀软隔离这三类合计 91% 的失败挡在安装动作之前。

覆盖文件
10 个安装包
签发日期
2026-11-06
算法
SHA-256
本页复核
2026-11-08

§ 01 · 校验边界

哈希能证明什么,不能证明什么

哈希只能证明字节没变,不能证明文件安全、也不能证明环境合适。把这句话放在最前面,是因为多数误判都来自把哈希当成“万能通过证”。

校验的三层结构:哈希、签名、环境
图 1:校验的三层结构。哈希查完整性,签名查发布者,环境查可运行性,三层互不替代(2026-11-08 绘制)
表 1:三项校验各自能回答的问题(2026-11-08 于三类环境复核)
校验项能回答不能回答耗时
SHA-256 哈希文件字节是否与发布时一致文件是否安全、能否在本机运行3 至 25 秒
数字签名是否由预期发布者签发、证链是否完整文件内容是否被替换(需配合哈希)1 至 5 秒
环境自查本机是否满足运行条件文件是否完整2 分钟

为什么顺序是哈希在前

签名验证需要文件完整才成立:文件被截断时,签名验证可能报“格式错误”而不是“签名无效”,排查方向会被带偏。先算哈希是一步成本最低的分流动作,它把“文件问题”与“环境问题”分开,再往下走哪条路就明确了。

§ 02 · 三平台工具

三个系统各自的哈希命令:Windows、macOS、OpenWrt

三个环境都用同一套 SHA-256 算法,区别只在命令与输出格式。下表的命令都在 2026-11-08 复测过,可直接复制。

表 2:三平台哈希命令与输出要点
环境命令输出要点
Windows 10/11certutil -hashfile 文件名 SHA256三段输出,中间一行是哈希,末行是完成提示
Windows PowerShellGet-FileHash 文件名 -Algorithm SHA256Algorithm 与 Hash 两列,Hash 为大写
macOSshasum -a 256 文件名一行输出,哈希在前文件名在后
OpenWrt / Linuxsha256sum 文件名一行输出,哈希在前文件名在后
Windows
> certutil -hashfile .\KuaiMiao-Setup-3.9.6-x64.exe SHA256
> Get-FileHash .\KuaiMiao-Setup-3.9.6-x64.exe -Algorithm SHA256

macOS
$ shasum -a 256 ~/Downloads/KuaiMiao-3.9.6-universal.dmg

OpenWrt
# sha256sum /tmp/kuaimiao_3.9.6-1_aarch64_generic.ipk

大小写与空格

certutil 输出小写,Get-FileHash 输出大写,两者都对。比对时统一转小写再比,或用工具自带的比较功能。手工复制时最容易多带一个尾随空格,导致“看起来一样但比对失败”。

三平台哈希命令与输出格式对应
图 4:三个平台命令输出的格式差异。大小写与分隔符是误判的主要来源(2026-11-08 复测)
不要用浏览器地址栏里的文件名判断是否下载完整:文件名相同、体积不同的情况很常见,尤其经过代理缓存后。

§ 03 · 完整清单

3.9.6 全部 10 个文件的 SHA-256

下表是完整哈希。比对时逐字符看,前 16 位相同而后段不同的情况确实存在:多段下载拼接的工具会保留头部而改写尾部。

表 3:3.9.6 安装包完整 SHA-256(2026-11-06 签发)
文件名体积SHA-256
KuaiMiao-Setup-3.9.6-x64.exe126.4 MB50a935074539076ac62c097a77787d83a38850d4b791558c60b39bb731eb5496
KuaiMiao-Setup-3.9.6-arm64.exe121.8 MB62b7e9b744e1d029f29badd762105bde4d9c5bfb5ba6e56338237d83b37f707c
KuaiMiao-Setup-3.9.6-x86.exe118.9 MB85b5ad67439ab9d83e0a30345da94a39d7bf5523efbc86591f846e5e26149c52
KuaiMiao-3.9.6-universal.dmg98.7 MBa8c36017434282986a79c4904942388471d2504a83c11630f6f5402aa9a8a848
KuaiMiao-3.9.6-arm64.dmg92.3 MBcac114c742fa6b47a7e857fd34da27d00be55b6118d6a716ce6622f52b4cc42e
kuaimiao_3.9.6-1_x86_64.ipk3.12 MBdddfd88741a23407e347fb592f73152ba4095588bcec370da5d703c19ed1e004
kuaimiao_3.9.6-1_aarch64_generic.ipk3.04 MBf0dd9c36404a0db61fb68eb61b0c04764e1c50bf40f1d8e47d37f59c11750bea
kuaimiao_3.9.6-1_mipsel_24kc.ipk2.87 MB12eb40e64ff3e6765b25121306a4f2d1d83f4ad6e50668ca54a8d768830a17d0
luci-app-kuaimiao_3.9.6-1_all.ipk146 KB35e904964eabbf258893b57f013de02c725245fe891cf9b12c19b933069e33b6
sha256sums.txt2.1 KB57f7c8464d5388e5c4f248dcfdd6df771c6640151d219997038a9a0f79335f9c

清单文件 sha256sums.txt 自身也有哈希,作用是防止清单在传输过程中被改。校验顺序是先算清单的哈希(已写在本页表内),再按清单核对各安装包。

清单文件的读取方式

清单格式与批量核对
$ head -3 sha256sums.txt
$ sha256sum -c sha256sums.txt --ignore-missing

Windows 上可逐行比对,或用 PowerShell:
> Get-Content .\sha256sums.txt | ForEach-Object { $_ }

§ 04 · 比对流程

四步比对:算、转、比、留证

四步里最常被省掉的是留证。没有留证时,问题一旦复现不了就无法判断是文件问题还是环境问题。

STEP 01

算:对安装包执行哈希命令

结果可以是文本也可以是对象,Windows 上推荐 Get-FileHash,输出便于二次处理。

STEP 02

转:统一大小写与分隔符

把哈希转小写并去掉空格,避免因格式差异误判为不符。

STEP 03

比:与清单逐字符比对

不要在视觉上扫一眼,用脚本比较或用编辑器查找,逐字符相等才算通过。

STEP 04

留证:保存哈希、体积、时间三行

三行信息足够复现一次比对,反馈问题时也只需要这三行。

一次性留证(PowerShell)
> $f = Get-Item .\KuaiMiao-Setup-3.9.6-x64.exe
> $h = (Get-FileHash $f.FullName -Algorithm SHA256).Hash.ToLower()
> "$($f.Name) | $($f.Length) bytes | $h | $($f.LastWriteTime)" | Tee-Object hash-record.txt
四步比对与留证的对应关系
图 2:四步比对流程。留证一步在复现与反馈时起决定作用(2026-11-08 绘制)
比对结果与后续处理的分流
图 3:比对结果的四种组合与后续处理路径(2026-11-08 绘制)

§ 05 · 不符处理

哈希不符的四种成因与对应动作

哈希不符不等于文件被恶意替换。实际样本里,下载中断、代理改写、杀软隔离三者合计占九成以上。

表 4:哈希不符的成因分布(2026-09 至 11 月,共 214 次反馈样本)
成因占比判断依据动作
下载中断52%体积小于清单,或浏览器显示未完成重新下载并核对体积
代理或 CDN 改写24%体积正常但哈希不同,换网络后一致换网络或直连重下
杀软静默隔离15%文件存在但体积变小,隔离区有记录加排除项后重下
文件被替换9%来源非官方渠道,签名也不符丢弃,改用官方渠道

只有“被替换”这一类需要丢弃

前三类重新下载即可解决,不必换渠道;只有第四类要换下载来源。区分办法是看签名:前三类的签名往往还能验通(文件被截断但签名段完整时不一定),第四类几乎必然验签失败。

§ 05b · 代理与镜像

经过代理、镜像或企业网关时,校验要多做一步

经过代理的多段传输会保留文件头部而改写尾部,体积可能完全正确、哈希却不符。这类问题只看体积发现不了,必须算哈希。

表 5:三种传输路径的校验差异(2026-11-08 对照测试)
传输路径体积是否可信哈希是否可信额外动作
直连下载可信可信无
企业代理(缓存)多数可信不可信,需复算换直连重下后比对
第三方镜像站不可信不可信只作参考,不用于安装
断点续传(多段拼接)可信可能被改写尾部整包重下后比对

代理改写为什么难以察觉

代理通常只对可压缩内容做改写,而安装包本身已压缩,于是它选择不改写正文、只追加或替换尾部元数据。结果是文件能打开、安装器能启动,但在校验驱动签名或解压最后一段时失败。2026 年的 214 次反馈里,有 51 次属于这一类,占 24%。

企业网关下的正确做法

先向网络管理员确认安装包域名是否走代理白名单,若不能加白,则改用其他网络完成下载,再把文件拷回目标机器。拷回后仍需算一次哈希,因为跨介质拷贝也可能出错。

三种传输路径与改写点的对应
图 5:三种传输路径上的改写点。代理改写发生在尾部元数据,体积不变但哈希变化(2026-11-08 绘制)
代理路径与直连路径的哈希一致率
图 6:代理路径哈希一致率 76%,直连路径 100%,样本各 50 次(2026-11-08)

§ 06 · 签名与公证

三个平台的签名校验:Authenticode、公证、usign

签名校验回答“谁签的”,三个平台机制不同但思路一致:验证证书链、验证文件摘要、验证签发时间戳。

表 5:三平台签名机制对照(2026-11-08 复核)
平台机制校验命令通过标准
WindowsAuthenticode(PKCS#7)Get-AuthenticodeSignatureStatus = Valid
macOSDeveloper ID + 公证spctl -a -vvv -t installaccepted / Notarized
OpenWrtusign(Ed25519)opkg-key list / usign -V签名与 Packages 摘要一致

OpenWrt 的签名为什么常被跳过

opkg 默认校验软件源的 Packages 签名,但手动 install 本地 ipk 时只校验包内摘要。这意味着手工安装的 ipk 少了源签名这一层,只能靠哈希补上。3.9.6 的三个 ipk 都提供了哈希,手动安装时先算哈希再装。

OpenWrt 侧的完整性确认
# opkg-key list
# sha256sum /tmp/kuaimiao_3.9.6-1_x86_64.ipk
# opkg install --force-checksum /tmp/kuaimiao_3.9.6-1_x86_64.ipk
--force-checksum 只影响包内摘要校验,不替代哈希核对;被改写的包内摘要本身也会被一起改写。

§ 07 · 批量校验

批量校验脚本:一次核完整个目录

一次下载多个文件时,逐个算哈希容易漏。两段脚本分别覆盖 Windows 与类 Unix 环境,输出直接可比对。

Windows PowerShell(校验目录下全部安装包)
> Get-ChildItem *.exe,*.dmg,*.ipk | Get-FileHash -Algorithm SHA256 |
  Select-Object @{n='File';e={Split-Path $_.Path -Leaf}},Hash | Format-Table -Auto

macOS / OpenWrt
$ for f in *.exe *.dmg *.ipk; do printf "%s %s\n" "$(sha256sum "$f" | cut -d' ' -f1)" "$f"; done

把输出对齐清单

批量输出是“哈希 + 文件名”两列,与 sha256sums.txt 的格式一致,可直接 diff 或 vimdiff 对照。差异行就是需要重新下载的文件,通常只占少数。

§ 08 · 常见误判

八个容易把校验做错的细节

校验动作本身很简单,出错的地方几乎都在细节:格式、路径、截断、缓存。下面八条按出现频率排序。

表 6:八个常见误判与正确做法(2026-11-08 汇总)
误判后果正确做法
只比前 8 位漏掉尾部差异逐字符或整串比对
大小写混用误判为不符统一转小写
复制带尾随空格误判为不符用脚本比较而非视觉比较
在解压后的文件上算哈希拿到的是解压产物哈希对原始安装包计算
用浏览器下载的 .crdownload 文件算的是未完成文件等下载完成再算
在 OneDrive 占位文件上算读到的是云端占位内容先右键“始终保留在此设备”
命令里用相对路径且工作目录不对算的是另一个同名文件用绝对路径或先 cd
把 sha256sums.txt 也当安装包算得到清单自身哈希,与包不符清单与包分开核对

最后一条最容易被忽略:清单文件本身也有哈希,但它是用来验证清单的,与安装包哈希不在同一层。把清单的哈希拿去和安装包比对,必然不符。

八类误判的出现频率
图 4:八类误判在 214 次反馈中的出现频率。前三位合计占 61%(2026-09 至 11 月)
校验通过后仍建议保留安装包本身,直到确认可以正常连接。回退旧版本时,手里有校验过的旧包比重新下载更可靠。

§ 09 · 校验记录

校验记录模板:三行信息足够复现

记录的目的不是存档,而是让别人(或三个月后的自己)能用三行信息复现一次比对。

文件名 | 字节数 | SHA-256 | 记录时间
KuaiMiao-Setup-3.9.6-x64.exe | 132551680 | 50a935074539076ac62c097a77787d83… | 2026-11-08 20:14 +08:00
记录字段
四列
最小可复现集
文件名 + 体积 + 哈希
建议保存期
直到该版本被替换
存放位置
与安装包同目录

反馈问题时的三行

反馈安装失败时,把这三行连同系统 build 号一起发出,就能排除一半的分支:文件问题在体积与哈希上立刻暴露,环境问题则要看 build 号与运行库。这三行比截图更有用,因为它可复制、可比对。

§ 09b · 版本与哈希

版本一变,哈希必变:什么时候必须重新校验

安装包一旦重新打包,即使只改了一行文案,哈希也会整体变化。判断要不要重新校验,看的是安装包是否重新签发,而不是版本号是否变化。

表 7:版本变更与哈希的关系(按 3.9.6 与相邻版本对照)
版本安装包是否重签体积变化是否需重新校验
3.9.6是(含时间戳)-0.4 MB是
3.9.2是(压缩方式变更)-9.8%是
3.8.7是+0.2 MB是
3.8.0是(驱动迁移)+3.1 MB是
3.7.4是(合并镜像)-11.3 MB是
3.6.9否(保底版沿用原包)0否,但需复核
3.6.0是+0.6 MB是
3.5.2否(归档版)0否,但需复核

保底版为什么沿用原包

3.6.9 与 3.5.2 属于保底与归档版本,官方不再重新打包,因此哈希与首次发布时一致。这类版本的校验意义不在“是否被改”,而在“手里这份是不是当年那一份”:旧包在多次拷贝后更容易损坏。

只改配置不改版本的情况

客户端配置文件(分流规则、节点清单)可以随连接更新,不改变安装包哈希。若你的安装包哈希在两次计算间发生变化,而期间没有重新下载,说明文件被某个进程碰过,这时应当重新下载而不是接受新哈希。

实测中有一类情况值得记录:杀软在扫描后会把文件移到隔离区、再放回一个“净化版”,体积与哈希都会变。这类文件能打开但签名大概率失效,属于必须丢弃的情形。

另一个容易误会的点是版本号与安装包的对应关系:同一个小版本在不同架构上体积不同,因此哈希也不同。比对时必须先确认自己下载的是哪个架构的文件,再去找对应的那一行。

版本迭代与安装包体积变化
图 7:八个版本的安装包体积变化。3.7.4 合并镜像后体积下降 11.3 MB,3.8.0 因驱动迁移上升 3.1 MB(2026-11-08 整理)

把体积与哈希一起看,能快速判断一个包属于哪个版本:体积对不上版本,再算哈希也没有意义。

数据 · 关键数字

关键数字与它们的采集条件

每个数字后面都跟着条件,换了机器与版本数字会变,判断顺序不变。下面七条是本站各页共用的基础数据。

全部 10 个安装包的 SHA-256 都在本页给出,单文件校验耗时 3 至 25 秒,测试环境为三台不同磁盘类型的机器。

哈希不符的案例中下载中断占 52%(214 条里 111 条),统计数据来自 2026-09 至 11 月的反馈样本。

代理路径的哈希一致率为 76%,直连路径为 100%,测试条件为同一文件各下载 50 次(2026-11-08)。

certutil 与 Get-FileHash 输出大小写不同,比对前统一转小写可减少 1 类误判,依据 214 次反馈的归类结果。

清单格式为两个空格分隔,只用一个空格时多数工具解析失败,测试环境为 Windows 11 与 OpenWrt 23.05。

签名验证耗时 1 至 5 秒,比哈希更快,但只在文件完整时成立,依据 Authenticode 与 spctl 的耗时统计。

八类误判里前三位合计占 61%,统计数据为 214 次反馈中的人工复核结果(2026-09 至 11 月采样)。

这七条数据在安装页、校验页与排错页里被反复引用,三处数字始终一致;若你发现某页与另一页冲突,以数据采集日期较新的那一页为准,同时欢迎按页脚邮箱反馈。

§ 11 · 采集口径

本页数据的来源与复核方式

本页的成因分布来自 214 次安装失败反馈,去重后按首次出现的成因为准;命令输出在三个系统上分别复测。

样本量
214 次反馈
去重规则
按首次成因归类
复核日期
2026-11-08
客户端版本
3.9.6

可复测三平台命令已复测样本去重

成因分布会随渠道变化:某一时期若某个镜像站缓存配置出错,代理改写类占比会短期上升。因此表 4 只作排序参考,不作为任何固定比例引用。

复核时使用三台机器:Windows 11 22631、macOS 14.6.1 与 OpenWrt 23.05.3 虚拟机,命令输出与设备上一致。样本统计区间为 2026 年 9 月至 11 月,去重后 214 条。