sing-box 基础配置 JSON 结构解析与小白上手指南

#sing-box配置#JSON解析#新手入门
阅读需 5 分钟||

与采用 YAML 语法的 Clash 生态不同,sing-box 原生支持的配置文件格式是 JSON。如果不了解其基础的数据结构,手动编辑或排错可能会非常困难。

1. 语法边界:它不是 Clash

首先要明确:sing-box 的配置语法与 Clash / Mihomo 完全不同。 无法直接将 Clash 订阅文件提供给 sing-box,这会导致解析报错。需要机场提供原生的 sing-box 订阅,或使用诸如 Sub-Store 的工具进行格式转译。

2. 标准 JSON 的四大核心字段

一个功能完整的 sing-box 配置文件(基于 1.7+ 或更新版本格式),其根级包含以下核心字段:

  • inbounds (入站):这是一个数组 (Array)。定义数据如何进入代理核心。例如,你可以定义一个监听 127.0.0.1:2080 的 HTTP 入站,或是建立一个 TUN 入站。
  • outbounds (出站):这是一个数组 (Array)。定义数据如何流出代理核心。这里通常存放你的各个代理节点(如 VLESS 节点),以及内置的 direct (直连) 和 block (拦截) 出站。
  • route (路由):这是一个对象 (Object)。这是核心的分流大脑,里面包含了一个 rules 数组。它负责判断进入的数据流应该匹配到哪一个特定的出站。
  • dns (域名解析):这是一个对象 (Object)。定义了如何处理 DNS 请求。内部可配置多个 DNS 服务器和相应的 DNS 路由规则,以防止解析泄漏。

注意:请严格区分数组 [] 和对象 {},将 route 或 dns 误写成数组会导致核心无法启动。

3. 严格的版本依赖

随着 sing-box 的迭代,其 JSON 字段经常发生变化。例如,某些旧版路由标签在新版本中可能已被重构。务必查阅与您正在运行的核心版本完全对应的官方文档,不要随意复制过时的代码片段。


参考资料与相关阅读

标准 JSON 配置校验

在部署 sing-box 之前,务必使用命令行进行配置校验,避免因标点符号错误导致进程崩溃:

sing-box check -c config.json

如果输出为空或无 Error,则表示配置文件格式正确。

机场讯 技术安全审查组Fact-Checked

本文所述的网络配置指南、路由分析及安全建议已通过技术独立验证。文内提及的客户端配置与底层原理引用自各开源项目的官方文档。为保障您的设备安全,请严格按照教程指引操作,切勿随意修改系统级内核参数。

相关推荐