很多稍微懂点技术的朋友在进阶之后,都会鄙视只讨论 UI 的外观党,转而把目光投向代理软件最核心的“大心脏”:底层代理协议栈处理器(Core)。
在众多 Core 中,Xray-core 和 Sing-box 是目前公认的最强大的两把武器。其实,他们并非水火不容,反而有着极其深厚的“血缘跟交流”,但它们在设计哲学和适用场景上,却走向了两个截然不同的巅峰。
一、协议栈之争:专精一门 vs 海纳百川
Xray-core 的诞生带着极为悲壮的色彩。如果说 Project V(V2ray) 是宗师,Xray-core 则是那个站出来扛大旗的继承者。它最大的贡献和绝对的护城河,就是由老大哥 rprx 一手带大的 VLESS 协议与极其强大的 XTLS (Vision) 伪装机制。 在很长一段时间里,Xray-core 一直死磕 TLS 流量伪装技术。只要你使用的是需要防主动探测、伪装成普通网站 HTTPS 流量的方案(比如 Reality),使用原厂的 Xray-core 永远能拿到最新版本的最强抗封锁算法。
而 Sing-box 更像是一个充满野心、集大成的通用网络引擎平台。 它并不会去像 Xray-core 一样花几年时间去从底层研发某一种抗封锁物理模型。它的哲学是:等社区的各种协议牛逼了,我把它用非常漂亮的 Go 语言重写并集成进我的平台里。 于是,Sing-box 把 Xray 团队的 VLESS Reality 集成了进来,把 Ponder 团队极狂暴的 UDP 加速协议 Hysteria 2 集成了进来,把 TUIC 也拉了进来。 你想要在一个配置文件里,出站一走 VLESS-Vision,出站二走 Hysteria2 并发加速,出站三走 WireGuard 接回内网?抱歉,只有 Sing-box 能完成这种壮举,Xray-core 只能在一旁干瞪眼。
二、内存管理与资源极限压榨
这两个项目都是基于 Go 语言编写,但在运行同样的 VLESS 节点时,内存消耗截然不同。
我们在之前的性能长测中已经提到: Xray-core 包含了庞杂的功能和遗留下来的 v2ray 兼容代码重构。它不仅包含核心,它还允许外部进行非常繁重的 grpc API 通信。在常规 VPS 上跑个几十兆内存是常态;高并发下载甚至会飙到上百兆。
Sing-box 是一位“重构狂魔”。作者把所有不必要的框架全都砍掉,重写了自己专属的高吞吐网络缓存模块。对于同样的 VLESS 流量加解密,往往 Sing-box 消耗的内存不到 Xray-core 的一半。这对于跑在路由器里面的用户有着致命的吸引力。
三、透明代理机制与 TUN 支持
搭建透明网络环境(也就是常说的“接管所有网卡,甚至打通虚拟局域网”),一直是极客们的终极追求。
Xray-core: 它其实更多被定位为一个专注于处理协议数据的黑盒中间件。Xray 本身并没有原生、非常好用的内置虚拟网卡驱动(TUN/TAP)来全盘接管你的电脑网卡(通常需要搭配外部的其他组件比如 iptables 和 v2rayN 等 UI 的虚拟网卡来实现透明代理)。
Sing-box:
这点 Sing-box 赢麻了。它的设计初衷就带有着极高的端游和局域网接管欲望。在配置里面只要挂一个包含了 tun 的 inbounds,它能够自带内核级别的路由控制、自带内置的 DNS 防护防污染(甚至支持极高阶的 FakeIP 分流机制),不用依赖任何系统侧的 iptables 命令行,直接开包即用、绿色透明。这就是为什么现在的高端软路由系统,都开始直接调用 Sing-box 作为底层心脏的原因。
总结:该用谁做服务端,该用谁做客户端?
这就是目前极客圈内公认的最黄金搭配(Best Practice):
🛡 在国外的主机(服务端):使用 Xray-core。 将专业的事交给专业的人。服务端你需要极其稳定、原汁原味且更新最快的 VLESS/Reality 环境,没有任何人比研发这套协议的 Xray 官方自己跑得更好。哪怕它多占几兆内存对 VPS 也无伤大雅。
🚀 在国内的设备(客户端、路由器):毫不犹豫地使用 Sing-box。 客户端最需要什么?多协议通吃(今天机场卖 Hysteria,明天卖 VLESS 都能用它连)、极度省电、原生的无感透明代理(接管游戏不漏网)、DNS 泄露防护。在这几个维度,Sing-box 在客户端侧目前可谓是神挡杀神、佛挡杀佛。