使用教程 · sing-box 教程
sing-box 教程 2026:Windows/Mac 客户端与配置入门
机场V 编辑部 · 更新于
sing-box 教程:先说结论
结论:sing-box 是一个通用的代理平台内核,本身是命令行程序,普通用户通常通过图形客户端来使用它:macOS 上可以用 App Store 中的官方客户端(sing-box for Apple 平台版本),Windows 上没有官方图形界面,一般借助以 sing-box 为内核的第三方开源客户端,或者在 v2rayN 等客户端中选择 sing-box 内核。使用方法的核心只有两步:拿到机场提供的 sing-box 格式订阅(或能转换为 sing-box 配置的订阅),在客户端中添加为远程配置并启用。理解了 inbounds(入站)、outbounds(出站)、route(路由)、dns 四大块配置,就能看懂并调整绝大多数 sing-box 配置。下文从概念、安装到排错逐一说明。
sing-box 是什么,和 Clash 有什么区别
sing-box 是一个用 Go 语言编写的开源通用代理平台,支持几乎所有主流代理协议,包括 Shadowsocks、VMess、VLESS(含 Reality)、Trojan、Hysteria、Hysteria2、TUIC、WireGuard、ShadowTLS 等。它以性能好、内存占用低、TUN 实现成熟著称,近年来被越来越多的客户端用作底层内核。
与 Clash(Mihomo)相比,二者最大的差别在配置格式和设计理念上:
| 对比项 | sing-box | Clash / Mihomo |
|---|---|---|
| 配置格式 | JSON,结构严格 | YAML,书写宽松 |
| 分流写法 | route 中的 rules 与 rule_set | rules 列表与 rule-providers |
| 策略组 | selector、urltest 类型的出站 | proxy-groups 中的 select、url-test 等 |
| 机场支持度 | 部分机场提供 sing-box 订阅 | 几乎所有机场都提供 Clash 订阅 |
| 版本兼容 | 大版本之间配置字段可能变动 | 相对稳定 |
| 典型客户端 | 官方 Apple 客户端、Android 客户端及第三方 GUI | Clash Verge Rev、Mihomo Party、FlClash 等 |
简单来说,如果你的机场提供的是 Clash 订阅,用 Clash 系客户端最省事,例如 Clash Verge 教程 中介绍的方法;如果机场明确提供 sing-box 订阅,或者你追求更轻量的内核与更好的 TUN 表现,再选择 sing-box。协议层面的区别可以参考 代理协议科普。
在 Mac 上使用 sing-box 官方客户端
sing-box 官方为 Apple 平台提供了图形客户端,可以在 App Store 搜索 sing-box 获取(不同地区商店的上架情况可能不同,部分地区需要使用其他地区的 Apple ID,可参考 美区 Apple ID 教程)。该客户端在 macOS 上通过系统网络扩展工作,相当于天然以 TUN 方式接管流量。
- 从 App Store 安装 sing-box 官方客户端并打开。
- 进入 Profiles(配置)页面,点击新建,类型选择 Remote(远程),在 URL 中粘贴机场提供的 sing-box 订阅链接,设置名称和自动更新间隔后保存。
- 在配置列表中选中刚添加的配置。
- 回到 Dashboard(仪表盘),点击启用开关。首次启用时,macOS 会提示“添加 VPN 配置”或“允许系统扩展”,按提示在系统设置中允许,并输入密码确认。
- 启用后,如果配置中包含 clash_api 等实验性接口,客户端会显示 Groups(分组)页面,可以在这里切换节点、测速。
Mac 官方客户端的优点是与系统集成度高,稳定且省电;缺点是对配置格式要求严格,订阅内容必须是当前版本可识别的 sing-box JSON 配置,否则会直接报错无法启动。
在 Windows 上使用 sing-box
sing-box 官方没有提供 Windows 图形界面,Windows 用户一般有三种选择:
- 以 sing-box 为内核的第三方开源 GUI:例如社区开发的一些专门面向 sing-box 的图形客户端,它们提供订阅管理、节点切换、TUN 开关等功能。请只从这些项目的官方 GitHub 页面下载。
- 在 v2rayN 中使用 sing-box 内核:新版 v2rayN 内置 sing-box,可以为指定类型节点选择 sing-box 内核,TUN 模式也基于 sing-box 实现,使用方法见 v2rayN 教程。
- 直接运行命令行:适合有一定基础的用户,把配置文件保存为 config.json,在命令行中运行 sing-box 的 run 命令并用参数指定配置文件。需要 TUN 时以管理员身份运行。
第三方 GUI 的通用操作步骤
- 从项目官方 GitHub Releases 下载 Windows 安装包或压缩包,解压到英文路径。
- 首次运行时,部分客户端需要下载 sing-box 内核文件,按界面提示从官方源获取。
- 在订阅或配置页面添加机场订阅。如果客户端支持订阅转换,可以直接使用通用订阅或 Clash 订阅,它会自动生成 sing-box 配置。
- 选择规则分流模式,挑选节点。
- 选择接管方式:系统代理(只影响遵守系统代理的程序)或 TUN(需要管理员权限,接管全部流量)。
- 点击启动,打开浏览器测试。
不同 GUI 的按钮名称差别较大,但核心都是“订阅 → 模式 → 节点 → 启动”。
读懂 sing-box 配置的五个核心部分
即使你只使用图形客户端,理解配置结构也非常有帮助,遇到报错时能看懂问题出在哪一块。一个典型的 sing-box 配置由以下部分组成:
log:日志
控制日志级别与输出位置。排错时把级别调成 debug 或 info,正常使用时用 warn 即可,减少日志输出。
dns:域名解析
定义 DNS 服务器列表与 DNS 规则。一般会设置一个国内 DNS 用于解析国内域名、一个境外 DNS(通过代理)用于解析国外域名,并通过规则决定哪类域名用哪个服务器。DNS 配置不当是“国内网站变慢”或“部分网站打不开”的常见原因,参考 国内网站变慢。
inbounds:入站
定义流量从哪里进入 sing-box。常见类型有 mixed(本地 HTTP 与 SOCKS 混合端口,配合系统代理使用)和 tun(虚拟网卡,接管全部流量)。图形客户端的“系统代理”和“TUN”开关,本质上就是在启用不同的入站。
outbounds:出站
定义流量从哪里出去。每个机场节点就是一个出站,另外还有 direct(直连)、block(拦截)等特殊出站。策略组在 sing-box 中也是出站:selector 类型让你手动选择节点,urltest 类型会自动测速并选择最快的节点。
route:路由
决定某个连接走哪个出站。rules 列表从上到下匹配,可以按域名、域名后缀、IP 段、进程名、规则集等条件匹配;rule_set 用于引用远程或本地的规则集文件,比如国内域名列表、国内 IP 列表;final 指定所有规则都不匹配时的默认出站。规则分流的思想和 Clash 相同,详细原理见 全局模式和规则模式区别。
此外还有 experimental 部分,可以开启缓存文件、clash_api 等实验功能。clash_api 让 sing-box 兼容 Clash 的外部控制接口,许多图形客户端正是依赖它来显示节点分组和实时连接。
获取 sing-box 订阅的几种方式
- 机场直接提供:部分机场后台有“sing-box”或“SFA/SFI/SFM”格式的订阅按钮,这是最省心的方式。
- 客户端内置转换:一些第三方 GUI 支持导入通用订阅或 Clash 订阅后自动生成 sing-box 配置。
- 订阅转换工具:借助自建或可信的订阅转换服务,把订阅转成 sing-box 格式。注意使用第三方公共转换服务存在泄露订阅的风险,原理与风险见 订阅转换。
如果你在挑选机场时就希望它原生支持 sing-box,可以在 机场对比 中关注客户端兼容性一栏,或直接从 机场推荐 中选择。
常见问题排查
| 现象 | 可能原因 | 解决办法 |
|---|---|---|
| 启动时报配置解析错误 | 订阅格式与内核版本不匹配,字段已废弃或新增 | 更新客户端到最新版;联系机场获取适配新版本的订阅 |
| Mac 客户端启用后立即断开 | 未允许系统扩展或 VPN 配置 | 到系统设置中允许网络扩展,重新启用 |
| 启用后所有网站都打不开 | DNS 配置错误、节点不可用 | 检查 DNS 部分;换节点,参考 节点超时 |
| 国内网站走了代理 | 规则集未下载成功或规则顺序错误 | 确认 rule_set 能正常下载;检查直连规则位置 |
| Windows 开 TUN 失败 | 没有管理员权限、与其他 VPN 冲突 | 以管理员运行;关闭其他代理工具,参考 TUN 模式 |
| 看不到节点分组 | 配置没有开启 clash_api | 使用含 clash_api 的订阅或在客户端设置中开启 |
sing-box 的一个特点是版本更新较快,大版本有时会调整配置字段名称或结构。遇到“升级后突然无法启动”,第一时间查看日志中的报错字段,多半是订阅配置使用了旧写法。这时要么等待机场更新订阅模板,要么暂时使用与订阅匹配的客户端版本。
小结
sing-box 是一个高性能、协议全面的现代代理内核。Mac 用户优先使用 App Store 中的官方客户端,Windows 用户可以选择以 sing-box 为内核的开源 GUI 或在 v2rayN 中切换 sing-box 内核。使用的关键是拿到格式正确的 sing-box 订阅,并理解 inbounds、outbounds、route、dns 四部分的作用。掌握这些,你就能看懂报错、按需调整分流。安卓用户可以继续阅读 sing-box 安卓教程,对 TUN 有疑问的可以查看 TUN 模式 详解。