配置格式:为什么 Clash YAML 不能直接导入
Clash YAML 和 sing-box JSON 是两种格式,字段和结构都不一样;正确做法是向提供方要 sing-box 格式。
核心区别
- Clash 配置:YAML 格式,常见于 Clash 系客户端,字段名和层级按 Clash 的约定来。
- sing-box 配置:JSON 格式(或返回 JSON 配置的远程地址),字段名和层级按 sing-box 官方文档来。
它们描述的可能是同一类信息(服务器地址、端口、协议、加密方式),但写法不同。直接把 YAML 文件改个后缀、或原样粘贴进 sing-box,客户端读不懂,就会报格式错误。
正确做法
- 先确认手里的东西到底是什么格式:打开文件看一眼,是 YAML 还是 JSON,还是一个链接。
- 如果是 YAML,向配置提供方要一份 sing-box 格式的配置或远程配置地址;不要自己逐行翻译,除非你已经能对照官方文档逐字段核对。
- 如果是远程地址,先确认它返回的是 sing-box 配置,而不是登录页、YAML 或节点列表。
- 拿到 sing-box 配置后,再导入、选中、启动;启动报错时,报错里常会指出是哪个字段有问题,按官方文档改那一个字段。
手写配置的新手建议
- 先从一份能跑通的最小配置开始,确认能启动、能访问目标,再逐步加规则、分流、DNS 等高级项。
- 每次只改一处,改完启动验证一次;一次改十处,出问题就不知道是哪处。
- 参数含义以官方配置手册为准,不要抄论坛里没有出处的旧配置,旧版本字段可能已经改名。