sing-box订阅配置怎么导入?从 Remote 添加到联网排查
简答:sing-box 订阅配置的最短流程是:确认服务商提供的是 sing-box/JSON 格式,进入客户端的 Profiles 或配置页面新建 Remote,粘贴 URL、更新配置,再授权启动并选择节点。sing-box 官方文档将 Remote Profile 定义为以 URL 作为更新来源的远程配置,并明确配置文件使用 JSON 格式;不同服务商是否提供 sing-box 专用链接仍以其用户中心实际显示为准。你可以先按本文的格式对照表和设备步骤操作,若导入后没节点或报错,再按速查表定位链接、格式、版本和权限问题。
定义:sing-box 订阅配置是供 sing-box 客户端读取的远程或本地 JSON 配置文件。
先看这张表:你拿到的链接能不能直接导入
本站是第三方使用指南站,不是任何订阅服务的官方站。实际用户中心可能提供不同格式,本文不假定某个服务一定有 sing-box 入口;请以页面标注和服务支持回复为准。
根据sing-box 通用客户端文档,Remote Profile 的更新来源是 URL;根据sing-box 配置文档,配置文件格式是 JSON。
| 用户中心显示 | 能否直接放进 Remote | 正确处理 |
|---|---|---|
| sing-box、sing-box JSON、JSON、Remote | 可以尝试 | 复制完整 URL,在客户端新建 Remote Profile 后更新 |
| Clash YAML 或 Clash 专用订阅 | 不能默认直接使用 | 先查找明确标注的 sing-box/JSON 格式 |
| Base64 通用订阅 | 不能默认直接使用 | 确认服务端是否提供 sing-box 转换结果,不要只改文件名或后缀 |
| 单节点链接 | 不是完整远程配置 | 通常需要手动生成本地 JSON,不适合直接按 Remote 订阅流程导入 |
30 秒速查:报 404/403 先重新复制并检查权限;报 JSON parse error 先确认返回内容不是登录页、错误页或 YAML;导入成功没节点先查看出站组;启动后没网先检查 VPN/TUN 权限、节点选择和其他代理冲突。
第一步:复制完整的 sing-box 订阅地址
- 登录你获得订阅的用户中心,进入订阅、配置或客户端相关页面。
- 查找 sing-box、JSON、sing-box JSON、Remote 或类似标识。
- 复制完整 URL,不要手动删除参数、改变大小写,也不要只复制到特殊字符之前。
- 如果同时看到普通 URL 和一键导入链接,先保留普通 URL;一键链接是否能被当前设备唤起取决于客户端和系统实现。
- 不要把包含 token、账户标识或授权参数的 URL 发到公开群组、截图、代码仓库或不明转换站。如果已经公开,优先在用户中心查找重新生成、重置或刷新入口;没有相关功能时联系服务支持。
如果用户中心没有明确写 sing-box 或 JSON,不要把 Clash、V2Ray 或通用订阅直接当作 sing-box 配置。是否存在兼容入口属于服务端信息,本文无法替代其说明。
第二步:在客户端新建 Remote 并更新
官方通用文档把 Remote Profile 定义为“以 URL 作为更新来源”的远程配置,图形客户端还应提供配置内容查看和远程配置更新功能。操作名称可能随发行版变化,但顺序基本相同。
- 打开 sing-box 客户端,进入 Profiles、配置或配置文件页面。
- 点击新增配置,类型选择 Remote,不要选择 Local。
- 在 URL、Remote URL 或订阅地址字段粘贴完整链接。
- 填写本机便于识别的名称。
- 保存后点击 Update、更新或刷新。
- 打开配置内容查看器或日志,确认返回的是 JSON 配置,而不是 HTML 登录页、错误页或空内容。
如果当前客户端支持官方 URL Scheme,可以使用以下结构;其中 URL 和名称需要按 URL 编码规则处理,不能把包含特殊字符的原始地址直接拼接:
sing-box://import-remote-profile?url=urlEncodedURL#urlEncodedName这个 URL Scheme 和 Remote Profile 的自动更新要求见sing-box 通用客户端文档。文档给出的默认自动更新间隔是 60 分钟,但具体客户端的按钮、后台更新策略和失败提示仍以当前发行版为准。
第三步:按设备启动并完成权限授权
| 设备 | 可照做的路径 | 启动时检查 |
|---|---|---|
| Android | 打开 SFA → Profiles → 新建配置 → Type 选择 Remote → 粘贴 URL → 保存并 Update | 启动服务时允许系统 VPN;需要 TUN 时,Android 会通过 VpnService 接管流量 |
| iPhone/iPad | 打开 SFI → Profiles → 新建 Remote 配置 → 粘贴 URL → 更新并选中配置 | 首次启动允许创建 VPN 配置或网络扩展;拒绝后到系统设置重新授权 |
| macOS | 打开 SFM → Profiles → 新建 Remote 配置 → 粘贴 URL → 更新并启动 | 按系统提示允许网络扩展、VPN 或相关权限 |
| Windows | 使用 sing-box for Desktop 或其他兼容图形客户端,在 Profiles/配置页面新建 Remote | 需要 TUN 时允许相关网络权限;仅使用系统代理时,检查系统代理是否已开启 |
Android 官方客户端页面确认 SFA 可以管理和运行本地或远程配置,并提供平台相关的 TUN 功能;Apple 平台官方客户端页面说明 SFI/SFM/SFT 支持本地或远程配置。Windows 和 Linux 的官方图形客户端名称为 sing-box for Desktop,具体见Desktop 官方页面。如果你使用其他图形客户端,菜单名称和权限提示以该客户端文档为准。
第四步:选节点、启动服务并验证联网
- 进入 Dashboard、Groups、节点组或出站列表,确认配置中出现可选节点或出站组。
- 如果配置包含 Selector 或 URLTest 组,先选择一个实际节点或节点组。官方文档说明,配置存在这些组出站时,Dashboard 可提供组选择功能。
- 启动 sing-box 服务,并确认系统显示 VPN、TUN 或系统代理已开启。
- 打开普通网页或应用测试,同时查看状态、流量和日志。
- 如果只有某个应用失败,检查该应用是否遵循系统代理;如果所有应用都失败,优先检查配置更新、权限、节点连通性和 DNS。
规则模式、全局模式、系统代理和 TUN 接管的流量范围可能不同,因此浏览器能打开不代表所有应用都经过同一配置。测试时先关闭其他 VPN、代理客户端和系统级网络工具,避免多个程序同时接管流量。
需要进一步验证节点时,可参考站内的节点延迟与带宽测试步骤,把“配置已导入”和“节点实际可用”分开判断。
第五步:按报错现象排查导入失败
| 现象 | 先检查什么 | 处理方法 |
|---|---|---|
| 404 或 403 | URL 是否完整、账户是否有权限、订阅是否失效 | 回到用户中心重新复制;记录状态码和时间,必要时联系服务支持 |
| JSON parse error | 返回内容是不是 JSON | 确认没有拿到 HTML 登录页、错误页或 Clash YAML;重新选择明确的 sing-box/JSON 格式 |
| 导入成功但没有节点 | 配置是否包含 outbounds、Selector 或 URLTest | 查看配置内容和 Groups;如果内容为空或只有规则,联系配置提供方确认 |
| 字段不支持或启动失败 | 配置字段与当前核心版本是否匹配 | 先更新客户端并重新拉取;再对照sing-box 迁移指南和废弃功能列表检查旧字段 |
| 能启动但没有网络 | VPN/TUN 权限、节点选择、DNS、其他 VPN 冲突 | 关闭其他网络接管工具,重新授权,选择单个节点后再次测试 |
| 更新后突然失效 | 远程内容、账户权限或配置版本是否变化 | 手动更新并查看日志;无法判断时保存错误信息,向配置提供方确认 |
官方迁移资料显示,部分字段会在新版本中废弃或移除。例如 TUN 的 stack 参数自 1.15.0 起废弃,并计划在 1.17.0 移除;因此“昨天能用、更新后启动失败”不能只归因于节点问题,也要检查配置字段和核心版本。
第六步:Windows 命令行保存 JSON 并检查
普通用户优先使用图形客户端的 Remote Profile。只有当你需要确认远程地址实际返回什么内容时,才建议在本地保存配置。部分服务会根据 User-Agent 返回不同内容,因此命令行测试时可显式指定 User-Agent;下面使用占位地址,不是实际订阅地址。
保存配置:
curl.exe -L -A "sing-box" "https://example.invalid/your-sing-box-config" -o config.json查看文件开头:
Get-Content .\config.json -TotalCount 8检查配置:
sing-box check -c config.jsonsing-box 官方配置文档列出了 sing-box check 检查命令。检查通过只表示当前程序能够读取配置结构,不代表节点可用、系统代理已开启,或所有应用都会经过该配置。若文件开头是 HTML、登录提示或错误文本,应回到用户中心检查链接、权限和格式,而不是继续修改 JSON 字段。
常见问题
sing-box 订阅配置导入后为什么没有节点?
先查看远程配置内容是否为空、是否返回错误页,再检查 outbounds、Selector 或 URLTest 是否存在。如果配置只有规则、没有出站,导入成功也不会出现可选节点;这种情况需要向配置提供方确认返回内容。
Clash 订阅能直接导入 sing-box 吗?
不能默认直接导入。Clash YAML、Base64 通用订阅和 sing-box JSON 的格式不同,只有服务端明确提供 sing-box 兼容配置,或你已经验证转换结果符合当前版本时,才适合继续使用。
sing-box Remote 配置多久更新一次?
sing-box 通用客户端文档给出的 Remote Profile 默认自动更新间隔是 60 分钟,但不同客户端的实现和后台限制可能不同。导入后可以在 Profiles 页面手动点击 Update,并查看最后更新时间或错误日志。
导入成功但启动后无法联网怎么办?
先确认 Remote 已更新、配置已选中、节点组中有实际节点,并允许系统 VPN 或 TUN 权限;然后关闭其他 VPN、代理客户端后重试。如果只有部分应用失败,再检查该应用是否遵循系统代理以及当前分流模式。
订阅链接可以发给别人帮忙转换吗?
不建议。订阅 URL 可能包含 token、账户标识或授权参数,公开分享会扩大泄露范围。优先使用服务端提供的 sing-box 格式;必须排查时,先脱敏,或让服务支持确认安全处理方式。