跳到主要内容
客户端教程机场云编辑部 发布 更新 约 9 分钟 客户端跨平台教程
本页目录

sing-box 客户端入门指南

快速回答

sing-box 用一份 JSON 配置描述入站、路由与出站,能力强但门槛高;入门建议从服务商提供的配置模板或图形客户端开始,不要从零手写。

sing-box 与 Clash 系客户端最大的不同,在于它把「透明」推到了极致:没有开关与滑块,一切行为由一份 JSON 配置决定。代价是门槛,回报是控制力与跨平台一致性——同一份配置逻辑可以贯穿手机、电脑与路由设备。这篇指南不教你从零手写配置,而是教你看懂结构、选对来源、避开最常见的坑

核心结论

  • sing-box 是内核而不只是客户端,很多图形客户端的底层跑的就是它。
  • 一份配置由入站、路由、出站三段组成,分别回答流量从哪进、怎么分、往哪出。
  • 路由规则自上而下匹配、第一条命中即生效,顺序写错是规则不生效的头号原因。
  • 大版本升级可能调整配置格式,旧配置需按迁移说明更新,升级前先备份可用配置。
  • 苹果平台的官方客户端上架状态不稳定,桌面端可经包管理器与官方仓库获取。

基本概念

先建立一个关键认知:sing-box 是内核,不只是客户端。它本体是一个命令行程序,官方与社区的图形客户端都是围绕它的包装。你现在用的某个图形客户端,底层可能就是它。

一份配置由三段组成:

结构示意图:sing-box 配置由入站(流量从哪进来)、路由(按规则决定去向,自上而下匹配)与出站(节点、直连或拦截)三段组成
一份配置回答三个问题:从哪进、怎么分、往哪出。
  • 入站(inbounds):流量从哪里进来——TUN 虚拟网卡,或本地代理端口。
  • 路由(route):按规则决定每条流量去向。
  • 出站(outbounds):流量往哪里去——某个节点、直连(direct)或拦截(block)。

门槛高的原因就在这里:没有界面替你隐藏细节,也没有界面替你挡住错误。反过来,一旦看懂这三段,任何配置文件在你眼里都是透明的。

配置来源

配置来源的选择
配置来源上手难度适合人群主要风险
服务商提供的 sing-box 模板多数用户的起点模板质量参差,注意与内核版本匹配
订阅转换生成的配置服务商无模板时的替代在线转换会暴露订阅链接,优先本地转换
在他人模板上修改想定制分流的用户不理解结构时容易改坏,先备份
从零手写需要完全控制的进阶用户门槛最高,格式随版本演进需持续跟进

实践建议:从服务商模板起步,在能用的基础上小步修改。每次只改一处、改前备份、改完验证——这个循环比一次性大改安全得多。转换工具务必用本地的:在线转换等于把订阅链接交给陌生服务器,风险说明见机场订阅链接泄露怎么办

订阅的使用方式

  • 原生支持:部分服务商直接提供 sing-box 格式的订阅地址,配置中引用后客户端会定期拉取节点更新——这是最省事的形态。
  • 转换使用:服务商只有通用格式时,用本地转换工具生成 sing-box 配置。注意转换产物是静态的,节点变动后需要重新转换。
  • 格式不匹配的表现:启动时报配置解析错误,或节点列表为空。先确认订阅格式与内核版本匹配,再排查链接本身——链接层面的验证方法与其他客户端一致,见机场订阅更新失败解决方法

路由规则结构

写规则前先记住一条铁律:自上而下匹配,第一条命中即生效

  • 精确规则(特定域名)放前面,宽泛规则(整个地理库)放后面——顺序反了,精确规则永远轮不到。
  • 都未命中的流量走默认出站,它决定了「规则之外的一切」去哪里,检查规则时别忘了它。
  • 规则「不生效」时的排查顺序:看顺序 → 看默认出站 → 用日志确认流量实际命中了哪条规则。

各协议在配置中的名称与参数含义,可对照常见机场协议完整解释理解。

不同平台的差异

  • 桌面端:TUN 需要管理员或等效权限;配置文件路径与服务化运行方式因平台而异。
  • 移动端:以系统 VPN 接口实现 TUN,受系统后台策略影响——Android 的省电机制见Android 手机机场客户端选择
  • 苹果平台:官方客户端(iOS / macOS / tvOS)在 App Store 的上架状态不稳定(截至 2026 年 8 月处于受限状态),macOS 可经 Homebrew 或官方仓库获取独立版本,且需要非中国大陆地区的 Apple 账号。获取前以官方文档当前说明为准。
  • 配置通用性:出站与路由段基本可以跨平台复用,入站段按平台微调——这正是「一份配置贯穿全平台」的实际形态。

注意事项

  • 版本与格式的兼容:大版本升级可能调整配置格式,旧字段被重命名或移除。升级前先备份可用配置,报错时对照官方迁移说明处理,处理不了就回滚等待模板更新。
  • 不要使用来源不明的配置。配置文件能完全控制你的流量走向——包括把流量导去你不知道的地方。只用服务商、可信模板或自己写的配置。
  • 改坏了就回滚。保留最近一份「确认可用」的配置副本,任何实验都以它为退路。

常见问题

sing-box 适合新手吗?
直接裸用不适合——它没有界面替你隐藏细节,一切靠 JSON 配置。但新手有两条平滑路径:用服务商直接提供的 sing-box 配置模板,或用以 sing-box 为内核的图形客户端。等遇到图形客户端满足不了的需求(复杂分流、跨平台统一配置)时,再深入配置本身也不迟。
配置从哪里来?
按优先级:服务商提供的 sing-box 格式订阅或模板最省事;其次用转换工具把通用订阅转成 sing-box 格式——注意用本地转换,在线转换等于把订阅链接交给陌生服务器;最后才是手写。无论哪种来源,改动前先备份当前可用的配置。
sing-box 和 Clash 有什么区别?
定位不同层:Clash 系客户端是「界面 + 内核」的成品,开箱即用;sing-box 首先是内核,图形界面是可选外挂。sing-box 的协议覆盖与路由能力更强、配置更统一,但要自己面对 JSON;Clash 系把常用能力包装成了开关。对多数人来说这不是二选一——不少 Clash 系客户端和图形壳的底层正是 sing-box 或同类内核。
为什么我写的规则不生效?
九成是顺序问题。sing-box 的路由规则自上而下匹配,第一条命中立即生效,后面的规则不再参与。典型错误是把宽泛规则(如整个地理库匹配)放在精确规则前面,精确规则永远轮不到。排查方法:把不生效的规则上移到宽泛规则之前,或用日志确认流量实际命中了哪一条。
各平台的配置能通用吗?
核心部分(出站、路由)基本通用,这正是 sing-box 的卖点之一。差异集中在入站与平台特性:桌面端与移动端的 TUN 权限模型不同,移动端还受系统后台策略影响。实践中常用做法是维护一份主配置,按平台微调入站段。
升级后配置报错怎么办?
sing-box 的配置格式随大版本演进,旧字段可能被重命名或移除。处理顺序:先看报错信息指向哪个字段,对照官方迁移说明修改;改不动就回滚到升级前的版本和备份配置,等服务商或模板作者跟进新格式。这也是「升级前先备份」是铁律的原因。
sing-box 在 App Store 上能直接搜到吗?
不一定,苹果平台官方客户端的上架状态会随审核政策变化,目前处于受限状态。macOS 可以通过 Homebrew 或官方仓库获取独立版本;iOS 端遇到搜不到的情况,以官方文档当前给出的获取渠道说明为准,不要通过来源不明的第三方渠道下载。
安卓有图形界面版本吗?
有,社区提供了 NekoBox 等基于 sing-box 内核的图形前端,把 JSON 配置包装成了可视化界面,降低了移动端的上手门槛。核心行为与直接写配置一致,适合不想手写 JSON 但又想用 sing-box 内核的安卓用户。
需要为每个协议单独学习配置吗?
不需要。sing-box 的配置结构是统一的:入站、出站、路由三段拼接,协议只是出站里的一个字段。理解了这套结构,换协议只是改字段值,不需要重新学一遍格式——这也是它跨协议、跨平台一致性的来源。