sing-box Windows 导入订阅教程:格式识别、启动与排查
简答:sing-box Windows 导入订阅,先确认客户端支持的格式,再在“订阅”或“远程配置”页面粘贴链接并保存,随后手动更新、选择节点、启动内核,最后分别验证配置、节点和系统流量是否生效。订阅链接带 token,不要公开分享。
定义:sing-box Windows 导入订阅,是把服务商提供的远程配置或节点列表交给 Windows 图形客户端解析、更新并运行的过程。
先看这张表:你需要什么客户端和订阅格式
本文是第三方使用指南,不是 sing-box 或任何服务商的官网。普通 Windows 用户优先选择图形客户端;需要手动编写 JSON、运行命令和查看原始日志时,再考虑命令行核心。sing-box 官方桌面客户端支持 Windows 10 及以上,并列出 x64、x86、arm64 架构;下载入口应以官方桌面客户端说明中的 GitHub Releases 为准。
| 场景 | 优先选择 | 可核对的格式或能力 | 注意事项 |
|---|---|---|---|
| 第一次使用 | 图形客户端 | 远程配置、订阅页面、节点选择、系统代理或 TUN | 菜单名称会随客户端版本变化,以当前界面为准 |
| 官方桌面客户端 | sing-box for Desktop | 管理并运行本地或远程 sing-box 配置,也提供 TUN 功能 | Windows 要求和下载入口见官方说明 |
| 社区图形客户端 | 具备订阅管理功能的 Windows GUI | 部分项目明确支持 sing-box JSON、Clash/Mihomo YAML 和 URI 列表 | 格式转换能力属于具体客户端功能,不代表所有 sing-box 客户端都支持 |
| 命令行核心 | sing-box.exe | 原生配置文件使用 JSON,可通过 check 校验 | 需要自己管理配置文件、工作目录、日志和启动命令 |
官方文档明确说明 sing-box 配置文件使用 JSON,并提供 check、format 和 merge 命令。不要把“能打开网页的 Clash YAML”直接当成“所有 sing-box 客户端都能读取的原生 JSON”。
一个社区 Windows GUI 的项目文档明确列出三类输入:sing-box JSON、Clash/Mihomo YAML 和 URI 列表,并将页面分为订阅、代理和首页等功能区域。使用该类客户端时,仍应以当前项目 README 和软件界面为准,相关说明可查看Windows GUI 项目 README。
下载与安装:先判断 Windows 架构,再运行客户端
- 查看系统类型:打开“设置”→“系统”→“系统信息”,查看“系统类型”。常见结果包括基于 x64 的处理器、ARM64 设备或 32 位系统。若页面没有明确显示,先不要凭文件名猜测,按当前 Windows 信息和发布页资产核对。
- 选择下载入口:官方桌面客户端从其说明页的 GitHub Releases 进入;社区 GUI 则从项目自己的 Releases 页面进入。不要使用来历不明的重新打包文件。当前版本号、安装包名称和架构资产以下载页面实时显示为准,本文不硬编码版本号。
- 首次启动:解压便携版或运行安装包后,若 Windows Defender 或安全软件弹出提示,先确认文件来源、数字签名和下载页面,再决定是否允许运行。无法核验来源时不要继续。
- 需要 TUN 时:先完成普通系统代理测试,再开启 TUN。官方文档说明 TUN 可用于 Windows,并且
strict_route会影响 Windows 的严格路由和 DNS 行为;开启后若虚拟机、局域网软件或本地服务异常,应先关闭 TUN 回滚验证。
官方 sing-box 版本发布页可能同时出现稳定版和预发布版。新手优先选择客户端页面标注的稳定构建;若只看到测试构建,版本状态需核实,不要因为版本号更高就直接升级。
导入订阅:按页面名称完成远程配置
- 找到订阅地址:在服务商后台寻找“订阅”“配置链接”“远程配置”或类似入口。复制完整 URL,不要只复制被浏览器截断的前半段。订阅地址通常包含身份凭据,不能发到群聊、工单截图或公开仓库。
- 进入添加页面:在图形客户端中打开“订阅”“Subscriptions”“远程配置”或“Profiles”页面,查找“添加”“Add”“新建远程配置”等按钮。若当前客户端只有“导入文件”,说明它可能不接受 URL,需核对该客户端的远程配置功能。
- 粘贴并保存:把订阅 URL 粘贴到地址栏,填写名称后保存。不要把订阅链接当作节点名称,也不要在 URL 后随意增加参数。菜单和字段名称以当前版本界面为准。
- 手动更新:在已保存的订阅条目旁寻找“更新”“Update”“刷新”或下拉菜单中的更新操作。更新成功后查看更新时间、节点数量或配置内容;只看到条目存在,不代表配置已经成功解析。
- 选择节点:进入“代理”“Proxy”页面,选择一个节点或节点组。若列表为空,先回到订阅页面确认更新结果,不要先改 DNS 或 TUN。
- 启动连接:回到“首页”“Home”或运行页面,启动 sing-box 内核;再选择“系统代理”或“TUN”模式。某些客户端的“手动模式”只启动本地代理端口,不会自动接管所有 Windows 流量。
如果软件支持直接导入 Clash/Mihomo YAML 或 URI 列表,是否能转换取决于具体客户端。社区 GUI 的 README 明确列出这些输入类型,但原生 sing-box 配置仍以 JSON 为基础;遇到格式不兼容时,优先向订阅提供方索取对应客户端格式,不要把包含 token 的链接随意提交给第三方转换服务。
四步验证:不要把“导入成功”误判成“已经联网”
| 验证环节 | 检查位置 | 通过表现 | 失败时先处理什么 |
|---|---|---|---|
| 订阅导入 | 订阅或远程配置页面 | 条目保存,地址未被截断 | 检查 URL、权限和网络访问 |
| 配置更新 | 更新状态、更新时间、错误提示 | 显示成功或生成配置 | 检查 HTTP 状态、返回内容和格式 |
| 节点加载 | 代理或节点页面 | 出现节点、分组或出站 | 检查解析错误、协议兼容和空配置 |
| 流量接管 | 系统代理、TUN、日志和浏览器 | 请求进入客户端并有连接记录 | 检查模式、端口冲突、权限和 DNS |
如果使用命令行核心,可把配置文件保存为 config.json,在 PowerShell 中进入文件所在目录后执行:
.\sing-box.exe check -c .\config.json:用于检查配置是否能被解析;官方配置文档提供了sing-box check校验命令。.\sing-box.exe format -w -c .\config.json:需要格式化配置时使用,先备份原文件。.\sing-box.exe run -c .\config.json:启动配置。若命令参数与当前核心不同,以该版本的.\sing-box.exe help输出为准。
配置校验通过,只能说明 JSON 结构或字段基本可读,不代表远端节点可用;启动内核成功,也不代表浏览器或其他应用已经使用系统代理。
常见故障排查:按现象分层处理并保留回滚路径
现象一:subscription update fail、更新超时或返回错误
- 检查:在浏览器或 PowerShell 中确认 URL 是否能返回内容,观察 HTTP 状态、是否需要登录、是否被重定向。
- 判断:无法访问 URL,优先属于订阅拉取问题;能返回内容但软件报解析错误,才进入格式判断。
- 处理:重新复制完整 URL,确认服务商后台订阅仍有效;若返回的是登录页、HTML 错误页或空白内容,不要把它当 JSON/YAML 导入。
- 回滚:保留旧配置,不要删除原订阅;用旧配置验证客户端本身是否仍能启动。
现象二:更新成功但节点为空
- 检查:查看返回文本开头,判断是 JSON、YAML、Base64 字符串还是 URI 列表;同时查看客户端日志中的解析错误。
- 判断:条目更新成功只说明 HTTP 请求完成,节点为空通常与格式不兼容、内容为空或转换失败有关。
- 处理:使用客户端明确支持的格式;原生 sing-box 配置应核对顶层是否存在
outbounds,社区 GUI 的 YAML 输入则按其 README 规定处理。 - 回滚:恢复上一份可用配置,避免反复覆盖唯一备份。
现象三:内核启动失败或窗口提示权限错误
- 检查:先看客户端日志,再确认是否已有其他代理核心占用端口;Windows 可用
netstat -ano查看监听端口,再用任务管理器按 PID 查找进程。 - 判断:端口被占用属于本地冲突;配置字段错误属于内核解析问题;TUN 创建失败则可能与权限、安全软件或驱动环境有关。
- 处理:停止冲突的代理程序或修改当前客户端的本地端口;配置错误时用
check校验;TUN 失败时先关闭 TUN,改用系统代理验证基础连接。 - 回滚:恢复端口、关闭 TUN 或退出客户端,确认 Windows 网络恢复后再逐项开启。
现象四:内核已启动但浏览器无法联网
- 检查:分别查看系统代理开关、TUN 开关、本地 HTTP/SOCKS 端口、DNS 日志和连接记录。
- 判断:系统代理只影响遵循 Windows 代理设置的应用;TUN 通过虚拟接口接管范围更广,但会涉及路由、DNS 和权限。两者不是同一个开关。
- 处理:先只启用一种模式,关闭其他代理软件;如果系统代理有效而 TUN 无效,暂时使用系统代理并记录 TUN 日志;如果 TUN 有连接但域名失败,再检查 DNS 模式。
- 回滚:关闭系统代理或 TUN 后恢复原网络设置,再重启浏览器或相关应用。
官方 TUN 文档说明,Windows 下 dns_mode、strict_route 会影响 DNS 配置和路由行为;因此 DNS 失败、局域网访问异常和 TUN 无法启动应分开判断,不要同时修改多个设置。
安全与版本提醒
- 订阅 URL 可能包含 token 或其他访问凭据,避免公开粘贴、截图分享和提交到不熟悉的转换网站。
- 下载前核对项目发布页、文件名、系统架构和哈希值;如果当前页面没有提供可核验信息,就标记为“需核实”。
- 官方 sing-box 发布页同时存在稳定版和预发布版,本文不把最新预发布版本当作普通用户必选版本。安装后若出现兼容问题,先记录客户端版本、内核版本、Windows 版本和日志,再回退到此前可用构建。
- 连接问题排查应遵循“订阅 URL → 返回内容 → 配置解析 → 节点连接 → DNS → 系统代理/TUN”的顺序。只有在同一订阅、同一客户端和多个节点均无法连接时,才考虑联系服务商核对订阅状态。
官方配置文档、桌面客户端说明和项目 README 的界面能力可能随版本变化。本文涉及的菜单名称以当前版本界面为准,无法从公开资料确认的默认值和具体服务状态不作判断。
常见问题
sing-box Windows 能直接导入 Clash 或 Mihomo 订阅吗?
不能一概而论。sing-box 原生配置使用 JSON;部分 Windows GUI 项目明确支持 Clash/Mihomo YAML 或 URI 列表,但这是具体客户端的解析能力。导入前查看当前客户端 README 或界面提示,不能把一个客户端的兼容范围套用到另一个客户端。
订阅导入成功但节点列表为空,应该先改 DNS 吗?
不应该先改 DNS。先查看更新返回内容和客户端日志,确认是否为 JSON、YAML、Base64 或 URI 列表,并检查是否出现解析错误。只有节点已加载但域名解析失败时,才进入 DNS 排查。
系统代理和 TUN 模式有什么区别?
系统代理依赖应用遵循 Windows 的代理设置,TUN 则通过虚拟网络接口接管更广范围的流量,并可能影响路由和 DNS。排查时先关闭其他代理软件,只启用一种模式;系统代理有效而 TUN 失败时,可先回滚到系统代理。
为什么配置 check 通过,启动后仍然无法联网?
check 主要验证配置是否能被解析,不会证明节点可用、订阅权限有效或系统流量已经接管。继续检查节点连接日志、DNS、系统代理开关、TUN 状态和端口占用。
Windows 下载 x64、x86 还是 ARM64?
打开“设置”→“系统”→“系统信息”查看系统类型,再与发布页资产核对。官方桌面客户端说明列出 Windows 10+ 的 x64、x86 和 arm64 支持;具体安装包是否提供某个架构,以当前发布页为准。