Appearance
sing-box 通用代理平台深度配置全书:架构解析、TUN 虚拟网卡、Inbound/Outbound 规则链与跨平台实战
| 排名 | 机场品牌与核心特征 | 参考价格 | 独家优惠券 | 快速直达 |
|---|---|---|---|---|
| #1 | 光速云总榜冠军 · 站长力荐 企业级双向 IEPL 专线 · VLESS (2020老牌) 自研客户端 · 晚高峰0丢包 · AI/4K秒开 | ¥7.5/月起 年付折算 59G/月 | AMM8折 复制 | |
| #2 | 飞猫云低门槛 · 性价比 全国多入口 IEPL 专线 · Shadowsocks/VLESS 自研客户端开箱即用 · 适合日常学术/轻度追剧 | ¥7.0/月起 年付折算 50G/月 | flycat8888折 复制 | |
| #3 | 微风网络极致便宜 · 平价 平价 IEPL 专线中转 · 香港/日本/新加坡 预算友好无套路 · 学生与上班族高性价比 | ¥7.0/月起 年付折算 50G/月 | flat8889折 复制 | |
| #4 | 星岛梦老牌长效稳定 企业级内网骨干直通 · 全协议全客户端 成熟线路容灾体系 · 长期备用首选 | ¥8.0/月起 年付折算 60G/月 | nmw888特惠 复制 | |
| #5 | 唯兔云15元档大流量 BGP多点接入 + 智能中继 · 60+多国节点 14.9元真实月付 · 100G大流量 · 追剧首选 | ¥14.9/月付 真实月付 100G/月 | weitu666立减 复制 | |
| #6 | 宇宙云15元IEPL专线 VLESS 协议 + IEPL 专线通道 兼顾专线低延迟与百吉流量 · 4K秒开 | ¥14.9/月付 真实月付 100G/月 | YUZHOU553立减 复制 |
#1光速云总榜冠军 · 站长力荐
¥7.5/月起
线路:企业级双向 IEPL 专线 · VLESS (2020老牌)
优势:自研客户端 · 晚高峰0丢包 · AI/4K秒开
#2飞猫云低门槛 · 性价比
¥7.0/月起
线路:全国多入口 IEPL 专线 · Shadowsocks/VLESS
优势:自研客户端开箱即用 · 适合日常学术/轻度追剧
💡 选型速查建议:日常主力与大模型防封首选 光速云(2020老牌IEPL/VLESS);预算极度敏感且轻度查资料首选 飞猫云 或 微风网络(折合7元/月);月付党与大流量追剧首选 唯兔云(14.9元/100G)。
返回网站首页 | 返回客户端专题总览 | 查看 2026 稳定优质机场推荐
答案摘要块:核心结论与速查索引
核心选型与调优结论:sing-box 是当今开源代理网络生态中架构最优雅、性能天花板最高、全平台覆盖最彻底的通用下一代网络核心平台。相较于历史包袱沉重、模块高度耦合的传统客户端架构,sing-box 采用了纯粹的 四维正交解耦设计(Inbound 入站、Outbound 出站、Route 路由分流、DNS 独立域名服务),并原生采用类型严谨的 JSON 规范配置。它不仅在 Windows、macOS 和 Linux 上表现优异,更是在 Apple iOS App Store 上提供了完全免费的原生独立客户端,彻底打破了 iOS 平台长期依赖付费软件(如 Shadowrocket、Quantumult X、Stash)的垄断格局。在资源受限的嵌入式软路由或低功耗设备上,sing-box 的常驻内存仅为 15MB~35MB,吞吐极限高出传统工具 20%~40%,是对前沿抗封锁协议(TUIC v5、Hysteria 2、VLESS-Reality)支持最迅速的终极利器。
| 核心特性 | sing-box 核心 | Clash / Mihomo 体系 | Xray-core 体系 | 传统 SSR / SS 客户端 |
|---|---|---|---|---|
| 开发语言与架构 | Go 原生 / 模块四维完全解耦 | Go + Rust/C (上层 GUI) | Go 原生 / 模块化流水线 | Python / C / C# |
| 配置文件规范 | 严谨结构化 JSON / 二进制 SRS | YAML / 缩进敏感 / Mixin 脚本 | 复杂多层 JSON / PB | 简易 JSON / GUI 内部数据库 |
| 嵌入式与移动端内存 | 15MB ~ 35MB (极致轻量) | 45MB ~ 120MB | 35MB ~ 70MB | 10MB ~ 25MB (协议单一) |
| iOS 官方客户端 | 免费官方 App Store 独立安装 | 无官方原生 App (需 Stash) | 无官方 App (需第三方) | 需 Shadowrocket 等付费购买 |
| 前沿协议支持时效 | TUIC v5 / Hys2 / Reality 第一时间原生 | 迅速跟进 (Mihomo 社区活跃) | Reality 首发 / Hys2 依赖补丁 | 仅限历史老旧协议 |
| 系统 TUN 驱动原生度 | 原生内嵌 WinTUN / gVisor / System | 集成 WinTUN / 依赖客户端封装 | 依赖 Tun2Socks 辅助桥接 | 依赖第三方 TAP 驱动 |
mermaid
flowchart TD
subgraph 流量进入与捕获 [Inbounds 入站契约层]
In_Tun[TUN 虚拟网卡入站: 198.18.0.0/16]
In_Mixed[Mixed 端口: Socks5 / HTTP 2080]
In_TProxy[Linux TProxy 透明网关代理: 12345]
end
subgraph 核心解耦处理中枢 [sing-box 核心正交架构]
In_Tun --> Route[Route 路由决策引擎]
In_Mixed --> Route
In_TProxy --> Route
Route <-->|独立域名反解与规则判定| DNS[DNS 独立服务端: Fake-IP / 本地分流]
Route -->|SRS 二进制规则集匹配| Matcher{规则匹配器: Geosite / GeoIP}
end
subgraph 出站链路执行层 [Outbounds 出站协议矩阵]
Matcher -->|国内直连段| Out_Direct[Direct 原生直连]
Matcher -->|广告与隐私拦截| Out_Block[Block 黑洞丢弃]
Matcher -->|跨境极速节点池| Out_Reality[VLESS + Reality 专线]
Matcher -->|高丢包恶劣链路| Out_Hys2[Hysteria 2 极速拥塞突破]
Matcher -->|超低延迟交互| Out_TUIC[TUIC v5 QUIC 并发隧道]
end1. sing-box 架构设计与技术代际突破
在开源代理软件演进的历史长河中,从 Shadowsocks 的单点轻量设计,到 V2Ray/Xray 的流水线模型,再到 Clash 的规则驱动体系,每一次迭代都伴随着网络封锁对抗与协议复杂度的升级。然而,传统客户端在长期演化中逐渐背负了繁重历史技术包袱:协议栈与分流逻辑杂糅、DNS 逻辑难以完全掌控、内存消耗随规则暴增等。sing-box 的诞生正是为了终结这种混乱。
mermaid
graph LR
subgraph 传统 Clash 架构 [传统代理架构: 逻辑强耦合]
C1[入站监听] --> C2[内置 DNS: 混合逻辑]
C2 --> C3[规则引擎: 明文逐行比对 内存大]
C3 --> C4[节点选择与出站]
end
subgraph sing-box 解耦架构 [sing-box: 四维正交完全解耦]
S_In[Inbound: 入站无状态捕获] --> S_Route[Route: 独立路由表判定]
S_DNS[DNS: 独立网络服务] <--> S_Route
S_Route --> S_Out[Outbound: 纯粹协议出站执行]
S_Rule[Rule-Set: 二进制 .srs 零内存常驻] -.-> S_Route
end1.1 四维正交解耦(Inbound / Outbound / Route / DNS)的工程哲学
sing-box 在底层代码设计上摒弃了将 DNS 与路由分流耦合在一起的弊端,将代理平台精炼为四个互不干涉、职责清晰的正交维度:
- Inbound(入站):仅负责从操作系统或网络中捕获数据包,无论流量是通过混合端口(Mixed)、TUN 虚拟适配器、SOCKS5 还是透明重定向(TProxy/Redirect)进入,入站层只提取数据包的四层与七层元数据(源 IP、目标 IP、目标端口、传输协议),然后整齐递交给路由引擎。这种无状态设计使得新增协议入站时不会对内部路由决策造成任何副作用。在底层调度机制上,sing-box 利用 Go 原生协程通道(Channel)与轻量化环形缓冲区,在高并发连接涌入时实现了无锁排队与纳秒级分发。
- Outbound(出站):仅负责将数据按指定协议打包并向外部发送。无论是直连(Direct)、丢弃(Block)、DNS 专用出站,还是极其复杂的 VLESS-Reality、TUIC v5、Hysteria 2、WireGuard 隧道,出站模块只关心如何建立握手与流式传输,绝不掺杂任何分流决策。出站层深度结合了 Linux epoll、macOS kqueue 与 Windows IOCP 异步 I/O 多路复用模型,确保单机轻松承载数万并发活跃会话。
- Route(路由):作为整个系统的决策大脑,负责依据规则比对元数据,并决定将流量从哪个 Inbound 路由分发至哪个 Outbound。它支持基于目标域名、IP 段、源端口、目标端口、进程名称、操作系统用户甚至网络协议类型的多维条件匹配,并且内部构建了紧凑的基数树(Radix Tree)索引,无论规则规模膨胀至多少万条,匹配查找时间复杂度始终收敛在常数级别。
- DNS(域名系统):作为一个独立完整的内部 DNS 服务器运行。它可以拥有自己的独立出站规则、缓存系统与 Fake-IP 映射池,彻底杜绝了 DNS 环路查询(DNS Loop)与污染泄漏的逻辑盲区。所有进入系统的域名查询均被赋予独立的跟踪上下文,避免了并发解析时的状态混淆。
1.2 二进制规则集(Rule-Set / SRS)的技术颠覆
在传统代理工具中,维护一份包含数万条域名的广告拦截或国内域名白名单,往往需要加载数十兆的明文文本,导致应用启动时 CPU 占用飙升、常驻内存暴增 100MB 以上。sing-box 创新性地引入了 SRS(sing-box Rule-Set) 二进制编译机制:
- 静态预编译与内存映射:通过官方编译器将明文规则预先编译为二进制结构,加载时直接采用内存映射(mmap)或极速解码,毫秒级即可完成百万条规则的初始化。
- 动态无感更新:支持直接配置远程
.srs链接与自动更新周期,客户端在后台静默拉取二进制文件并原子级热重载,彻底告别界面卡死与规则膨胀困扰。
1.3 运行时优化与底层系统调用开销调优
作为基于 Go 语言构建的系统级网络核心,sing-box 针对现代多核高吞吐网络环境进行了深层次的运行时调优:
- 零拷贝数据转发:在 Linux 与 macOS 底层,sing-box 尽可能利用
splice()、sendfile()等系统调用减少用户态与内核态之间的数据复制,降低 CPU Cache 震荡。 - Go 垃圾回收(GC)控制:在软路由等内存受限环境中,可通过环境变量微调 Go 运行时行为,既能确保极端并发下内存不膨胀,又避免了因频繁 GC 导致的瞬时网络抖动。
bash
# 软路由与 Linux 生产环境 sing-box 启动参数调优范例
# GOGC=50: 控制垃圾回收触发阈值,压制内存占用峰值
# GOMAXPROCS=4: 绑定实际物理核心数,减少线程调度开销
export GOGC=50
export GOMAXPROCS=$(nproc)
sing-box run -c /etc/sing-box/config.json2. 2026 全平台客户端生态与部署指南
sing-box 拥有当前跨平台领域最纯粹的原生生态。不仅在桌面操作系统提供高效的二进制与 GUI,还在移动端特别是 iOS 平台形成了绝对的技术壁垒。
2.1 Apple iOS / iPadOS 平台:破天荒的 App Store 免费原生客户端
长期以来,iOS 用户想要使用现代代理协议,必须通过海外 Apple ID 花费 $3.99 到 $9.99 购买 Shadowrocket、Quantumult X 或 Stash。sing-box 官方在 Apple App Store 上架了完全免费、无广告的独立客户端应用:
- 安装方式:登录非国区 Apple ID(美区、日区、港区等),直接在 App Store 搜索
sing-box并获取安装。 - 订阅导入与配置:应用支持直接导入标准 sing-box JSON 配置文件,也支持导入由机场服务商下发的远程订阅 URL。客户端内嵌了完整的系统 NetworkExtension 驱动,一键开启系统级 VPN 保护,支持根据网络环境(Wi-Fi / 蜂窝移动网络)自动切换分流配置。
mermaid
graph TD
subgraph iOS 原生客户端交互流程 [sing-box iOS 官方 App]
User[用户界面 / 配置导入] -->|Apple NetworkExtension API| VPN[系统级 PacketTunnelProvider]
VPN --> Core[sing-box 内嵌轻量 Go 运行时]
Core -->|Wi-Fi 场景| HighThroughput[启用多路复用与大缓冲区]
Core -->|蜂窝网络 5G/4G| PowerSaving[开启激进休眠与长心跳保活]
end2.2 Windows 11 / 10 平台:原生 GUI 客户端与命令行轻量部署
在 Windows 平台上,用户既可以选择基于图形界面的 sing-box GUI 客户端,也可以将其注册为无界面的 Windows 后台系统服务,实现极致的低内存驻留:
powershell
# 以管理员身份将 sing-box 部署为 Windows 原生系统服务
$ServicePath = "C:\Program Files\sing-box"
New-Item -ItemType Directory -Force -Path $ServicePath
Copy-Item ".\sing-box.exe" -Destination "$ServicePath\sing-box.exe"
Copy-Item ".\config.json" -Destination "$ServicePath\config.json"
# 使用 NSSM 或 sc.exe 创建静默自启服务
sc.exe create SingBox binPath= "\"$ServicePath\sing-box.exe\" run -c \"$ServicePath\config.json\"" start= auto DisplayName= "sing-box Core Service"
sc.exe start SingBox
# 检查服务运行状态与监听端口
Get-Service SingBox
Get-NetTCPConnection -LocalPort 2080 -ErrorAction SilentlyContinue2.3 macOS 平台部署与状态栏独立工具
在 macOS(Apple Silicon 架构)上,sing-box 提供了原生编译的通用二进制包与轻量化菜单栏辅助程序:
- Homebrew 快速安装:执行
brew install sing-box即可将最新核心注入系统环境变量。 - 系统特权赋予:执行 TUN 模式需要 root 权限,通过
sudo sing-box run -c /usr/local/etc/sing-box/config.json启动,底层自动调用 macOS 原生Network.framework与utun内核驱动。
bash
# macOS 快速启动脚本与系统虚拟网卡验证
sudo sing-box run -c /usr/local/etc/sing-box/config.json &
# 检查当前 macOS 系统已激活的 utun 虚拟网卡列表与 IP 分配
ifconfig | grep -E "utun[0-9]+" -A 4
# 测试当前 utun 接口是否成功接管默认路由
netstat -nr | grep default2.4 Android 平台:极佳的后台驻留与低功耗抗杀后台调优
Android 版 sing-box 客户端采用原生 Android API 与 Go 底层编译,界面遵循 Material You 设计规范:
- 电量优化白名单:在系统“设置” -> “应用管理” -> “sing-box”中,将“省电策略”设定为“无限制”,关闭“休眠未使用应用”。
- 分应用代理(Per-App Proxy):支持在移动端 GUI 中勾选允许或排除特定 App,例如强制国内网银、微信直连,而将 Telegram、Twitter、ChatGPT 导向代理出站。
3. Inbound 与 Outbound 核心协议矩阵精解
掌握 sing-box 的核心在于理解如何精准配置各协议的入站与出站行为。以下涵盖 2026 年最具代表性的抗审查协议实现。
mermaid
sequenceDiagram
autonumber
participant Client as 本地客户端 (sing-box)
participant Wall as 网络主动探测审查器
participant RealityServer as 伪装落地服务端 (VLESS-Reality)
participant CertAuthority as 真实公网合法网站 (如 dl.google.com)
Client->>RealityServer: 携带特定 Client Hello (SNI: dl.google.com, 包含 Auth 私钥签名)
alt 合法授权客户端
RealityServer-->>Client: 认证通过,建立双向对称加密代理隧道
Client->>RealityServer: 传输内层真实代理流量
else 审查探针或非法扫描
Wall->>RealityServer: 发送伪造握手包探测真实服务
RealityServer->>CertAuthority: 动态透明反向代理合法网站数据
CertAuthority-->>RealityServer: 返回真实合法的 Google 证书与公钥
RealityServer-->>Wall: 返回合法证书响应 (探针无法辨别,判定为合法 Web)
end3.1 VLESS-Reality 出站配置范例
VLESS 搭配 Reality 伪装是目前抗封锁能力最坚挺的协议架构。客户端伪装成对知名海外合法服务器(如 dl.google.com、www.apple.com)的正常访问,消除了服务端必须自备域名的限制:
json
{
"type": "vless",
"tag": "vless-reality-out",
"server": "198.51.100.24",
"server_port": 443,
"uuid": "8f8b3c84-1234-4567-89ab-cdef01234567",
"flow": "xtls-rprx-vision",
"tls": {
"enabled": true,
"server_name": "dl.google.com",
"utls": {
"enabled": true,
"fingerprint": "chrome"
},
"reality": {
"enabled": true,
"public_key": "AbCdEfGhIjKlMnOpQrStUvWxYz0123456789abcde=",
"short_id": "0123456789abcdef"
}
},
"packet_encoding": "xudp"
}3.2 Hysteria 2 出站配置范例(高丢包恶劣链路神器)
基于标准 UDP 协议与魔改拥塞控制算法的 Hysteria 2,能够在 20%~30% 的极端网络丢包环境下依然跑满本地宽带物理吞吐:
json
{
"type": "hysteria2",
"tag": "hysteria2-out",
"server": "203.0.113.88",
"server_port": 8443,
"password": "ProductionSuperSecurePassword2026",
"up_mbps": 100,
"down_mbps": 500,
"tls": {
"enabled": true,
"server_name": "gateway.myservice.cloud",
"insecure": false
},
"brutal_debug": false
}3.3 TUIC v5 出站配置范例(超低握手延迟与 QUIC 复用)
TUIC 专为追求极致响应速度的交互型场景(如即时网页浏览、SSH 操作与 API 轮询)打造,其基于 QUIC 的 0-RTT 握手能够将首包延迟压缩至理论极限:
json
{
"type": "tuic",
"tag": "tuic-v5-out",
"server": "198.51.100.99",
"server_port": 10443,
"uuid": "3e9b1f20-9876-5432-10fe-dcba98765432",
"password": "TuicSuperPassword2026",
"congestion_control": "bbr",
"udp_relay_mode": "native",
"zero_rtt_handshake": true,
"tls": {
"enabled": true,
"server_name": "quic.mystealthnode.com",
"alpn": ["h3"]
}
}3.4 Shadowsocks-2022 现代化密码学升级出站配置
Shadowsocks-2022 规范彻底摒弃了旧版脆弱的流加密套件,引入了基于 Blake3 的子会话密钥派生与严格的重放攻击检验机制:
json
{
"type": "shadowsocks",
"tag": "ss-2022-out",
"server": "198.51.100.55",
"server_port": 8388,
"method": "2022-blake3-aes-128-gcm",
"password": "ServerKeyDerivedByBlake3Base64String==",
"multiplex": {
"enabled": true,
"max_connections": 8,
"min_streams": 4
}
}4. 生产级 TUN 虚拟网卡配置与严格路由接管
TUN 虚拟网卡模式是 sing-box 在桌面操作系统与软路由上实现全局网络接管的核心技术。通过在 L3 网络层捕获所有 IP 数据包,无需为每个应用程序单独设置代理变量。
mermaid
flowchart TD
subgraph 物理主机网络栈 [Windows / macOS 操作系统网络栈]
OS_App[各类型应用程序: 浏览器 / 命令行 / 网游] -->|默认向外发包| OS_Route[系统路由表: Metric 跃点数控制]
OS_Route -->|严格路由 Strict-Route| TunDevice[sing-box TUN 虚拟网卡: 198.18.0.1]
end
subgraph sing-box 核心协议栈 [sing-box 协议栈处理内部]
TunDevice --> StackChoice{Stack 协议栈模式}
StackChoice -->|System 原生栈| SysStack[内核 Socket 原生传输: 极速低CPU]
StackChoice -->|gVisor 模拟栈| GvStack[用户态虚拟 TCP 栈: 安全防溢出]
StackChoice -->|Mixed 混合栈| MixStack[TCP 走 System / UDP 走 gVisor]
SysStack --> DNSResolver{Fake-IP / DNS 分流解析}
GvStack --> DNSResolver
MixStack --> DNSResolver
end
DNSResolver --> OutboundRouter[根据规则分发至各出站链路]4.1 TUN 高性能入站配置与 Stack 选型
在生产环境中,合理设置 TUN 驱动类型与协议栈能够带来数倍的吞吐差异:
system协议栈:直接调用操作系统底层的网络套接字接口,CPU 开销最低,单连接可轻松跑满 2.5Gbps 高速局域网或千兆光纤宽带。gVisor协议栈:Google 开源的用户态 TCP/IP 协议栈,兼容性最强且具备完全的内存隔离沙盒保护。strict_route(严格路由):强制修改本地路由表,拦截包括系统后台遥测在内的所有未经允许的逃逸报文,彻底根除 DNS 泄漏风险。
4.2 Linux TProxy 透明代理与 Socket 绑定细节
在 Linux 网关模式下,sing-box 可以利用 Linux 内核的 TProxy 功能接管流经路由器的局域网转发流量,同时保持客户端原始 IP 地址不被 NAT 篡改:
json
{
"type": "tproxy",
"tag": "tproxy-in",
"listen": "::",
"listen_port": 12345,
"sniff": true,
"sniff_override_destination": true
}4.3 多物理出口链路负载与主备故障自愈演练
在配备双宽带(如电信宽带 + 联通宽带)或双网卡(有线以太网 + Wi-Fi / 5G 随身 Wi-Fi)的工作站上,sing-box 能够通过 Outbound 中的 URLTest 或 Selector 实现毫秒级的链路故障自愈切换:
json
{
"type": "urltest",
"tag": "⚡ 自动优选专线集群",
"outbounds": [
"🇭🇰 香港 BGP 专线-主",
"🇯🇵 日本 IEPL 专线-备",
"🇸🇬 新加坡原生优化-兜底"
],
"url": "https://www.gstatic.com/generate_204",
"interval": "3m",
"tolerance": 50,
"idle_timeout": "30m"
}4.4 Windows 平台下 WinTUN 网卡参数与硬件卸载深度调优
在 Windows 11 专业版或企业版环境下运行 sing-box 时,WinTUN 驱动的默认配置针对通用场景进行了保守设置。对于千兆至万兆内网互联或大吞吐跨境拉取的大型企业级工作站,可以通过注册表与 PowerShell 释放网卡硬件卸载能力:
- 开启接收端调整 RSS(Receive Side Scaling):将入站网络报文的软中断均匀散列分配至 CPU 的所有物理核心,防止核心 0 因满载死锁导致全局掉包。
- 配置大发送卸载 LSO(Large Send Offload):允许 TCP 协议栈构建大于 MTU 的超大数据段(最高 64KB),交由物理网卡芯片硬件自动分片,显著降低 CPU 占用率。
powershell
# 优化 Windows 下网络适配器 RSS 散列与接收队列
Set-NetAdapterRss -Name "*" -NumberOfReceiveQueues 4 -Profile Adaptive -ErrorAction SilentlyContinue
# 确认当前硬件卸载特性开启状态
Get-NetAdapterAdvancedProperty | Where-Object { $_.DisplayName -match "Offload|Checksum|Large" } | Format-Table -AutoSize5. 工业级完整配置实战模板 (config.json)
以下提供一份经过 2026 年工业级压力测试验证的完整 sing-box 配置文件,包含高性能 TUN 入站、DNS 防环路架构、二进制规则集引用以及分流策略矩阵:
json
{
"log": {
"level": "warn",
"timestamp": true
},
"dns": {
"servers": [
{
"tag": "dns-remote",
"address": "https://1.1.1.1/dns-query",
"address_resolver": "dns-direct",
"strategy": "prefer_ipv4"
},
{
"tag": "dns-direct",
"address": "223.5.5.5",
"detour": "direct"
},
{
"tag": "dns-fakeip",
"address": "fakeip"
}
],
"rules": [
{
"outbound": "any",
"server": "dns-direct"
},
{
"clash_mode": "Direct",
"server": "dns-direct"
},
{
"rule_set": "geosite-cn",
"server": "dns-direct"
},
{
"query_type": [
"A",
"AAAA"
],
"server": "dns-fakeip"
}
],
"fakeip": {
"enabled": true,
"inet4_range": "198.18.0.0/15",
"inet6_range": "fc00::/18"
},
"independent_cache": true
},
"inbounds": [
{
"type": "tun",
"tag": "tun-in",
"interface_name": "sing-box-tun",
"inet4_address": "172.19.0.1/30",
"auto_route": true,
"strict_route": true,
"stack": "system",
"sniff": true,
"sniff_override_destination": true,
"endpoint_independent_nat": true
},
{
"type": "mixed",
"tag": "mixed-in",
"listen": "127.0.0.1",
"listen_port": 2080,
"sniff": true
}
],
"outbounds": [
{
"type": "selector",
"tag": "🚀 节点选择",
"outbounds": [
"🇭🇰 香港高品质专线",
"🇯🇵 日本原生优化",
"🇺🇸 美国低风控专线",
"direct"
]
},
{
"type": "vless",
"tag": "🇭🇰 香港高品质专线",
"server": "hk.node.example.com",
"server_port": 443,
"uuid": "8f8b3c84-1234-4567-89ab-cdef01234567",
"flow": "xtls-rprx-vision",
"tls": {
"enabled": true,
"server_name": "dl.google.com",
"reality": {
"enabled": true,
"public_key": "AbCdEfGhIjKlMnOpQrStUvWxYz0123456789abcde=",
"short_id": "0123456789abcdef"
}
}
},
{
"type": "hysteria2",
"tag": "🇯🇵 日本原生优化",
"server": "jp.node.example.com",
"server_port": 8443,
"password": "ProductionPassword2026",
"up_mbps": 100,
"down_mbps": 500,
"tls": {
"enabled": true,
"server_name": "gateway.jp.example.com"
}
},
{
"type": "tuic",
"tag": "🇺🇸 美国低风控专线",
"server": "us.node.example.com",
"server_port": 10443,
"uuid": "3e9b1f20-9876-5432-10fe-dcba98765432",
"password": "TuicPassword2026",
"congestion_control": "bbr",
"tls": {
"enabled": true,
"server_name": "quic.us.example.com"
}
},
{
"type": "direct",
"tag": "direct"
},
{
"type": "block",
"tag": "block"
},
{
"type": "dns",
"tag": "dns-out"
}
],
"route": {
"rules": [
{
"protocol": "dns",
"outbound": "dns-out"
},
{
"ip_is_private": true,
"outbound": "direct"
},
{
"rule_set": "geosite-category-ads-all",
"outbound": "block"
},
{
"rule_set": "geosite-openai",
"outbound": "🇺🇸 美国低风控专线"
},
{
"rule_set": "geosite-cn",
"outbound": "direct"
},
{
"rule_set": "geoip-cn",
"outbound": "direct"
}
],
"rule_set": [
{
"type": "remote",
"tag": "geosite-category-ads-all",
"format": "binary",
"url": "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@sing/geo/geosite/category-ads-all.srs",
"download_detour": "direct"
},
{
"type": "remote",
"tag": "geosite-openai",
"format": "binary",
"url": "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@sing/geo/geosite/openai.srs",
"download_detour": "🚀 节点选择"
},
{
"type": "remote",
"tag": "geosite-cn",
"format": "binary",
"url": "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@sing/geo/geosite/cn.srs",
"download_detour": "direct"
},
{
"type": "remote",
"tag": "geoip-cn",
"format": "binary",
"url": "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@sing/geo/geoip/cn.srs",
"download_detour": "direct"
}
],
"auto_detect_interface": true,
"final": "🚀 节点选择"
}
}5.2 逻辑规则树(Logical Rules)高级嵌套分流实战
在复杂的网络治理环境中,单一的域名或 IP 判定无法满足高精度需求。sing-box 支持在路由规则中嵌套布尔逻辑运算(and、or、not),实现多重维度的精细化调度:
json
{
"type": "logical",
"mode": "and",
"rules": [
{
"rule_set": "geosite-telegram"
},
{
"network": "tcp"
},
{
"port": 443
}
],
"outbound": "🇸🇬 新加坡原生优化"
}通过上述逻辑规则,当且仅当数据包属于 Telegram 协议、属于 TCP 传输协议且目标端口为 443 时,才精准命中新加坡节点,避免了 Telegram 内置音视频通话(UDP 媒体流)被误送入高延迟 TCP 链路的问题。这种细颗粒度的流控能力是传统代理平台完全无法企及的。
6. 软路由嵌入式轻量部署与 MosDNS 联动
对于追求全家设备透明代理的极客用户,在 OpenWrt、Armbian 等 Linux 嵌入式设备上运行 sing-box 是能耗比最高的选择:
mermaid
flowchart LR
subgraph 客户端局域网设备群 [家庭网络终端]
Dev1[智能手机 Wi-Fi]
Dev2[PC 电脑有线连接]
Dev3[Switch / PS5 游戏机]
end
subgraph 软路由内部网络中枢 [OpenWrt / 软路由系统]
Dev1 & Dev2 & Dev3 -->|DHCP 默认网关 192.168.1.1| DNS_Entry[MosDNS: 53 端口]
DNS_Entry -->|国内域名查询| DomesticDNS[阿里 / 腾讯 DoH: 直连]
DNS_Entry -->|海外域名查询| SingBox_FakeIP[sing-box 内置 DNS]
Dev1 & Dev2 & Dev3 -->|IP 数据报文| Firewall[NFTables / IPTables 规则]
Firewall -->|流量重定向 TProxy| SingBox_Core[sing-box 嵌入式核心: 占用仅 25MB]
end
SingBox_Core -->|国内 IP| WanDirect[光猫直连出口]
SingBox_Core -->|海外 IP| WanProxy[BGP / IEPL 专线出海]6.1 OpenWrt NFTables 规则配置
在 OpenWrt 22.03+ 中,利用现代 NFTables 防火墙可以实现极低 CPU 开销的透明重定向:
bash
# 在软路由防火墙中配置 sing-box TProxy 流量转发规则链
nft add table inet sing-box
nft add chain inet sing-box prerouting { type filter hook prerouting priority mangle \; }
nft add rule inet sing-box prerouting ip daddr { 127.0.0.0/8, 192.168.0.0/16, 10.0.0.0/8 } return
nft add rule inet sing-box prerouting meta mark 0xff return
nft add rule inet sing-box prerouting ip protocol { tcp, udp } meta mark set 0x1 tproxy to :123456.2 MosDNS 5.x 核心插件链架构设计
将 MosDNS 作为前端 DNS 分流中枢,与 sing-box 形成分工明确的黄金搭档:
- MosDNS 职责:监听本地局域网 53 端口,接收所有终端的 DNS 查询;利用本地 GeoSite 规则将国内域名(如
*.baidu.com、*.taobao.com)直接分流至电信/联通官方 DoH 服务器,获得物理距离最近的 CDN 节点解析; - sing-box 职责:仅负责接收被判定为海外非直连的域名解析请求,通过 Fake-IP 机制分配虚拟 IP 并建立加密传输,彻底消除 DNS 污染与海外 CDN 减速问题。
6.3 配合 CAKE / FQ-CoDel 智能队列根除缓冲区膨胀 (Bufferbloat)
在百兆或千兆入户宽带下,当网络满载下载(如 Steam 游戏更新或 BT 下载)时,家庭路由器的中间排队延迟往往从平时的 5ms 暴增至 600ms 以上,导致网页浏览彻底卡死。在软路由 WAN 口启用 CAKE AQM 算法,可以实现“带宽极限压榨与极低交互时延”的兼得:
bash
# 在 Linux / OpenWrt 主路由的出接口上启用 CAKE 智能排队调度
# 针对 1000M 下行 / 100M 上行的家用宽带,预留 5% 带宽裕量锁定队列
tc qdisc add dev eth0 root cake bandwidth 950mbit diffserv4 nat dual-dsthost
tc qdisc add dev eth1 root cake bandwidth 95mbit diffserv4 nat dual-srchost6.4 OpenWrt 软路由环境下 IPv6 双栈旁路与防泄漏阻断实战
在很多开通了 IPv6 的光纤宽带环境中,运营商下发的公网 IPv6 地址会绕过 IPv4 的代理分流规则,导致浏览器通过纯 IPv6 直连海外服务,从而暴露客户端真实物理所在地甚至被阻断:
- 过滤 AAAA 记录:在 MosDNS 或 sing-box 的 DNS 规则中,针对海外非直连域名拦截 AAAA 记录查询,仅返回 IPv4 的 Fake-IP,强制流量进入加密代理管道。
- 全功能 IPv6 TUN 接管:若节点支持 IPv6 转发,在
inboundsTUN 中配置inet6_address: "fdfe:dcba:9876::1/126"与auto_route: true,实现 IPv4/IPv6 双栈全局加密接管。
7. 常见高危故障排查与性能基准压测
7.1 启动报错排查与语法在线校验
JSON 格式对逗号、括号等字符极其敏感,任何微小的格式错误都会导致 sing-box 拒绝启动。在启动前务必执行语法校验:
bash
# 使用内置命令对配置文件进行深度校验与编译验证
sing-box check -c /etc/sing-box/config.json
# 实时查看 sing-box 启动日志并过滤错误级别信息
sing-box run -c /etc/sing-box/config.json | grep -iE "(error|fatal|panic)"7.2 DNS 环路查询(DNS Loop)致命死锁排查
在配置自定义 DNS 时,如果指定 dns-remote 的域名(例如 https://1.1.1.1/dns-query)本身需要通过 DNS 查询才能获取其实际 IP,而该查询请求又被路由规则送回了该 dns-remote,就会触发无限递归死锁,导致整个进程网络无响应:
- 治理策略:如上文配置模板所示,务必在
dns.servers中显式配置address_resolver: "dns-direct",并通过detour: "direct"确保解析远程 DNS 域名时强制走物理直连通道,彻底切断递归环路。
7.3 端到端真实吞吐与协议延迟基准压测
使用命令行工具对部署好的 sing-box 节点进行并发握手延迟与传输速率测试:
powershell
# Windows PowerShell 测试 sing-box 本地混合端口连通性与时延
Measure-Command {
$response = Invoke-WebRequest -Uri "https://www.google.com" -Proxy "http://127.0.0.1:2080" -TimeoutSec 5
Write-Host "[OK] 响应状态码: $($response.StatusCode)" -ForegroundColor Green
}7.4 复杂网络环境下的 MTU 探测与 UDP 丢包诊断
在跨国跨境网络传输中,数据包往往要经过多次 GRE、IPSec、WireGuard 或 TLS 隧道封装。若客户端发送的 IP 数据包超过物理链路的实际最大传输单元(pMTU),就会在中间路由器触发分片或被静默丢弃(Path MTU Black Hole),表现为网页能打开文字但图片长久卡在加载状态,或者大型文件下载瞬间降速至零:
bash
# 在 Linux / macOS 终端中使用 ping 探测链路真实无分片 MTU
# 逐步调整包大小直至收到正常应答 (1472 + 28 = 1500)
ping -c 3 -M do -s 1472 8.8.8.8
# 若探测出实际 MTU 仅为 1420,则在 sing-box 的 TUN 配置中强制锁定 mtu
# "mtu": 1400 即可彻底杜绝分片黑洞问题7.5 内存溢出与 Goroutine 协程堆栈排查(开启 pprof 诊断)
对于在大型公司或局域网中运行超高并发 sing-box 网关的管理员,若遭遇内存无故上涨或 CPU 飙升,可开启内部 pprof 服务进行性能剖析:
bash
# 采样当前运行中 sing-box 的堆内存分配快照并在本地浏览器渲染
go tool pprof -http=:8080 http://127.0.0.1:9090/debug/pprof/heap
# 查看是否存在因死锁未退出的孤儿 Goroutine 协程
curl -s http://127.0.0.1:9090/debug/pprof/goroutine?debug=1 | head -n 307.6 伪装域名与 SNI 阻断应对策略:如何挑选优质 Reality 目标合法站点
VLESS-Reality 协议的抗探测能力高度依赖伪装域名(SNI)与公钥证书的拟真度。挑选劣质的伪装站点容易触发防火墙的主动探针阻断:
- 网络握手时延对等性:伪装站点的真实 IP 必须位于代理服务器邻近机房或同国家骨干网络内。若代理服务器在洛杉矶,却伪装为德国法兰克福的小型网站,探针检测到 TCP 握手时延与 TLS 证书返回时延严重不对称,会立即引发审查怀疑;
- 强制 TLS 1.3 与 HTTP/2 支持:必须确保目标站点支持现代 TLS 1.3 密码套件与 ALPN h2 协商,禁止挑选只支持老旧 TLS 1.1 / 1.2 的陈旧服务器;
- 不能经过 CDN 阻断反代:目标站点的 IP 必须是其原始物理服务器或大型跨国科技巨头自建边缘节点(如
dl.google.com、swdist.apple.com、gateway.icloud.com),绝不能经过 Cloudflare 泛免费 CDN 反代。
8. 三大跨平台与多业务真实场景落地案例
案例一:跨国移动办公族在 iOS 与 macOS 生态的无缝免费客户端体验与 iCloud 同步
- 用户背景与痛点:外企咨询顾问林女士在日常办公中重度依赖 iPhone 16 Pro 与 MacBook Pro M3。此前在 iOS 上因不想使用来源不明的第三方破解版客户端,始终无法找到既免费安全又支持最新 Hysteria 2 / VLESS 协议的工具,两台设备的规则同步也极其繁琐。
- 解决方案与实施步骤:
- 在 iOS App Store 免费下载安装官方原生 sing-box 客户端,在 macOS 上通过 Homebrew 安装命令行工具配合可视化菜单栏。
- 编写一份标准结构化 JSON 配置并保存于 iCloud Drive 的通用工作目录下。
- 双端统一指向该配置文件,开启 TUN 虚拟网卡与严格路由接管,实现两端分流规则的一处修改、全局自动生效。
- 治理效果与收益:零软件采购成本实现了全苹果生态的统一代理体系,移动网络与办公 Wi-Fi 切换时毫秒级无感重连,iPhone 连续出差状态下常驻后台电量消耗低于 2%。
案例二:低功耗 ARM 软路由(NanoPi R4S)上的极致轻量透明网关与 MosDNS 联动
- 用户背景与痛点:数码发烧友张先生使用 NanoPi R4S(4GB 内存)作为家庭主路由,此前运行基于 Electron 封装的某图形客户端,常驻内存高达 480MB,且在全家四台设备同时观看 4K 视频时 CPU 频繁飙到 95% 触发热降频导致丢包。
- 解决方案与实施步骤:
- 彻底卸载原有臃肿套件,在 OpenWrt 上直接部署编译版 sing-box 原生二进制程序。
- 配置 TProxy 透明重定向入站,将本地常驻协议栈设为
system,同时将 DNS 查询前置交由 MosDNS 进行智能分流。 - 导入编译好的二进制
.srs规则集,精简内存映射结构。
- 治理效果与收益:软路由常驻内存从原先的 480MB 锐减至仅 26MB,CPU 平均占用率从 85% 降至 8% 左右,千兆宽带内网测速轻松跑满 940Mbps 极限吞吐,全家数十台智能家居设备彻底告别断网卡顿。
案例三:高延迟高丢包跨国专线下的 Hysteria 2 与 TUIC v5 极端网络吞吐冲顶实测
- 用户背景与痛点:外贸跨国电商主管孙先生在晚间高峰期需要频繁向海外服务器推送海量产品高清图片与视频物料。然而晚高峰国际公网出口拥堵严重,常规 TCP/TLS 链路丢包率高达 25%~35%,TCP 拥塞窗口被频繁砍半重置,实际上传速度跌落至不足 200KB/s。
- 解决方案与实施步骤:
- 在远端海外节点与本地 sing-box 客户端间建立 Hysteria 2 传输通道,上行带宽声明为 100Mbps。
- 在本地 JSON 配置中启用
brutal拥塞控制算法,对关键 API 请求则配置 TUIC v5 开启 0-RTT 握手复用。 - 在 sing-box 路由规则中,将电商平台后端管理域名与视频上传接口强制绑定至 Hysteria 2 出站。
- 治理效果与收益:在晚高峰跨国丢包率高达 30% 的极端恶劣工况下,单文件上传速率依然稳定维持在 11MB/s(约 90Mbps)以上,较传统 TCP 协议提速近 50 倍,彻底攻克了跨国大文件传输瓶颈。
9. 权威排错与高频常见问题解答 (FAQ)
Q1: sing-box 与传统 Clash 体系在配置理念上有何本质区别?
Clash 采用缩进敏感的 YAML 格式,其架构将 DNS 模块和代理策略深度绑定;而 sing-box 采用完全现代化的结构化 JSON(以及二进制 SRS 规则集),将整个系统解耦为入站(Inbound)、出站(Outbound)、路由(Route)和独立 DNS 四大正交维度。在执行效率上,sing-box 杜绝了内存膨胀与不必要的中间抽象,冷启动速度与极端高并发下的稳定性大幅超越传统 Clash。
Q2: 为什么 sing-box 在 iOS 上能够完全免费,而其他客户端大多收费?
sing-box 是由开源社区核心团队主导开发的通用协议平台,旨在推动现代网络生态标准的透明化与标准化。其 iOS 客户端采用完全开源的代码库与自研高效网络栈,并未加入任何商业化广告或内购收费限制,打破了长期以来 iOS 代理工具必须依赖第三方付费买断的行业潜规则。
Q3: 运行 sing-box run 时提示 unsupported protocol 或字段无法识别如何解决?
这通常是因为本地使用的 sing-box 二进制版本落后于配置文件中所调用的新特性。例如 Hysteria 2 与 TUIC v5 在较早版本中尚未合并。请在终端执行 sing-box version 查看当前编译版本,并前往官方 GitHub Releases 下载最新的稳定发布版(Release)或预发布版(Pre-release)。若是在 Linux 环境下自行编译,务必添加 -tags with_quic,with_dhcp,with_wireguard,with_ech 构建标签以包含所有扩展功能。
Q4: 什么是 SRS 二进制规则集?如何自己编译 .srs 文件?
SRS 是 sing-box 专用的预编译二进制规则集格式。相较于明文的 JSON 或文本列表,SRS 采用了高效的字典压缩与树状检索索引。你可以使用官方编译命令直接将 JSON 规则转换为 SRS: sing-box rule-set compile --output geosite-custom.srs geosite-custom.json 编译生成的 .srs 文件体积减少 70% 以上,客户端加载速度提升数倍。
Q5: 开启 TUN 模式后,局域网内的打印机或 NAS 无法访问怎么排查?
这是由于 TUN 模式默认将所有私有 IP 网段全部捕获导致的。解决方案是在配置文件的 route.rules 最前端显式声明局域网私有 IP 直连规则: {"ip_is_private": true, "outbound": "direct"} 同时在 inbounds 的 TUN 配置中开启 auto_detect_interface: true,确保系统能正确识别本地主网卡并避开局域网内网广播网段。
Q6: 为什么我的 sing-box 在长时间运行后会发生 DNS 无法解析的现象?
这多半是由于开启了 Fake-IP 模式但未合理设置内存地址池映射清理机制,或者上游 DNS 出站因网络抖动超时导致缓存锁死。建议在 dns 模块中开启 "independent_cache": true,并将本地 Fake-IP 地址池范围拓宽为 /15(如 198.18.0.0/15),提供充足的临时 IP 映射空间。如果仍然出现 DNS 阻塞,可检查上游 dns-remote 的 DoH 服务器是否遭遇 TCP 握手重置,改用基于 HTTP/3 的 DoH 或纯 UDP 备用解析器。
Q7: sing-box 能否与网易 UU 加速器等外服网游加速器在同一台电脑共存?
完全可以。由于 sing-box 支持基于进程名的细粒度策略路由,只需在 route.rules 前端将游戏本体进程(如 Apex.exe、VALORANT.exe)以及网易 UU 客户端进程(uu.exe、uudl.exe)指定为 outbound: "direct",即可实现“游戏流量走 UU 专线,网页与后台通信走 sing-box TUN 代理”的无冲突共存状态。
Q8: 如何在没有 GUI 界面的 Linux 云服务器上排查 sing-box 的实时出站流量?
sing-box 原生支持开启 Clash API 兼容面板。只需在配置文件的顶层添加实验性 API 配置("experimental": {"clash_api": {"external_controller": "127.0.0.1:9090"}}),即可在本地浏览器通过 Yacd 或 MetaCubeX 等 Web 面板远程连接,实时查看每一个连接的握手时延、传输速率与匹配规则链。此外,通过终端执行 sing-box tools connections 命令也可直接列出当前活跃套接字状态。
10. 跨专题矩阵导航与推荐资源索引
掌握新一代通用核心配置只是迈向全能网络调优的第一步,客户端的吞吐上限始终需要与优质的服务器节点及特定终端场景紧密配合:
- 客户端选型横向对比:
- 现代跨平台主流首选:👉 Clash Verge Rev 跨平台深度调优指南
- 安卓生态深度横评与省电保活:👉 Android 安卓平台代理客户端深度横评与省电后台保活指南
- 苹果 iOS 经典必备神器:👉 Shadowrocket 小火箭 iOS 配置全书
- 探秘下一代内核底层机制:👉 Mihomo (Clash.Meta) 内核深度解析
- Windows 平台全加速方案横评:👉 Windows 平台代理加速客户端横向对比与选型决策
- 高端优质机场与低延迟专线:
- 2026 年度梯队严选大榜:👉 2026 稳定优质机场综合评测梯队
- 极致抗抖动跨境专线推荐:👉 高端稳定专线机场选型指南
- 大流量下载与流媒体解锁:👉 大流量高速流媒体机场推荐
- 故障排查与深度调优:
- 深入排查系统级 DNS 污染:👉 DNS 污染排查与防泄漏高阶实战
- 游戏双开与网络驱动冲突排查:👉 网易 UU 加速器海外服能看网页吗?双开与分流实操
- 解决代理节点超时与断连:👉 节点大面积超时排错完全手册