很多用户第一次接触 sing-box 时,最容易被 config.json 配置文件劝退。打开文件后,里面可能有 inbounds、outbounds、route、dns、route.rule_set 等字段,看起来像一大段复杂代码。其实新手不需要一开始就看懂所有字段。理解 sing-box 配置文件,只要先搞清楚几个核心问题:流量从哪里进来、从哪里出去、DNS 怎么解析、规则怎么分流、出错时看哪里。

了解 sing-box config.json 配置文件结构,掌握流量入口、节点出站、DNS 解析、路由分流、规则集和日志排错等核心字段。
如果您还不了解 sing-box 的定位,以及它和 Clash、Xray 的区别,可以先阅读 sing-box 是什么?和 Clash、Xray 的区别,新手应该怎么选?,再回头理解配置文件会更容易。
本文就用新手能看懂的方式,说明 sing-box 的 config.json 基础结构 和常用字段含义,帮助您看懂订阅转换工具生成的配置文件,也方便后续排查订阅导入失败、规则不生效、DNS 异常等问题。
一、config.json 配置文件的作用
config.json 是 sing-box 的配置文件。sing-box 本身是代理核心或代理平台,真正决定它怎么运行的,就是这个 JSON 配置文件。
简单理解:
- 客户端:通过配置文件决定本机流量怎么进入 sing-box、走哪个节点、哪些网站直连、哪些网站代理。
- 服务端:通过配置文件决定开放什么协议、监听哪个端口、客户端如何连接。
- 订阅转换:本质上也是把机场订阅或节点信息转换成 sing-box 能识别的 JSON 配置。
所以,SFA、Windows 核心、Linux 服务端、OpenWrt 插件虽然使用场景不同,但背后都离不开配置文件。
如果您还没有安装 sing-box 客户端,可以先查看 sing-box 全平台客户端下载指南:官方/GitHub镜像地址大全,根据 Android、Windows、macOS 或 OpenWrt 选择对应版本。
如果您只是使用 Android 版 SFA,通常不需要手写完整配置。您只需要通过订阅转换工具生成 sing-box 配置,再导入客户端即可。但如果导入失败或规则不生效,理解配置文件结构会很有帮助。
Android 用户如果只是想导入订阅使用,可以直接参考 sing-box 安卓版 SFA 配置教程,按步骤完成订阅转换、配置导入和 VPN 授权。
如果您还没有可用订阅,可以参考下方套餐表,根据预算、流量和线路需求选择适合自己的方案。已有订阅的用户可以跳过表格,继续往下看配置文件说明。
| 机房位置 | 带宽 | 流量 | 同时在线 | 价格 | 链接 |
|---|---|---|---|---|---|
| 洛杉矶 500 | 2.5 Gbit | 500GB/月 | 5台设备 | $5.88/月 - $58.88/年 | 直达官网 |
| 洛杉矶 1000 | 5 Gbit | 1T/月 | 无限设备 | $9.88/月 - $98.88/年 | 直达官网 |
| 洛杉矶 5000 | 5 Gbit | 5T/月 | 无限设备 | $48.99/月 - $489.99/年 | 直达官网 |
| 洛杉矶 10000 | 5 Gbit | 10T/月 | 无限设备 | $93.99/月 - $948.99/年 | 直达官网 |
| 香港 CMI+NTT | 2.5Gbps | 500GB/月 | 5台设备 | $8.99/月 - $89.99/年 | 直达官网 |
| 香港 CMI+NTT | 5Gbps | 1T/月 | 无限设备 | $14.90/月 - $113.99/年 | 直达官网 |
| 香港 CMI+NTT | 5Gbps | 5T/月 | 无限设备 | $59.99/月 - $599.99/年 | 直达官网 |
| 香港 IPLC 专线 | 300MB 独享 | 300GB/月 | 3台设备 | $21.00/月 - $210.00/年 | 直达官网 |
| 香港 IPLC 专线 | 1G 独享 | 1T/月 | 无限设备 | $59.00/月 - $589.00/年 | 直达官网 |
| 香港 CN2 GIA | 100MB 独享 | 100GB/月 | 3台设备 | $34.99/月 - $349.99/年 | 直达官网 |
| 香港 CN2 GIA | 500MB 独享 | 500GB/月 | 5台设备 | $149.99/月 - $1499.99/年 | 直达官网 |
| 香港 CN2 GIA | 1G 独享 | 1T/月 | 无限设备 | $279.99/月 - $2799.99/年 | 直达官网 |
| 日本 CN2 GIA | 100MB 独享 | 100GB/月 | 3台设备 | $29.99/月 - $299.99/年 | 直达官网 |
| 日本 CN2 GIA | 200MB 独享 | 500GB/月 | 5台设备 | $135.99/月 - $1349.99/年 | 直达官网 |
| 日本 CN2 GIA | 500MB 独享 | 1000GB/月 | 无限设备 | $239.00/月 - $2399.00/年 | 直达官网 |
| 伦敦 500 | 2.5Gbps | 500GB/月 | 5台设备 | $6.8/月 - $67.99/年 | 直达官网 |
| 伦敦 1000 | 5Gbps | 1000GB/月 | 无限设备 | $11.29/月 - $113.99/年 | 直达官网 |
二、sing-box 配置文件的基础结构
一个常见的 sing-box 配置文件,大致可以理解成下面这种结构:
{
"log": {},
"dns": {},
"inbounds": [],
"outbounds": [],
"route": {
"rules": [],
"rule_set": []
},
"experimental": {}
}
上面只是结构示意,不是完整可直接运行的配置。新手可以先记住这几个核心模块:
| 字段 | 作用 | 新手理解 |
|---|---|---|
log |
日志设置 | 出错时看日志,判断配置哪里有问题 |
dns |
DNS 解析设置 | 决定域名怎么解析,影响访问速度和 DNS 泄露 |
inbounds |
入站设置 | 流量从哪里进入 sing-box,比如本地代理端口或 TUN |
outbounds |
出站设置 | 流量从哪里出去,比如直连、代理节点、阻断 |
route |
路由分流规则 | 决定哪些网站直连,哪些网站走代理 |
route.rule_set |
规则集 | 新版 sing-box 推荐用来管理域名、IP、广告、分流等规则 |
experimental |
实验功能 | 部分高级功能或面板接口,新手一般不用先管 |
如果把 sing-box 想象成一个交通系统,那么 inbounds 是入口,outbounds 是出口,route 是红绿灯和导航规则,route.rule_set 是规则库,dns 是查地址的系统,log 是运行记录。
三、常用字段说明:入口、出口、DNS 和路由
新手看配置文件,最应该先看这几块:inbounds、outbounds、dns、route.rules 和 route.rule_set。
1. inbounds:流量入口
inbounds 表示入站,也就是本机或局域网的流量通过什么方式进入 sing-box。
常见场景包括:
- mixed / socks / http:本地代理端口,适合浏览器、系统代理或部分软件手动设置代理。
- tun:虚拟网卡模式,可以接管更多系统流量,适合透明代理或全局接管场景。
- redirect / tproxy:更常见于 Linux、OpenWrt、软路由等环境。
普通 Android 用户使用 SFA 时,很多时候是通过客户端界面开启 VPN / TUN 能力,不一定需要自己手写这一块。
2. outbounds:节点与出站
outbounds 表示出站,也就是 sing-box 最终把流量发到哪里。
常见出站类型包括:
- direct:直连,不经过代理节点。
- block:阻断访问,常用于广告、恶意域名或不想访问的地址。
- selector:节点选择组,用户可以手动选择不同节点。
- urltest:自动测速选择延迟较低的节点。
- shadowsocks / trojan / vless / hysteria2 等:具体代理协议节点。
如果您是通过机场订阅转换得到的 sing-box 配置,节点信息通常主要就在 outbounds 里面。
如果您只是想在 Windows 上使用 Trojan 节点,而不是研究 sing-box 配置文件,也可以参考 Windows 系统 Trojan 客户端使用教程,选择更适合普通用户的图形客户端方案。
3. dns:域名解析
dns 负责域名解析。比如访问 example.com 时,系统要先知道它对应哪个 IP 地址,这一步就和 DNS 有关。
DNS 配置会影响:
- 网站能不能正常打开;
- 国内外域名解析是否准确;
- 是否出现 DNS 污染或解析异常;
- 是否存在 DNS 泄露风险;
- 规则分流是否按预期工作。
新手不建议一开始就手动改复杂 DNS 规则。如果导入订阅后可以正常使用,先保持默认即可。只有遇到国内网站慢、国外网站打不开、解析异常时,再单独排查 DNS。
4. route 和 route.rule_set:路由分流与规则集
route 是 sing-box 配置里非常重要的一块,它决定流量应该走哪个出站。
举例来说:
- 国内网站走
direct; - 国外网站走代理节点;
- 广告域名走
block; - 某些应用或端口走指定节点;
- 规则匹配不到时走默认出站。
route.rule_set 则可以理解为规则集。它通常用来管理大量域名、IP、广告拦截、地区分流等规则。相比把所有规则都直接写进 route.rules 里,使用规则集更方便维护,也更适合远程更新。
重要提醒:新版 sing-box 已经不再推荐使用旧版 V2Ray 格式的 geoip 和 geosite 规则。sing-box 从 1.8.0 开始引入 rule_set 规则集,用来替代传统 GeoIP / Geosite;GeoIP 和 Geosite 已在 1.12.0 中移除。
因此,如果旧版订阅转换工具生成的配置里仍然带有 geoip、geosite、geoip-cn、geosite-cn 这类旧规则写法,导入新版 SFA 或新版 sing-box 核心时,就可能出现 geoip database is deprecated、规则弃用提示,甚至直接启动失败。
新版配置更推荐使用 route.rule_set 规则集,例如远程 .srs 规则文件。简单理解,旧写法是直接引用 GeoIP / Geosite 数据库,新写法则是通过 route.rule_set 定义规则集,再在 route.rules 中引用这些规则集。
如果您想查看官方说明,可以参考 sing-box 官方的 废弃功能列表 和 规则集文档。
四、新手排查配置问题时先看哪里
如果您不是开发者,不需要从第一行看到最后一行。排查问题时,可以按下面顺序看。
| 遇到的问题 | 优先检查的位置 | 排查方向 |
|---|---|---|
| 配置导入失败 | 整个 JSON 格式 | 检查是否缺少逗号、括号、引号,是否生成了错误格式 |
| 节点无法连接 | outbounds |
检查服务器地址、端口、协议、密码、UUID、TLS 等参数 |
规则不生效或提示 geoip database is deprecated |
route / route.rule_set |
检查是否仍使用旧版 geoip、geosite 写法,新版 sing-box 应优先使用 route.rule_set 规则集 |
| 域名打不开 | dns |
检查 DNS 服务器、解析规则、fake-ip 或直连解析问题 |
| 系统流量没走代理 | inbounds |
检查系统代理、TUN、VPN 授权或监听端口 |
| 不知道哪里错 | log |
开启日志,根据报错关键词定位问题 |
新手最常见的错误,不是不会写高级配置,而是把不同版本的规则混在一起、复制了不完整的 JSON、或者把 Clash / V2Ray 格式当成 sing-box 配置直接导入。
如果您的配置来自订阅转换工具,建议优先确认转换时选择的客户端类型是否为 sing-box,不要误选 Clash、V2Ray、Surge 或其他格式。
五、总结
sing-box 的配置文件看起来复杂,但核心结构并不难理解。
inbounds负责流量入口;outbounds负责节点和出站;dns负责域名解析;route负责分流规则;route.rule_set负责规则集管理;log负责排查错误。
普通用户不需要一开始就手写完整 config.json。如果您使用 Android 版 SFA,可以先通过订阅转换工具生成 sing-box 配置,再导入客户端使用。只有在遇到订阅导入失败、规则不生效、DNS 异常或节点无法连接时,再回头看对应字段。
理解配置文件结构之后,后续学习 sing-box DNS、Route 路由规则、TUN 模式、Reality 或 Hysteria2 节点配置,都会更容易。

搬瓦工教程