念云 NianYun - 高速稳定的全球网络体验

sing-box 怎么添加订阅配置?先看格式,再按平台导入(附报错速查)

更新于 2026-10-24 · nianyun.shop

简答:sing-box 添加订阅配置,先确认链接返回的是 sing-box JSON,而不是 Clash YAML 或 Base64。然后在客户端新建 Remote 配置,填写 URL,手动更新,确认节点或分组出现后,再启动并授权 VPN、TUN 或网络扩展。

定义:sing-box 订阅配置,是客户端通过 URL 获取并更新的远程 sing-box JSON 配置文件,通常包含 DNS、入站、出站和路由等运行所需结构。

先看平台速查卡:入口、更新和启动顺序

如果你已经拿到服务提供方给出的链接,最快流程是:确认格式 → 新建 Remote → 粘贴 URL → 保存并更新 → 检查节点或 Groups → 启动并授权。sing-box 官方图形客户端将 Android、Apple 平台、Windows 和 Linux 分别列出;这些客户端都支持管理本地或远程配置,但实际按钮名称可能随平台和客户端版本变化。参考:sing-box 图形客户端列表、图形客户端通用功能。

平台操作入口导入后检查启动授权
AndroidProfiles 或配置页面 → 新建 Remote → 填写 Name 和 URL手动更新,查看更新时间和 GroupsDashboard 启动,允许 Android VPN
iOS/iPadOS配置或 Profiles → 新增 Remote → 填写名称和 URL更新配置,确认内容已拉取允许 VPN 配置或网络扩展
macOS配置页面 → 新增 Remote → 保存并更新查看状态、日志和可选 Groups允许 Network Extension 或系统扩展
Windows使用官方列出的 sing-box for Desktop,添加 Remote 配置确认远程配置已更新按提示允许 TUN 或系统代理权限
Linux图形客户端添加 Remote,或下载为本地 config.json运行 check 检查配置按 TUN、路由和监听端口需要授予权限

先试这一步:不要直接把链接粘贴到配置编辑器里当作 JSON。优先使用服务提供方明确标注的 sing-box 专用链接,再在客户端的 Remote 配置中填写 URL。

第一步:确认订阅链接返回的格式

链接返回内容能否直接作为 sing-box Remote应采取的操作
完整 sing-box JSON可以尝试在客户端新建 Remote,粘贴完整 URL,保存后更新
Clash YAML不能直接当作 sing-box JSON向服务提供方获取 sing-box 专用配置,或使用其明确提供的转换入口
Base64、节点列表或单个分享链接不能视为完整配置确认是否存在专用的 sing-box JSON 订阅
403、404、登录页或 HTML不能判断为有效配置检查链接权限、登录状态、订阅有效期和复制是否完整

sing-box 官方配置文档明确使用 JSON,并列出 dns、inbounds、outbounds、route 等顶层结构。因此,返回 YAML、Base64 或网页 HTML 的链接,不能直接按完整 sing-box JSON 配置处理。参考:sing-box 配置文件说明。

  1. 在服务提供方的用户中心找到订阅、客户端配置或远程配置入口,入口名称以页面实际标注和官方说明为准。
  2. 优先复制明确写有 sing-box、SFA、SFI、SFM 或 Remote 配置含义的链接。
  3. 浏览器打开链接只能作为初步判断,因为客户端请求头、认证方式或 URL 参数可能影响返回内容;最终以 sing-box 客户端更新结果和日志为准。
  4. 不要把完整订阅 URL 发到公开群聊、论坛、截图或公共转换工具中。订阅链接应按凭据处理。

Android:Profiles 中新建 Remote 配置

官方 Android 客户端支持管理和运行本地或远程 sing-box 配置,并提供基于 Android VPNService 的 TUN 相关功能。参考:sing-box for Android。

  1. 打开 sing-box for Android,进入 Profiles 或配置列表。
  2. 点击新增配置,选择 Remote 类型。
  3. 在 Name 中填写便于识别的名称,在 URL 中粘贴完整订阅链接。
  4. 保存或点击 Create,等待首次拉取完成。
  5. 回到配置列表,手动执行更新;确认出现更新时间、成功提示或可查看的配置内容。
  6. 进入 Dashboard,选择配置中的节点组或出站组。只有远程 JSON 中包含 Selector 或 URLTest 等组时,客户端才有对应的分组选择功能。
  7. 点击启动,首次使用 VPN 或 TUN 时允许 Android 创建 VPN 连接。

如果配置已更新但没有 Groups,先不要反复重装客户端。查看远程配置是否确实包含可选择的出站组,并检查更新日志是否出现解析或权限错误。图形客户端通用文档说明,Remote Profile 以 URL 作为更新来源,并支持自动更新;默认自动更新间隔为 60 分钟。参考:sing-box 图形客户端通用功能。

iOS、macOS、Windows 和 Linux:按客户端类型导入

iOS/iPadOS:在配置或 Profiles 页面新增 Remote,填写名称和 URL,保存后手动更新。首次启动时,按照系统提示允许 VPN 配置或网络扩展。官方 Apple 客户端支持管理和运行本地或远程 sing-box 配置,并通过 NetworkExtension 提供未使用系统级特权的 TUN 实现。参考:sing-box for Apple platforms、Apple 客户端功能。

macOS:使用官方列出的 Apple 平台客户端,在配置页面新增 Remote,粘贴 URL 后保存、更新并启动。如果系统弹出 Network Extension 或系统扩展授权提示,应在系统设置的隐私与安全性相关页面完成允许操作。若使用独立版客户端,下载入口以官方 Apple 客户端页面为准。

Windows:官方客户端列表当前列有 sing-box for Desktop,支持 Windows 10 及以上的 x64、x86 和 arm64 架构,并支持管理和运行远程配置。安装和下载入口以官方 Desktop 页面列出的 Releases 为准。导入时进入配置管理,新增 Remote,填写名称和 URL,保存后更新;启用 TUN 或系统级接管时,按 Windows 权限提示完成授权。参考:sing-box for Desktop。

Linux:官方 Desktop 页面列出 Linux x64、arm64 和 armv7l 支持。可以使用图形客户端添加 Remote;如果使用命令行版本,则先把远程 JSON 下载为本地 config.json,再检查和启动:

curl -L "订阅链接" -o config.json
sing-box check -c config.json
sing-box run -c config.json

curl 不是所有系统的默认工具;没有安装时,应使用发行版的软件包管理器安装。命令中的订阅链接、文件路径和权限按本机实际情况替换。启用 TUN、自动路由或监听特定端口时,还要按 Linux 的网络权限和客户端说明配置。

第二步:更新、选节点并确认确实联网

  1. 确认配置已拉取:查看 Remote Profile 的更新时间、更新结果或配置内容预览。没有更新时间时,先手动更新,不要直接启动。
  2. 确认节点或 Groups:如果 JSON 中包含 Selector 或 URLTest 出站组,Dashboard 应出现相应的组选择入口;如果只有配置但没有 Groups,可能是配置本身没有提供选择组。
  3. 选择出站:在 Groups 中选择一个节点或自动测试组。不要只根据名称判断节点是否可用,继续查看连接日志。
  4. 启动服务:Android 和 iOS 通常需要 VPN 授权,macOS 可能需要 Network Extension 授权,Windows 和 Linux 在启用 TUN 时可能需要更高权限。
  5. 验证流量:查看连接日志中是否出现命中的策略或出站组,再通过对比出口 IP 判断流量是否经过选定配置。只看到“已启动”,不能单独证明所有应用都已按预期连接。

系统代理和 TUN 的覆盖范围不同。官方客户端工作方式文档指出,普通系统代理主要面向 HTTP 代理场景,部分非 HTTP 应用以及 UDP、ICMP 流量可能不会使用系统代理;需要更完整的流量接管时,应使用客户端支持的 TUN 或虚拟接口模式。参考:sing-box 客户端工作方式。

常见导入失败:按现象排查

现象先检查什么可执行处理
403 Forbidden链接权限、登录状态、订阅凭据重新登录服务提供方用户中心并重新复制;确认 URL 没有被截断或替换。
404 Not Found链接路径、订阅是否失效重新生成或复制服务方提供的链接,不要手工修改 URL 路径。
连接超时当前网络、DNS、远程服务器响应更换网络后再次更新,查看客户端日志;不要仅凭浏览器能打开就判断客户端一定能更新。
JSON parse error返回内容是否为合法 JSON检查是否误用了 Clash YAML、Base64、HTML 登录页或错误响应;改用服务方明确提供的 sing-box JSON 链接。
字段不支持或 check 失败日志中的具体字段名、客户端与配置的兼容性在日志中记录报错字段,并运行 sing-box check -c config.json 定位;如果是远程配置字段被移除或不再支持,应让配置提供方更新 JSON。
Groups 为空远程配置是否包含 Selector 或 URLTest先确认更新成功,再查看 JSON 是否包含可选择的出站组;没有组时不能凭空在客户端生成节点列表。
启动成功但无网络VPN/TUN 权限、DNS、路由、节点连接先看日志中的 DNS、路由和出站错误;可暂时用系统代理与 TUN 做对比,再逐项恢复设置。

sing-box 官方配置文档提供 sing-box check 检查命令;检查通过只代表配置结构和当前程序能完成检查,不等于远程节点一定可连接。参考:sing-box 配置文件说明。

订阅链接泄露后怎么处理

  • 不要在公开截图、论坛、群聊或公共转换站中展示包含完整凭据的订阅 URL。
  • 导入失败时,优先回到服务提供方用户中心重新复制 sing-box 专用链接,不要为了兼容多个客户端就把完整订阅交给未知转换服务。
  • 如果链接已经公开,立即在服务提供方用户中心查找重新生成、重置、撤销或禁用旧订阅的选项,具体按钮名称以页面实际标注为准。
  • 如果没有重置入口,应联系服务提供方处理;在旧链接失效前,不要继续把它公开传播。

本文为第三方使用指南,不代表 sing-box 或任何服务提供方的官方页面;客户端名称、平台支持和配置格式应以项目资料及实际应用界面为准。

常见问题

Clash 订阅链接可以直接添加到 sing-box 吗?

不能把返回的 Clash YAML 直接当作 sing-box JSON 配置使用。应优先获取服务提供方明确提供的 sing-box 专用远程配置;如果使用转换方案,先确认转换结果是合法 JSON,并注意完整订阅凭据不要泄露。

添加 Remote 后为什么没有节点或 Groups?

先手动更新并查看更新时间和错误日志,再确认 URL 返回的是完整 sing-box JSON,而不是 403、404、HTML、YAML 或 Base64。如果配置更新成功但没有 Groups,可能是远程配置没有提供 Selector 或 URLTest 出站组。

sing-box 显示启动成功,但应用仍然无法联网怎么办?

先确认系统授予了 VPN、TUN 或 Network Extension 权限,再查看连接日志中是否有命中的策略和出站错误。可以暂时对比系统代理与 TUN 模式,并检查 DNS、路由和所选节点。

JSON parse error 应该怎么处理?

先确认链接实际返回的内容不是网页登录页、错误页面、Clash YAML 或 Base64。桌面端可以把配置保存为 config.json 后运行 sing-box check -c config.json;如果仍报错,记录具体位置或字段并让配置提供方修正。

订阅链接泄露后应该怎么处理?

把完整订阅链接按凭据处理,立即回到服务提供方用户中心寻找重新生成、重置、撤销或禁用旧链接的选项。旧链接不要继续公开使用,具体操作入口以服务提供方页面为准。

相关阅读

参考资料

  1. Graphical Clients|sing-box 图形客户端列表
  2. General|sing-box 图形客户端通用功能
  3. sing-box for Android
  4. sing-box for Apple platforms
  5. Features|sing-box Apple 客户端功能
  6. sing-box for Desktop
  7. Introduction|sing-box 配置文件说明
  8. Client|sing-box 客户端工作方式