把 Hey Xray 与 sing-box 区别讲清楚,先要承认一件事:这两个名字在应用里并不是同一层级的东西。Hey 是一款客户端,它提供了不止一条运行路径;Xray 是其中一条已经成熟的运行路径;sing-box 则是随包提供、可以在设置里选择的另一条路径。问“Hey Xray 与 sing-box 区别”,本质上是在问:同一个应用里,走 Xray 路径和走 sing-box 路径,能力边界、配置生成方式、以及你能做的事情有什么不同。
常见问题切入:为什么用户会卡在这个问题上
最常见的困惑有三种。第一种是打开设置发现可以选 sing-box,于是默认认为它和 Xray 是平级的两套完整方案,功能应当一一对应。第二种是发现某些配置在一条路径下能导入,换一条路径却提示不支持,于是怀疑是软件坏了。第三种是把“应用支持某种协议”误读成“两条路径都支持该协议的全部用法”。
这三种困惑指向同一个事实:Hey 的主要运行路径是 Xray,而 sing-box 是以随包形式提供的可选路径,当前能力范围更窄。两者不是对等的两条主干,而是主路径与可选路径的关系。
运行路径层面的区别:主路径与可选路径
Hey Xray 运行路径的位置
Hey 的主要运行路径为 Xray。这意味着你在应用里做的大部分事情,最终都落在 Xray 这条路径上:它会按照所选配置,生成运行时的 Xray 配置,然后以该配置运行。
Xray 路径支持两种工作形态:VPN 模式和仅代理模式。VPN 模式把流量整体接管,仅代理模式则按代理的方式工作。两条形态共用同一套配置生成逻辑,差异在于流量进入方式。因为生成的是运行时配置,所以你选择的内容会实际反映到运行参数中,而不是停留在界面显示层面。
Hey sing-box outbound 的边界
sing-box 随包提供,可在设置中选择。它当前支持 VPN 模式下的单个转换后 outbound。这句话有三层限制,每一层都重要:
- 模式限制:只在 VPN 模式下工作,不提供仅代理模式的对应能力。
- 数量限制:单个 outbound。不是多个出站组合,不是分流到多个出站。
- 来源限制:转换后。outbound 来自配置转换,不是任意手写的完整 sing-box 配置。
所以当有人问“Hey sing-box outbound 能不能做多出站分流”,基于已知事实的回答是:当前不支持。这里的“当前”不是模糊措辞,而是提醒你不要把今天的边界当成永久承诺,也不要反过来把未来的可能性当成今天已有的能力。
导入格式如何影响路径选择
Hey 应用包含节点和订阅管理页面。这两个页面是你接触配置的入口,也是路径差异最先显现的地方。导入的内容经过转换器处理,转换器支持 VLESS、VMess、Trojan、Shadowsocks、AnyTLS、TUIC。
关键点在于:协议被转换器支持,不等于两条路径都能完整承载该协议的每一种用法。Xray 路径从所选配置生成运行时 Xray 配置,因此它的表达范围取决于 Xray 侧的配置模型;sing-box 路径只产出单个转换后 outbound,因此它能承载的是“一个出站”这一形态下的转换结果。传输方式、附加参数、以及需要多出站协作的写法,都可能在这条路径上失去落点。
选路径时先看你的配置要变成什么形态:需要完整运行时配置与两种工作模式,走 Xray;只需要 VPN 模式下单一出站,sing-box 也可用。
选择路径时看什么
按顺序检查四件事,比凭直觉点选更可靠:
- 你需要哪种工作模式。只用 VPN 模式,两条路径都在范围内;需要仅代理模式,只有 Xray 路径满足。
- 你的配置是否需要多个出站。需要,选 Xray;只用一个出站,两条都可考虑。
- 你的配置依赖哪些协议与参数。先确认转换器支持该协议,再确认目标路径能承载你使用的具体写法。
- 你是否需要运行时配置的完整生成。Xray 路径会从所选配置生成运行时 Xray 配置,这是它的固有行为。
Hey 内核选择的实际含义
Hey 内核选择,在事实层面就是选择走哪条运行路径:Xray 还是 sing-box。它不是选择一个更强的内核去覆盖另一个,而是选择一套已经定义好的能力集合。选 Xray,你得到主路径的完整形态,包括 VPN 模式与仅代理模式;选 sing-box,你得到随包提供的可选路径,当前限定在 VPN 模式下的单个转换后 outbound。
因此“哪个内核更好”这个问题本身不成立。正确的问法是“我的配置形态和我的使用形态,落在哪条路径的定义范围内”。范围匹配就是合适,范围不匹配就是不合适,与优劣无关。
如何避免把未写明的能力当成承诺
这一节比前两节更重要,因为大部分误判不来自事实错误,而来自对沉默的过度解读。
第一,不要从协议列表反推路径能力。转换器支持 VLESS、VMess、Trojan、Shadowsocks、AnyTLS、TUIC,说明这些协议能够被转换处理;它不说明每条路径都能完整使用这些协议的所有特性。协议支持与路径承载是两个不同的问题。
第二,不要从“随包提供”反推功能对等。sing-box 随包提供、可在设置中选择,只说明获取方式与入口位置。它的能力由“VPN 模式下单个转换后 outbound”这句话界定,不由它在设置里出现的位置界定。
第三,不要假设存在未提及的预设。应用不内置服务器地址、配置源地址、规则集或地区预设。你的节点与订阅来自你自己在节点和订阅管理页面中导入的内容。任何“应用自带某类资源”的预期都缺乏事实支撑。
第四,把“当前支持”当作边界标记。当前支持 VPN 模式下的单个转换后 outbound,就意味着多出站、仅代理模式等形态在这条路径上没有对应事实依据。遇到这类需求,应回到 Xray 路径,而不是推测 sing-box 路径存在隐藏开关。
判断标准很简单:写明的能力可以直接依赖,未写明的能力只能当作未知。未知不等于不存在,但也不能当作已经拥有。
把两条路径放回同一个应用里理解
Hey 的结构可以这样理解:节点和订阅管理页面负责把外部内容引入,转换器负责把导入内容转成可用的形态,运行路径负责执行。Xray 是主要运行路径,覆盖 VPN 模式与仅代理模式,并从所选配置生成运行时 Xray 配置;sing-box 是随包提供的可选路径,走 VPN 模式下的单个转换后 outbound。
这个结构解释了两类常见现象。其一,同一份订阅在两条路径下表现不同,因为生成物的形态不同:一边是运行时 Xray 配置,一边是单个转换后 outbound。其二,某些高级写法在 sing-box 路径下无处安放,因为该路径的定义里没有多出站的位置。
也正因为结构清晰,Hey Xray 与 sing-box 区别并不需要靠猜测填补。主路径负责完整形态,可选路径负责单一出站形态,转换器负责协议层面的转换,管理页面负责内容引入。四者各司其职,边界由事实划定,而不是由期待划定。
结论性判断
如果你要仅代理模式,选 Xray。如果你要多个出站协同,选 Xray。如果你要运行时 Xray 配置的完整生成,选 Xray。如果你只需要 VPN 模式下的单个出站,并且导入内容能被转换器处理成该形态,sing-box 路径可用。
把 Hey 内核选择理解为范围匹配,而不是性能排序;把协议支持理解为转换能力,而不是路径承诺;把“当前支持”理解为边界,而不是保留条款。做到这三点,Hey Xray 与 sing-box 区别就不会再成为反复困扰你的问题。


