sing-box Windows 怎么导入配置?
简答:sing-box Windows 导入配置,最稳妥的顺序是:先区分官方 Desktop 图形客户端和命令行核心,再确认配置是 sing-box JSON、远程 URL 还是其他格式。图形客户端适合直接管理本地或远程配置;命令行方式则先用 <code>sing-box check</code> 校验 JSON,再用 <code>sing-box run</code> 启动。若导入后没有节点或无法连接,优先检查返回内容是否为 JSON、配置版本是否匹配,以及本地端口和权限。
定义:sing-box Windows 配置导入,是把本地 sing-box JSON 文件或远程配置 URL 加入客户端配置列表,再完成校验、启用和连接验证的过程。
先看结论:你应该选择哪种导入方式
如果你只是想在 Windows 上快速使用配置,优先选择官方 sing-box for Desktop 图形客户端;如果你需要批处理、服务化运行或查看明确的校验报错,则使用命令行核心。官方文档说明,sing-box for Desktop 用于管理和运行本地或远程配置,并支持 Windows 10+ 的 x64、x86 和 arm64 架构,详见官方 Desktop 文档。
| 你的配置来源 | 推荐方式 | 导入前要确认 | 成功标准 |
|---|---|---|---|
| 本地文件 | Desktop 添加本地配置,或命令行指定文件 | 文件内容是 sing-box JSON,而不是网页或其他客户端格式 | 配置能通过检查,客户端列表中能选中并启动 |
| 远程订阅 URL | Desktop 添加远程配置 | URL 返回配置正文,不需要额外登录页面 | 刷新后配置内容能被解析,节点或出站列表正常显示 |
| 单节点 URI | 先转换或手动写入 sing-box JSON | 单个 URI 通常不是完整 sing-box 配置文件 | 最终得到包含 outbounds 等字段的 JSON |
| Clash YAML 或错误页面 | 不要直接当作 sing-box JSON 导入 | 查看文件开头和响应类型 | 转换或重新获取 sing-box 格式配置后再导入 |
注意:导入成功只代表文件被读取或配置被解析,不等于目标网站、所有节点或系统流量已经可用。网络权限、出站信息、DNS、系统代理和 TUN 设置仍需分别验证。
方法一:在 Windows 图形客户端导入本地 JSON
- 确认安装包架构。在 Windows 的“设置”中查看系统类型,再选择 x64、x86 或 arm64 安装包。不要把命令行 ZIP 当成图形客户端安装包;官方 Desktop 页面将图形客户端和平台要求单独列出。
- 准备配置文件。使用记事本或代码编辑器打开文件,确认内容以 JSON 结构为主,而不是以 HTML、登录页面或 YAML 缩进文本开头。sing-box 配置文件使用 JSON,官方配置总览列出了
dns、inbounds、outbounds和route等顶层字段,参见官方配置总览。 - 打开 Desktop 的配置管理页面。在客户端中找到添加本地配置或导入文件的入口,选择 JSON 文件并保存。不同构建版本的菜单文字可能不同,无法确认时不要按网上截图猜菜单;以当前客户端界面和官方版本说明为准。
- 选中配置并启动。导入后先确认配置名称、更新时间或内容摘要出现,再启用该配置。若客户端提示解析失败,先停止启动动作,转到本文“命令行校验”部分查看具体报错。
- 验证结果。先查看客户端日志是否出现配置解析错误、节点为空、端口占用或权限错误;再确认系统代理或 TUN 是否由你主动开启。只有在网络和权限正常时,网页访问、域名解析和普通命令行连接才可作为验收项。
回滚方法:如果导入后启动失败,删除或停用刚加入的配置,恢复到之前可启动的配置,不要同时修改 DNS、TUN、路由和出站字段。
方法二:导入远程配置 URL,并避免把订阅当成普通网页
- 先在浏览器中检查返回内容。把远程 URL 粘贴到浏览器或使用命令行下载后查看内容。正常情况下应返回配置正文;如果看到登录页、验证码、HTML 错误页或一段与客户端格式无关的提示,就不要直接导入。
- 在图形客户端中添加远程配置。选择添加远程配置或 URL 配置,粘贴完整地址并保存。自动更新间隔、认证方式和请求失败后的行为以当前客户端界面为准,不要把某个社区 GUI 的字段名套到官方 Desktop 上。
- 首次刷新后检查内容。远程配置能保存不代表下载成功。查看最后更新时间、日志和出站列表;如果节点为空,先重新下载并查看原始响应,而不是立即修改路由规则。
- 保护 URL 凭证。包含订阅令牌的 URL 等同于访问凭证,不要发布到群聊、截图、公开仓库或在线转换页面。若已经泄露,应在提供方后台撤销或重新生成;具体操作以提供方页面为准。
远程 URL 可能返回 Clash YAML、单节点 URI、HTML 页面或过期提示,这些都不是可以直接当作 sing-box JSON 的完整配置。sing-box 官方配置结构要求使用 JSON,因此格式不匹配时应重新获取 sing-box 格式,或先进行可信的本地转换。
方法三:用命令行核心导入并校验本地配置
命令行方式适合希望看到明确错误信息的用户。官方配置文档提供了 sing-box check 检查命令,以及 sing-box format 格式化命令。
- 打开 PowerShell。进入
sing-box.exe所在目录,或把该目录加入 PATH。 - 先检查配置,不要直接启动。执行:
.\sing-box.exe check -c .\config.json
预期结果是命令结束时没有配置解析错误。如果提示 JSON 语法错误,检查逗号、引号、括号和文件编码;如果提示未知字段或字段类型错误,说明配置与当前核心版本或格式不匹配。
- 必要时格式化文件。先复制一份备份,再执行:
.\sing-box.exe format -w -c .\config.json
该操作用于整理配置格式,不会自动补齐缺少的代理出站、节点凭证或订阅内容。格式化后仍需再次运行 check。
- 启动核心。校验通过后执行:
.\sing-box.exe run -c .\config.json
如果配置包含 TUN、监听端口或系统级网络功能,可能还需要管理员权限;如果只运行普通本地入站,则是否需要提升权限取决于配置字段和系统环境。
- 根据日志判读。“address already in use”通常指本地监听端口被占用;“decode config”通常指配置解码或字段不匹配;连接超时则要继续区分本地入口、代理出站、DNS 和目标连接,不要仅凭启动成功判断网络已通。
官方配置总览还提供了 merge 命令,用于合并配置目录中的配置,但初次导入不建议一开始就使用多文件合并,先让单个 JSON 通过 check 更容易定位问题。
导入失败时,按这个顺序排查
| 现象 | 先检查什么 | 如何判断 | 下一步 |
|---|---|---|---|
| 提示 JSON 解析失败 | 文件是否真的是 JSON | 开头出现 HTML、YAML 或登录提示,说明下载内容不对 | 重新获取 sing-box JSON,再运行 check |
| 配置导入但节点为空 | outbounds 是否存在且有实际出站 | 只有 direct 不能代表已有代理节点 | 向配置提供方索取适配 sing-box 的配置 |
| 启动时报字段未知 | 客户端内核版本与配置版本 | 字段在当前官方文档中不存在或已变化 | 按当前版本文档迁移,不要盲目复制旧教程 |
| 启动时报端口占用 | 本机监听端口 | 日志显示 address already in use 或类似信息 | 关闭占用程序,或修改配置中的监听端口 |
| TUN 无法启动 | 管理员权限、驱动和其他 VPN 类软件 | 普通配置能启动,但开启 TUN 后失败 | 先关闭 TUN 验证基础出站,再单独处理权限和网卡冲突 |
| 启动成功但网页打不开 | 系统代理、DNS、出站和目标连接 | 日志无启动错误但请求超时 | 先测试本地监听,再测试代理出站和 DNS,最后检查目标 TLS |
排查时一次只改一个变量。例如先确认本地配置能通过 check,再确认核心能启动,之后才开启系统代理或 TUN;这样才能知道问题发生在哪一层。
Windows 导入 sing-box 配置的兼容性与安全边界
- 图形客户端和核心不是一回事。Desktop 负责配置管理和平台功能,核心负责解析配置与建立连接。某个 GUI 能导入的格式,不代表原生 sing-box 核心也能直接读取。
- 单节点 URI 不是完整配置。单个 VMess、VLESS、Trojan 或其他 URI 通常只描述一个出站,不能自动构成包含 DNS、入站、路由和最终出站的完整 JSON。
- 不要把字段名称当成通用开关。DNS、路由、TUN 和出站字段会随版本变化,应以当前官方配置文档为准。官方路由文档明确列出了
route、rules、final等字段;DNS 劫持也应按当前规则动作文档处理,而不是照抄旧版字段。 - 配置文件可能包含敏感信息。服务器地址、UUID、密码、订阅令牌和证书都不应公开分享。排查时可以打码,但不要只截取日志中无法识别上下文的一行。
本文是第三方使用指南,不是 sing-box 官方页面。下载、版本、字段和安装包请以官方 GitHub Releases及官方文档为准。
常见问题
sing-box Windows 应该下载图形版还是 ZIP 命令行版?
想通过窗口管理本地或远程配置,选择官方 Desktop 图形客户端;想在 PowerShell 中用 check、format、run 命令,选择命令行核心。两者用途不同,不要把命令行 ZIP 当成图形客户端安装包。
为什么远程订阅 URL 能打开,但 sing-box 仍然提示配置错误?
浏览器能打开只说明 URL 有响应,不代表返回的是 sing-box JSON。检查响应正文是否为 HTML、Clash YAML、登录页、过期提示或单节点 URI;确认内容格式后,再导入或转换。
导入 sing-box 配置后没有节点,是不是客户端坏了?
不一定。先查看 JSON 中是否存在有效的 outbounds,以及是否只有 direct 出站。配置导入成功与配置包含可用代理出站是两件事;如果节点由远程配置提供,还要检查刷新是否成功。
sing-box check 通过后,为什么启动后仍然无法联网?
check 只验证配置结构和字段能否被解析,不保证远端服务器、DNS、系统代理、TUN、权限或目标连接正常。应按本地端口、出站连接、DNS、系统代理或 TUN、目标 TLS 的顺序继续检查。
Windows 开启 TUN 后无法启动怎么办?
先关闭 TUN,确认基础配置和出站可以启动,再检查管理员权限、虚拟网卡、其他 VPN 类软件和端口占用。不要同时修改 DNS、路由和 TUN,否则很难确定真正原因。