Xray v26.9.9 要放在独立目录验证,别直接覆盖正在使用的内核。它是预发布包;先核对压缩包摘要,再用新二进制测试现有配置副本。测试失败就保留旧版运行,不必为了尝鲜修改整套配置。

为什么 latest 没给出 v26.9.9?

固定标签页显示 Pre-release,发布时间为2026年9月8日22:28:10 UTC,即北京时间9月9日06:28:10。到9月11日核对时,GitHub 的 latest 页面仍指向 v26.3.27。下载脚本若只跟随 latest,拿到较早版本并不等于下载失败。

这个标签的发布正文主要是赞助与捐赠说明,没有可据此整理的新增功能清单。不要把相关链接里的旧功能算到这一版头上。这里讨论的是验证候选内核的方法,不把预发布当作必须升级的理由。

压缩包里的 64 对应哪台机器?

从固定标签的 Assets 同时保存 zip 和同名 .zip.dgst。下面列的是实际资产名;系统名称也要一致,不能只看都有 ARM64 就互换。

目标环境压缩包易混淆之处
Linux x86-64Xray-linux-64.zip不是 Linux ARM64
Linux ARM64Xray-linux-arm64-v8a.zip不是 Android 同架构包
Windows x64Xray-windows-64.zip不等于 Windows ARM64
Intel MacXray-macos-64.zip与 Apple 芯片包分开
Apple 芯片 MacXray-macos-arm64-v8a.zip不是 iOS 安装包

选包时以操作系统报告的架构为准,别用电脑品牌判断。虚拟机里的系统可能与宿主机不同;从下载页进入的 Source code 压缩包则是源码归档,不能当作现成可执行程序使用。

这篇按上述桌面系统的命令环境整理,未安装测试各系统版本。Xray-core 是内核,不是带订阅界面的完整客户端;管理程序是否接受手动替换,应看它自身说明。两者关系可查核心目录

没联网时,怎样比对已经下载的文件?

把 zip 与 dgst 一起带到目标机器后,可以离线计算文件摘要。以 Linux 包为例,官方摘要文件同时列出多种算法,这里比较 SHA2-256= 后面的值。

以下示例在保存压缩包的目录执行,按自己的系统选一段。Windows PowerShell:

Get-FileHash .\Xray-windows-64.zip -Algorithm SHA256
Get-Content .\Xray-windows-64.zip.dgst

Linux:

sha256sum Xray-linux-64.zip
cat Xray-linux-64.zip.dgst

Apple 芯片 Mac:

shasum -a 256 Xray-macos-arm64-v8a.zip
cat Xray-macos-arm64-v8a.zip.dgst

逐字符比较十六进制值,字母大小写可忽略。摘要不一致就重新获取对应标签的文件,不继续解压运行。不要把 .dgst 直接交给 sha256sum -c:这里的文本布局并非它通常接受的校验清单格式。

摘要相同说明与所持参考值一致;如果包和摘要都来自同一个不可信转存处,这一步不能单独证明发布者身份。压缩包摘要也不能拿来校验解压后的单个文件。涉及核心与数据文件的区别,可接着看文件校验说明

version 对了,为什么还要指定配置路径?

校验后解压到新目录,把原 JSON 配置复制为该目录下的 config-check.json。保留原文件不动。命令中的路径都是示例,相对引用的证书、数据文件也要能从测试工作目录读取;若原来用多文件配置,则复制整套文件并沿用原来的合并顺序。

官方命令文档列出 version-c-test。在 Linux、macOS 新目录执行:

./xray version
./xray run -test -c ./config-check.json
echo $?

Windows PowerShell 的对应写法:

.\xray.exe version
.\xray.exe run -test -c .\config-check.json
$LASTEXITCODE

./.\ 指向当前目录,避免误用 PATH 中旧版。版本应对应26.9.9;显式指定 -c 则避免程序寻找默认配置时读错文件。不要把订阅链接或分享链接直接当作 JSON 文件传入。

还要核对原进程的环境变量。源码会先收集命令行或环境变量指定的配置目录,再处理文件列表,所以写了 -c 也不保证只读取这个副本。测试前把原配置目录参数改为副本目录;若配置目录来自环境变量,也要对应修改。保留证书、数据文件所需的路径设置,并查看输出中的配置路径,避免混入生产目录。多文件测试应对应实际使用的一整套配置。

Configuration OK. 到底证明了什么?

v26.9.9 源码显示,程序加载配置并构造核心实例后,测试分支才输出成功信息并退出;真正启动服务在后面。它能发现配置加载或组件构造阶段的问题,却不验证远端连接、DNS 结果、实际端口绑定或性能。

输出表现更可能卡住的位置接着查什么
版本仍是旧版执行路径当前目录与启动命令
failed to load config files配置读取、解析路径、文件内容及错误链
failed to create server组件构造错误链指出的组件与引用文件
Configuration OK. 且退出码0此次配置检查通过另行安排正常运行验证

这些是源码中的判断依据,不是本文运行日志。配置加载或构造失败分支返回23;不要为了消除报错删除不理解的字段。若要分享错误内容,先按配置脱敏方法处理凭据。

把旧目录留下,回退才有完整输入

真正切换前,保存旧二进制、配置、数据文件及原启动参数,并记下工作目录。单纯完成上述试读,无需停止旧进程。若决定正常启动新版,再通过原来的管理方式停止旧进程,避免两个实例争用资源。

出现新故障时,停止新版,把启动路径和工作目录恢复到旧目录,同时恢复旧配置与配套文件。例如可将旧版完整副本存到 ~/xray-backups/before-26.9.9/,Windows 则用 C:\XrayBackups\before-26.9.9\。这些是自选备份路径示例,不是 Xray 默认目录。配置若原本放在二进制目录外,也要另行复制,并保留原路径记录。备份放在新版解压位置之外,避免整理下载文件时一并删除。若管理程序会自动更新核心,还要核对它下次启动是否会再次选择新版。随后用旧二进制执行版本查询及配置测试,再按原方式启动。回退后实际进程的路径和版本都应指向旧目录,才不会出现文件已换回、内存中仍跑新版的情况。