sing-box 怎么添加订阅?按平台导入远程配置并启动连接
简答:sing-box 添加订阅的关键不是把任意链接粘贴进去,而是确认服务商提供的是可被 sing-box 读取的远程 JSON 配置。通常在客户端的 Profiles、配置或“+”入口新建 Remote,填写名称和订阅 URL,保存后更新配置,再选择节点并启动服务;如果只有 Clash YAML、Base64 节点列表或单条分享链接,不能默认直接当作 sing-box 完整配置导入。
定义:sing-box 订阅通常指一个可通过 URL 获取并更新的远程 sing-box 配置文件,而不是任意节点链接或通用订阅文本。
先试这一步:确认你拿到的到底是哪种订阅
本文是第三方使用指南,不是任何服务商的官方页面。你需要先在服务商后台寻找名称类似“sing-box”“sing-box JSON”“远程配置”或“完整配置”的链接;如果后台只给出 Clash YAML、Base64 节点列表或单条分享链接,不要直接假定它们就是 sing-box 订阅。
| 你拿到的内容 | 能否直接作为 sing-box 远程配置 | 处理建议 |
|---|---|---|
| HTTPS URL,返回完整 JSON 配置 | 通常可以 | 在客户端新建 Remote/远程配置,填写 URL 后保存并更新 |
| Clash YAML 订阅 | 不能默认直接使用 | 向服务商索要 sing-box 格式,或使用你信任且明确支持该格式的转换方式;不要把账号订阅链接提交给不可信网站 |
| Base64 节点列表 | 通常不能直接作为完整配置 | 需要兼容的客户端或转换为 sing-box JSON 后再导入 |
| vless://、ss:// 等单条分享链接 | 不是完整订阅 | 只能按客户端支持的分享链接导入方式逐条添加,不能当作远程配置 URL |
官方客户端文档把 Profile 分为 Local、iCloud 和 Remote;其中 Remote Profile 的更新来源就是一个 URL,并支持自动更新和 HTTP Basic Authorization。官方文档还给出了远程配置导入链接的统一 URL Scheme:sing-box://import-remote-profile?url=urlEncodedURL#urlEncodedName。sing-box 官方客户端通用 Profile 说明
安全上,订阅 URL 往往包含访问凭据。不要公开完整截图、把链接发到群聊,也不要在不清楚用途的转换站中粘贴;如果链接已经泄露,应在服务商后台重置或重新生成,以官方页面实际提供的功能为准。
按平台添加 sing-box 远程订阅
Android:SFA
- 打开 sing-box for Android,进入 Profiles。
- 点击右下角或页面中的 +,选择 Create Manually。
- 将 Type 设置为 Remote,填写配置名称,在 URL 中粘贴 sing-box 远程 JSON 配置地址。
- 点击 Create 或保存,回到配置列表后点击该配置进行更新。
- 进入 Dashboard,选择刚导入的配置并启动;首次使用 TUN/VPN 时,按 Android 系统弹窗允许 VPN 权限。
Android 客户端官方说明显示,SFA 可以管理并运行本地或远程 sing-box 配置;其 TUN 模式通过 Android 的 VpnService 实现。官方项目问题中也记录了“Profiles → + → Create Manually → Type=Remote → URL → Create”这一实际入口。SFA 官方 Android 客户端说明 SFA 官方功能说明 SFA 官方项目问题中的 Remote 配置入口
iPhone/iPad:SFI
- 打开 sing-box for Apple,进入 Profiles 或配置管理页面。
- 点击 +,选择新建配置;如果界面提供 Remote 类型,选择 Remote。
- 填写名称和远程 JSON 配置 URL,保存后手动执行更新。
- 回到 Dashboard,选中该配置并点击启动;第一次启动时,在 iOS VPN 权限提示中点击允许。
Apple 客户端的具体按钮名称可能随版本变化,但官方通用客户端文档明确了 Remote Profile 的定义和 URL 更新机制;Apple 客户端官方功能说明也确认 SFI/SFM/SFT 通过 NetworkExtension 提供 TUN 实现。sing-box 官方 Apple 客户端功能说明
macOS:SFM
- 在 SFM 中打开配置或 Profiles 页面,点击 + 或新建配置。
- 优先选择 Remote,填写名称和订阅 URL;不要把 Clash YAML 或 Base64 文本误填为 sing-box JSON URL。
- 保存后点击更新,确认配置内容能够被读取,再进入 Dashboard 启动。
- 如果启用系统级 TUN,按 macOS 弹窗允许 Network Extension 或相关系统扩展;若只需要支持系统代理的应用,可先使用系统代理模式验证。
macOS 图形客户端属于官方 Apple 客户端系列;官方通用文档规定 Remote Profile 以 URL 作为更新来源,并要求图形客户端实现自动更新。sing-box 官方客户端通用 Profile 说明 sing-box 官方 Apple 客户端功能说明
Windows:SFW 或其他兼容图形客户端
- 先确认你使用的是支持 sing-box JSON Remote Profile 的 Windows 客户端。官方 sing-box-for-desktop 项目目前将其描述为 Windows 客户端,并标注为实验性项目。
- 在客户端的 Profiles、Configurations 或类似配置管理页面点击添加。
- 如果有 Remote、URL 或“远程配置”类型,填写名称和 sing-box JSON URL,保存后执行更新。
- 在 Dashboard 或主界面选择配置并启动。若客户端只支持本地 JSON,不要把订阅 URL 当成本地文件导入,应改用支持 Remote 的客户端或先下载后按本地配置方式导入。
官方桌面客户端仓库目前明确说明其面向 Windows,并且仍属于实验性客户端,因此 Windows 版菜单和功能可能随版本变化;具体版本以官方发布页为准。sing-box 官方桌面客户端仓库
Linux:命令行方式
- 先取得完整 sing-box JSON 配置文件,保存为例如
/etc/sing-box/config.json;命令行核心通常不是把订阅 URL 直接当作配置文件参数。 - 如果服务商提供的是远程 URL,先用可信方式下载到本地,再检查返回内容是否为完整 JSON;不要只看文件扩展名。
- 使用官方命令检查配置:
sing-box check -c /etc/sing-box/config.json。 - 检查通过后运行:
sing-box run -c /etc/sing-box/config.json;需要长期运行时,再按发行版使用 systemd 或官方软件包方式管理。
官方安装文档提供了 Linux 软件包安装方式,并说明可使用安装脚本获取软件包;服务运行时应使用本地配置文件。sing-box 官方安装与软件包说明 sing-box 官方 systemd 服务示例
导入后怎么更新、选节点和确认连接成功
- 先确认配置拉取成功:配置列表中应出现你填写的名称,并能看到更新时间、配置内容或节点/出站列表。若只有名称没有内容,先不要启动。
- 手动更新一次:进入配置详情,点击 Update、Refresh 或“更新”。官方通用客户端文档规定 Remote Profile 支持自动更新,默认更新间隔为 60 分钟;不同客户端版本可能允许修改该间隔。官方 Remote Profile 更新说明
- 选择节点:启动后进入 Dashboard 的 Groups、出站组或节点选择页面,优先选择配置中已经提供的 Selector 或 URLTest 组;如果没有节点组,说明服务商返回的配置可能不适合当前客户端,或导入的并非完整 sing-box JSON。
- 授权系统网络权限:Android 需要允许 VpnService,iPhone/iPad 和 macOS 需要允许系统 VPN/Network Extension,Windows TUN 或系统代理则按客户端提示授权。权限弹窗被拒绝时,回到系统设置重新允许。
- 分层测试:先观察客户端状态是否为运行,再打开普通网页;如果只有部分应用不通,检查是否启用了系统代理而该应用不读取系统代理。sing-box 官方客户端文档指出,系统代理主要是普通 HTTP 代理,部分 TCP、UDP 或 ICMP 流量可能不会使用系统代理,因此不能把“浏览器能开”直接等同于所有应用都已接管。sing-box 官方客户端代理模式说明
| 现象 | 优先检查 | 下一步 |
|---|---|---|
| 导入后没有配置 | URL 是否完整、是否需要登录、返回是否为 JSON | 用浏览器或命令行查看响应类型;向服务商索要 sing-box 专用链接 |
| 有配置但没有节点 | 导入内容是否只是空模板或格式不兼容 | 查看配置内容和日志,不要直接把 Clash/Base64 链接当作 sing-box JSON |
| 配置能更新但无法启动 | VPN/TUN 权限、客户端与配置字段兼容性、日志中的 JSON 错误 | 先关闭 TUN,改用系统代理或最小配置验证;再根据日志处理 |
| 已启动但网页打不开 | 节点选择、DNS、路由规则和系统代理状态 | 换一个配置内的节点或节点组,查看连接日志,再区分 DNS 问题和出口连接问题 |
| 自动更新没有变化 | 客户端是否在后台运行、更新间隔、URL 是否仍有效 | 先手动更新;若仍失败,重新复制订阅 URL,并核对客户端版本和配置格式 |
常见问题:sing-box 订阅导入失败怎么办
为什么 Clash 订阅不能直接添加到 sing-box?
因为 Clash YAML 和 sing-box JSON 是不同的配置格式,客户端能否转换取决于具体实现,不能仅凭 URL 后缀判断。最稳妥的做法是向服务商获取 sing-box 专用远程配置;如果只能拿到 Clash 订阅,应先确认转换工具是否可信、是否会保存订阅内容。
订阅链接应该放在 Remote 还是 Local?
URL 形式的订阅应放在 Remote/远程配置;Local/本地配置通常用于已经下载到设备上的 JSON 文件。官方通用文档将 Remote Profile 定义为以 URL 为更新来源的配置,将 Local Profile 定义为本地配置文件。sing-box 官方 Profile 定义
添加后要不要设置自动更新?
可以开启,但不要只依赖自动更新。官方通用文档说明 Remote Profile 支持自动更新,默认间隔为 60 分钟;客户端在后台被系统限制、网络暂时不可用或订阅 URL 失效时,自动更新可能无法完成。遇到节点列表异常时,先手动更新一次,再查看更新时间和日志。sing-box 官方自动更新说明
为什么启动后只有浏览器能用,其他应用不通?
你可能只开启了系统代理,而不是 TUN/VPN 接管。官方客户端说明指出,系统代理对应用是否生效取决于应用是否支持并使用系统代理,UDP 和 ICMP 也可能绕过系统代理。先确认客户端模式,再按平台授权 TUN/VPN;如果不想扩大接管范围,可继续使用系统代理并单独配置支持代理的应用。sing-box 官方代理模式说明
订阅泄露后应该怎么办?
把订阅 URL 视为凭据处理。立即在服务商后台查找重置、重生成或撤销订阅的功能;如果后台没有相关选项,应联系服务商处理。重置后删除旧链接、重新导入新链接,并避免再次公开完整 URL。
常见问题
sing-box 怎么添加订阅?
在客户端进入 Profiles 或配置管理,点击“+”新建 Remote/远程配置,填写名称和 sing-box JSON 订阅 URL,保存后手动更新,再到 Dashboard 选择节点并启动。
为什么 sing-box 导入订阅后没有节点?
常见原因是链接返回的不是完整 sing-box JSON,而是 Clash YAML、Base64 列表、登录页面或空配置。先检查 URL 返回内容和客户端日志,再向服务商索取 sing-box 专用链接。
sing-box 订阅多久更新一次?
官方通用客户端文档说明 Remote Profile 默认自动更新间隔为 60 分钟,但具体客户端可能允许调整;出现异常时建议先手动点击 Update/Refresh。
Windows 上没有 Remote 选项怎么办?
先确认当前客户端是否支持远程 Profile。官方 sing-box 桌面客户端目前标注为实验性项目;如果当前版本只支持本地 JSON,就不能直接把订阅 URL 当成本地配置导入。
订阅链接泄露了怎么处理?
把旧链接视为已暴露,在服务商后台重置、重新生成或撤销旧订阅;重新导入新 URL,并删除公开渠道中的旧链接和截图。