技术知识进阶
Sing-box 是什么?与 V2Ray、Clash 的区别和入门教程
Sing-box 是一个通用代理平台,用一份 JSON 配置覆盖多个平台。本文介绍它的定位、配置结构与上手路径。

简要回答
Sing-box 是一个开源的通用代理平台,支持 Shadowsocks、VMess、VLESS、Trojan、Hysteria2、TUIC 等多种协议,使用 JSON 格式配置,并提供安卓、iOS、macOS 等官方客户端。与 Clash 相比,它的配置更底层、更灵活;与 V2Ray 相比,它在多平台一致性和新协议支持上更积极。
Sing-box 的定位
可以把常见的代理软件分成「核心」和「客户端」两层:
| 层级 | 代表 | 作用 |
|---|---|---|
| 核心 | V2Ray、Xray、mihomo、Sing-box | 实现协议、处理流量与分流 |
| 客户端 | V2RayN、Clash Verge Rev、sing-box 官方 App 等 | 提供图形界面、管理订阅 |
Sing-box 本身是核心,同时官方也为安卓、iOS、macOS 等平台提供了图形客户端。许多第三方客户端也以它为核心。
与 V2Ray、Clash 的主要区别
| 对比项 | V2Ray / Xray | Clash(mihomo) | Sing-box |
|---|---|---|---|
| 配置格式 | JSON | YAML | JSON |
| 规则分流 | 支持 | 强,社区规则丰富 | 强,规则集(rule-set)机制 |
| 新协议支持 | Xray 对 VLESS / REALITY 支持好 | 较全面 | 积极,覆盖 Hysteria2、TUIC 等 |
| 官方移动端 | 无(依赖第三方) | 无(依赖第三方) | 有 |
| 适合人群 | V2RayN 用户 | 依赖订阅规则的用户 | 愿意理解配置的进阶用户 |
配置文件的核心结构
Sing-box 的配置是一个 JSON 文件,最常用的是下面几个部分:
{
"log": { "level": "info" },
"dns": { "servers": [] },
"inbounds": [],
"outbounds": [],
"route": { "rules": [], "final": "proxy" }
}
- log:日志级别;
- dns:DNS 服务器与解析规则,决定域名如何被解析;
- inbounds:入站,流量如何进入 Sing-box(如 mixed 端口、TUN 虚拟网卡);
- outbounds:出站,即节点,以及 direct(直连)、selector(手动选择)等特殊出站;
- route:路由规则,决定每个连接使用哪个出站。
上手建议
- 优先使用机场提供的 Sing-box 订阅,不要从零手写配置;
- 核心版本与配置版本要匹配:Sing-box 在版本迭代中会废弃或调整部分配置字段,升级前请查看官方文档的迁移说明;
- 先理解 route 和 dns:大部分「能连上但打不开网站」的问题都出在这两部分。
适合谁使用
- 需要在手机、电脑上保持一致配置的用户;
- 需要使用 Hysteria2、TUIC 等较新协议的用户;
- 愿意阅读文档、调整配置的进阶用户。
如果你只是想尽快用起来,建议先从 V2RayN 或 Clash 系客户端开始。