sing-box 完整使用指南:通用核心、JSON 配置、路由分流、DNS 与 TUN
sing-box 是被誉为下一代代理通用架构的现代化开源框架。它兼具极致的运行性能与极低的资源开销,原生支持 Hysteria 2、TUIC、VLESS 等前沿协议。本文全面指导从图形客户端使用到 JSON 路由规则调优。
sing-box 是被誉为下一代代理通用架构的现代化开源框架。它兼具极致的运行性能与极低的资源开销,原生支持 Hysteria 2、TUIC、VLESS 等前沿协议。本文全面指导从图形客户端使用到 JSON 路由规则调优。
sing-box 是当前代理技术领域公认的“新一代通用网络代理平台”。
它以极高的执行效率、极低的内存与 CPU 占用,以及对 VLESS-Reality、Hysteria 2、TUIC v5、ShadowTLS、WireGuard 等前沿协议的原生第一方支持,成为继 Shadowsocks、V2Ray、Clash 之后最具革命性的开源通用核心框架。
本文将从 图形客户端快速上手 与 底层 JSON 核心架构逻辑 两个维度,带你全面掌握 sing-box 的配置、规则集部署与 TUN 调优实战。
1. 核心定位:sing-box 适合谁 / 不适合谁
- 适合阅读:
- 需要在 Android、iOS、macOS 或 Windows 上体验极低内存占用、高并发网络转发的用户;
- 软路由(OpenWrt / iStoreOS)、Linux 服务器与嵌入式设备网络部署者;
- 想要系统理解下一代 Rule-Set、TUN 虚拟网卡与 JSON 路由机制的技术进阶用户。
- 不适合阅读:
- 纯 Windows 新手且极度依赖傻瓜式一键图形配置的用户(推荐优先阅读 Clash Verge Rev 完整指南)。
2. 客户端技术规格速查表
| 项目 | 参数与规格说明 |
|---|---|
| 软件名称 | sing-box |
| 支持平台 | 全平台覆盖:Windows、macOS、Linux、Android、iOS / iPadOS、tvOS、OpenWrt |
| 开发团队 | SagerNet 核心开源团队 |
| 开源协议 | GPL-3.0 (核心全开源,官方 GUI 客户端部分开源/免费发布) |
| 核心协议支持 | VLESS (Reality)、Hysteria 2、TUIC v5、Shadowsocks (2022)、Trojan、VMess、WireGuard、Tor |
| 规则集引擎 | 独立 Rule-Set (.srs 二进制高性能规则集 / .json 规则) |
| 流量接管方式 | 系统级 TUN 虚拟网卡 (基于 gVisor / System 协议栈)、本地 Mixed 入站端口 |
| 上手难度 | ⭐⭐⭐ (图形版中等,JSON配置高级) |
| 最近技术核验 | 2026-08-20 (通过 1.10+ 版本实测) |
3. 3 分钟快速上手配置 (图形客户端版)
对于使用官方 GUI 客户端(Windows / Android / iOS)的普通用户,无需直接手写复杂的 JSON 配置,只需 4 步:
第 1 步:从官方渠道安装对应系统的 sing-box 图形客户端(或在 App Store 下载)
↓
第 2 步:打开客户端,进入「Profiles (配置)」页面,点击「+」添加配置
↓
第 3 步:选择「Import Remote Profile (导入远程订阅)」,粘贴机场提供的 sing-box 专属订阅链接并拉取
↓
第 4 步:回到首页「Dashboard」,选中期望使用的专线节点,拨动开关开启「Start (连接)」并允许系统权限
4. 核心架构拆解:sing-box JSON 配置基础
理解 sing-box 的工作逻辑,核心在于搞清楚以下 5 个顶级配置模块:
┌──────────────┐
│ Inbounds │ (入站:SOCKS5 / HTTP 端口 / TUN 虚拟网卡)
└──────┬───────┘
│
┌──────▼───────┐
│ Route │ (路由:根据 Rule-Set 与规则将流量分流)
└──────┬───────┘
│
┌──────▼───────┐
│ DNS │ (域名解析:Fake-IP / 本地直连 DNS / 远端加密 DNS)
└──────┬───────┘
│
┌──────▼───────┐
│ Outbounds │ (出站:代理节点集群 / DIRECT 直连 / BLOCK 拦截)
└──────────────┘
1. Inbounds (入站)
定义本地如何接收应用程序的网络请求。常用类型包括:
mixed:同时提供 SOCKS5 和 HTTP 代理端口(如监听127.0.0.1:2080);tun:创建系统虚拟网卡,直接捕获整机三层 IP 数据包。
2. Outbounds (出站)
定义流量转发的目标。通常包含:
selector:供用户手动点选节点的策略组;urltest:自动测试延迟并切换最优节点的策略组;- 具体的单个节点协议块(如
type: "vless"、type: "hysteria2"); - 内置出站:
direct(直连)与block(拦截)。
3. Route (路由分流规则)
定义什么流量走什么出站。sing-box 支持基于 domain、domain_suffix、ip_cidr、rule_set 等维度进行高精度分流匹配。
5. 进阶技术:Rule-Set 高性能二进制规则集
传统 Clash 配置文件中需要将成千上万行域名列表内嵌在单一 YAML 文件中,极大拖慢了解析速度并占据内存。
sing-box 采用了 Rule-Set 架构:
{
"route": {
"rule_set": [
{
"tag": "geosite-openai",
"type": "remote",
"format": "binary",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/rule-set/geosite-openai.srs",
"download_detour": "direct"
}
],
"rules": [
{
"rule_set": "geosite-openai",
"outbound": "OpenAI-Proxy"
},
{
"rule_set": "geosite-cn",
"outbound": "direct"
}
]
}
}
.srs预编译二进制格式:通过 Headless 快速索引,比纯文本规则匹配速度提升数倍,内存开销降低 80% 以上。
6. 系统级 TUN 模式调优实战
在全局透明代理场景下,TUN 模块的配置至关重要:
{
"inbounds": [
{
"type": "tun",
"tag": "tun-in",
"interface_name": "singbox-tun",
"inet4_address": "172.19.0.1/30",
"auto_route": true,
"strict_route": true,
"stack": "system",
"sniff": true
}
]
}
stack: "system":使用系统原生网络协议栈,吞吐量最高且 CPU 占用极低;auto_route: true:自动接管默认网关路由;strict_route: true:严格路由隔离,杜绝 DNS 真实公网泄漏。
7. 故障诊断决策树 (Troubleshooting Tree)
遇到 sing-box 运行异常时,请按以下标准化路径排查:
sing-box 故障诊断树
│
├─ 1. 启动报错提示 JSON Parse Error?
│ ├─ 语法符号错误 → 检查末尾多余逗号或缺少引号闭合
│ └─ 编码问题 → 确保配置文件为 UTF-8 无 BOM 编码
│
├─ 2. 节点测速全部超时或 TLS Handshake Failed?
│ ├─ 系统时钟不同步 → 同步系统时间至标准网络时间 (偏差不可>60s)
│ └─ Reality 证书公钥不匹配 → 检查公钥 (publicKey) 与 ShortId 是否最新
│
├─ 3. TUN 开启后无法上网或提示权限不足?
│ ├─ Windows 未以管理员身份运行 → 右键客户端选择「以管理员身份运行」
│ └─ 驱动冲突 → 卸载老旧 Wintun 驱动后重新开启客户端
│
└─ 4. 国内网站解析缓慢或无法打开?
└─ DNS 配置不当 → 检查 DNS 规则中是否缺少中国大陆直连 DNS 服务器 (如 223.5.5.5)
8. 总结与延伸阅读
sing-box 凭借其现代化的架构设计、超轻量的内存消耗与对下一代协议的完美支持,正在成为高级极客与软路由网络的核心基石。
- 桌面端对比指南: Clash Verge Rev vs v2rayN 选型对比
- 安全下载守则: 代理客户端安全下载与防钓鱼指南
- 准备高速节点: 2026 机场选型避坑指南 · 经核验的精选服务商列表
常见问题解答 (FAQ)
sing-box 是什么?它和 Clash、Xray 有什么本质区别?
普通小白用户适合直接手写 sing-box JSON 配置文件吗?
sing-box 配置文件中的 Inbounds 和 Outbounds 代表什么?
什么是 sing-box 的 Rule-Set 独立规则集?
sing-box 在 Windows 或 Android 上连接失败如何排查?
sing-box 支持在软路由 (OpenWrt) 上运行吗?
为什么说 sing-box 的 DNS 架构比传统客户端更先进?
如何将 Clash 订阅转换为 sing-box 可用的 JSON 配置?
代理客户端怎么选?Windows / Mac / iOS / Android 选型指南
了解 sing-box 与 Clash、v2rayN、Shadowrocket 的全方位对比