文档

sing-box JSON 配置结构参考

梳理 JSON 顶层模块、配置校验命令以及入站、出站和路由之间的关系。

sing-box 使用 JSON 配置文件。下面的结构是理解文档导航的地图,不是可以直接运行的完整配置:

{
  "log": {},
  "dns": {},
  "ntp": {},
  "certificate": {},
  "certificate_providers": [],
  "http_clients": [],
  "endpoints": [],
  "inbounds": [],
  "outbounds": [],
  "route": {},
  "services": [],
  "experimental": {}
}

核心路径怎么读

部分用途理解下一步
inbounds流量如何进入 sing-box,例如本地代理监听或 TUNinbound 与 outbound
outbounds匹配后的连接通过哪种出口发出按官方 Outbound 字段文档选择类型
route规则如何选择动作或出口搭配 rule-set 与 DNS 阅读
dnsDNS 服务器与 DNS 规则如何工作注意目标版本中的 DNS 迁移变化
endpoints官方新结构中承载特定 endpoint 能力旧配置升级时查迁移文档
experimental实验或配套能力,不应默认视为必需配置只在明确需求时引入

配置命令

配置文档列出三个直接有用的命令:

sing-box check
sing-box format -w -c config.json -D config_directory
sing-box merge output.json -c config.json -D config_directory
  • check 用来在运行前检查配置。
  • format 用来统一配置格式;编辑前应保留版本控制或备份。
  • merge 适合有多个配置输入、需要生成一个输出文件的维护流程。

命令所需参数和目标版本行为,应以当前版本配置文档为准。

不要跳过迁移核验

当配置来自较早版本、旧教程或第三方生成器时,结构上的 JSON 正确并不保证字段仍被当前版本支持。GeoIP 和 Geosite 已在 1.12.0 被移除;对升级场景,请配合稳定版升级与配置迁移使用。