sing-box Windows 订阅怎么导入?按格式完成配置与连接排查
简答:在 Windows 上导入 sing-box 订阅,先确认订阅链接返回的是 sing-box 可读取的 JSON 配置;然后使用官方 sing-box for Desktop 创建 Remote Profile,或将 JSON 保存为 config.json 后执行 check 和 run。若返回的是 Clash YAML、Base64 文本或单节点 URI,不能直接当作 sing-box 配置文件使用。
定义:sing-box Windows 订阅导入,是把服务提供方生成的远程配置地址加载到 sing-box 图形客户端,或下载为本地 JSON 配置后由 sing-box 核心检查并运行。
先试这一步:确认订阅格式,再决定导入方式
先不要直接把订阅链接粘贴到任意客户端。打开服务提供方后台,寻找名称中明确包含 sing-box、JSON 或远程配置的订阅地址;如果页面只提供通用订阅、Clash、Base64 或单节点链接,需要先向提供方确认是否有 sing-box JSON 格式。订阅链接通常包含账号凭据,不能发布到截图、工单、聊天群或在线转换网站。
| 返回内容或链接类型 | 能否直接作为 sing-box 配置 | 处理方法 |
|---|---|---|
| JSON 配置,包含 inbounds、outbounds 或 route 等字段 | 可以尝试 | 导入 Remote Profile,或下载为 config.json 后执行 check |
| Clash/Mihomo YAML | 不能直接当作 sing-box JSON | 向提供方索取 sing-box 格式;不要仅修改文件后缀 |
| Base64 编码文本 | 不能直接当作配置 | 确认是否有官方提供的 sing-box 转换结果,避免把订阅交给不可信服务 |
| 单个 vless://、vmess:// 或其他 URI | 不是完整配置文件 | 需要手动生成 sing-box JSON,字段必须与对应协议文档一致 |
sing-box 官方配置文档明确使用 JSON 作为配置文件格式,并提供 check 检查命令。sing-box.sagernet.org
Windows 上选哪条路线:官方图形客户端还是命令行核心
如果你希望通过界面添加远程订阅,优先使用官方文档列出的 sing-box for Desktop。官方页面说明该客户端支持 Windows 10 及以上版本,并能管理和运行本地或远程 sing-box 配置文件。sing-box.sagernet.org
| 方式 | 适合场景 | 优点 | 注意事项 |
|---|---|---|---|
| sing-box for Desktop | 希望用界面导入、更新和启动 | 可管理远程配置,并提供 Windows 平台功能 | 菜单名称随版本变化,以当前版本界面为准 |
| 命令行核心 | 需要明确控制文件、日志和启动参数 | 检查过程清晰,适合定位 JSON 或启动错误 | 不会自动把普通订阅转换成 sing-box JSON |
本文不含其他第三方 Windows 图形客户端的菜单步骤,也不把第三方项目的界面行为推断为 sing-box 官方行为。
方法一:用 sing-box for Desktop 添加远程订阅
- 下载并安装:从 sing-box 官方文档的 Desktop 页面进入 GitHub Releases,选择与 Windows 架构匹配的安装包。版本号和具体文件名以发布页当前内容为准,本文不固定写某个版本。
- 打开远程配置入口:启动 sing-box for Desktop,在配置或 Profiles 页面寻找 Remote Profile、远程配置或添加远程配置入口。不同版本菜单名称可能不同,以当前版本显示为准。
- 粘贴订阅地址:将服务提供方生成的 sing-box JSON 远程地址粘贴到 URL 字段,名称可填写“我的 Windows 配置”。不要把完整链接发给他人。
- 保存并更新:保存后执行 Update、Refresh 或更新操作。官方通用图形客户端文档将 Remote Profile 定义为以 URL 作为更新来源的远程配置,并说明图形客户端应支持自动更新。sing-box.sagernet.org
- 检查配置内容:如果客户端提供配置内容查看器,先确认内容看起来是 JSON,而不是 HTML 错误页、登录页或一段 Base64 文本。出现 HTML 时,优先检查链接是否过期、是否需要登录或复制不完整。
- 启动服务:选择刚保存的配置并启动。若配置使用 TUN,系统可能弹出权限确认;仅使用系统代理时,不要因为没有 TUN 权限就反复提权。
- 验证结果:先观察客户端状态和日志,再访问一个普通网页。若浏览器能访问但其他软件不能访问,先检查该软件是否读取 Windows 系统代理;官方客户端手册指出系统代理本质上主要是 HTTP 代理,部分 TCP 客户端不会使用,UDP 和 ICMP 也可能绕过。github.com
方法二:PowerShell 下载 JSON,再用命令行检查和启动
命令行方式不依赖某个 GUI 的菜单。先从官方 Releases 获取 Windows 构建,或按官方安装文档使用受支持的 Windows 包管理器。官方安装文档列出了 Scoop、Chocolatey 和 winget 等 Windows 安装方式。github.com
- 创建工作目录:打开 PowerShell,执行:
New-Item -ItemType Directory -Force "$env:USERPROFILE\sing-box" - 进入目录:
Set-Location "$env:USERPROFILE\sing-box" - 保存订阅地址:不要把真实订阅直接写入公开脚本。当前 PowerShell 会话中临时设置变量:
$env:SINGBOX_URL = "https://example.invalid/your-sing-box-json"。将示例地址替换为你已核实的订阅地址。 - 下载配置:
Invoke-WebRequest -Uri $env:SINGBOX_URL -OutFile .\config.json - 检查文件类型:
Get-Content .\config.json -TotalCount 5。如果开头是 HTML、登录提示或无法阅读的编码文本,不要继续运行,先回到订阅格式和链接有效性检查。 - 检查 JSON:如果 sing-box.exe 与 config.json 在同一目录,执行:
.\sing-box.exe check -c .\config.json。没有错误输出或命令返回成功,才进入下一步;出现字段错误时,按日志中的字段名检查版本和配置来源。 - 启动配置:
.\sing-box.exe run -c .\config.json。保持窗口运行,观察是否出现端口占用、远程下载、TLS 或出站连接错误。 - 停止运行:在当前窗口按
Ctrl+C。如果要后台运行,建议先确认前台运行没有配置错误,再按 Windows 任务计划或服务管理方式部署。
官方配置文档同时提供了配置检查、格式化和合并命令;如果只是排版,不要把 format 当作修复协议字段的工具。sing-box.sagernet.org
导入后没有节点、启动失败或无法联网:按顺序排查
| 现象 | 先检查 | 处理方式 |
|---|---|---|
| JSON parse error、unexpected character | 下载内容是否为 JSON | 用 Get-Content .\config.json -TotalCount 5 查看开头;若是 HTML、YAML 或 Base64,重新索取 sing-box JSON。 |
| 订阅更新失败 | 链接是否完整、是否过期、是否需要鉴权 | 在浏览器或 PowerShell 中重新请求;不要在公开平台粘贴完整 URL。若服务方使用 HTTP Basic Authorization,按客户端提供的认证字段填写。 |
| 配置能打开但节点列表为空 | 远程返回内容是否包含可用 outbounds | 先查看配置内容;如果只有模板、空数组或错误提示,联系提供方确认生成结果,不要凭空修改字段。 |
| 配置检查通过但启动失败 | 端口、权限、协议字段和依赖文件 | 按日志逐项处理。端口占用可执行 Get-NetTCPConnection -State Listen | Sort-Object LocalPort,再确认配置中的监听端口是否冲突。 |
| 启动后浏览器打不开 | 系统代理开关、入站监听地址和端口 | 确认 Windows 代理入口与配置中的 HTTP 或 mixed 入站一致;端口以配置文件实际值为准。可用 curl.exe -I -x http://127.0.0.1:7890 https://example.com 测试本地 HTTP 代理,若端口不同请替换 7890。 |
| TUN 开启后网络异常 | 管理员权限、网卡、路由和 DNS | 先关闭 TUN,验证系统代理路线;再按官方 TUN 文档检查 Windows 路由和 DNS。TUN 可能需要提升权限,系统代理本身不等于 TUN。 |
官方 TUN 文档说明 Windows 下的 TUN 路由、DNS 模式和严格路由存在平台相关行为;因此“配置检查通过”不等于系统代理、TUN 和 DNS 已全部正常。github.com
订阅链接安全与版本差异清单
- 链接就是凭据:订阅 URL 可能包含识别信息或访问令牌。截图时打码域名后的路径、参数和二维码,分享日志前也要删除 URL。
- 不要只改后缀:把 YAML 文件重命名为 JSON 不会改变内容格式;配置检查失败时,应重新获取兼容格式。
- 优先使用发布页:官方图形客户端页面指向 GitHub Releases;具体版本、架构和安装包名称以当前发布页为准,本文不对未检索到的版本号作判断。
- 系统代理与 TUN 分开验证:先验证本地 HTTP 或 mixed 入站,再验证 Windows 系统代理,最后再处理 TUN。TCP 测试不能代表 UDP 或 QUIC 是否正常。
- 远程配置自动更新要谨慎:自动更新方便,但每次更新仍可能改变节点、路由或 DNS。遇到异常时保留最近一次可用配置的脱敏备份。
本文范围说明与下一步
本文是面向 Windows 的 sing-box 订阅导入指南,不是「一枝红杏 🧱」官方页面,也不提供未经核实的官网入口、价格、状态或可用性判断。具体订阅格式、账号权限和远程配置内容,以提供方当前说明为准。
如果导入后遇到的是 TUN、节点延迟或系统代理问题,可继续参考站内的 sing-box Windows TUN 模式教程、Windows 浏览器走代理但其他软件不能用的排查步骤,以及 节点延迟和丢包测试方法。
常见问题
sing-box Windows 订阅链接从哪里复制?
通常在服务提供方后台的订阅、客户端配置或远程配置区域。本文无法核实具体服务后台的菜单名称;请寻找明确标注 sing-box 或 JSON 的链接,并以提供方当前说明为准。复制后不要公开分享完整 URL。
Clash YAML 订阅能直接导入 sing-box 吗?
不能把 Clash YAML 直接当作 sing-box JSON 配置。sing-box 官方配置格式是 JSON;应先向提供方索取 sing-box 格式,或使用你已核实且信任的转换方案。仅修改文件扩展名不会完成格式转换。
为什么订阅导入后显示没有节点?
先查看远程返回内容是否是 HTML 错误页、空配置、登录提示或过期结果,再检查配置中的 outbounds 是否存在。若 JSON 可解析但内容为空,通常需要由提供方确认订阅生成结果,不能仅靠客户端界面修复。
sing-box Windows 导入订阅一定要开启 TUN 吗?
不一定。可以先使用配置中的 HTTP 或 mixed 入站配合 Windows 系统代理进行验证;TUN 是另一条接管流量的路径,可能需要管理员权限,并应单独检查网卡、路由和 DNS。
命令行执行 check 通过,为什么还是不能上网?
check 主要用于发现配置结构或字段问题,不等于远程出站、监听端口、系统代理和 DNS 都已正常。建议按“进程是否启动→本地入站端口→系统代理开关→远程连接日志→TUN/DNS”顺序排查。