sing-box 使用教程:下载、订阅导入与配置教程
从零讲清 sing-box 怎么用:只从 SagerNet/sing-box 官方 GitHub 下载、区分内核与图形客户端、把机场订阅转换或直接导入为 JSON 配置、测试节点延迟、理解路由规则的基本概念、用 IP 查询验证连接,以及「sing-box 配置失败」「无法导入机场订阅」的对症解决。
结论摘要
sing-box 是 SagerNet 团队开发的跨平台代理内核(官方仓库 github.com/SagerNet/sing-box),使用统一的 JSON 配置文件,Windows/Linux/macOS 上以命令行程序为主,iOS、Android、macOS 另有官方图形客户端,具体形态以官方仓库当前发布版本为准。使用步骤:从官方 Releases 或应用商店获取对应平台的版本 → 把机场提供的订阅转换或直接导入为 sing-box 支持的配置 → 测试节点延迟并选择 → 了解路由规则的基本概念 → 用 IP 查询网站验证出口地区。配置失败或订阅导入不了时,先核对 JSON 格式与订阅类型是否匹配。
sing-box 是 SagerNet 团队开发的开源代理内核,官方仓库为 github.com/SagerNet/sing-box,用统一的 JSON 配置文件描述节点、路由规则与 DNS。核心程序在 Windows、Linux、macOS 上以命令行方式运行,iOS、Android、macOS 另有官方维护的图形客户端项目,具体发布形态请以官方仓库当前版本为准。使用流程大致是:确认自己平台对应的官方获取渠道 → 把机场订阅转换或直接导入为 sing-box 支持的配置 → 测试节点延迟并选择可用节点 → 了解路由规则的基本思路 → 用 IP 查询站点验证出口地区。下面按这个顺序逐步展开,并在后半部分集中处理「配置失败」和「订阅导入不了」这两个最常见的问题。
学习目标与准备工作
sing-box 和 Clash、v2rayN 最大的不同在于它首先是一套「配置标准」,而不是封装好的应用。理解这一点,很多现象都能解释清楚:为什么有的教程讲命令行、有的讲图形界面;为什么同一份订阅在 sing-box 里要先「转换」;为什么 v2rayN 的设置里会出现「sing-box」这个选项——因为它既可以独立使用,也可以被其他客户端当作底层核心调用。
学完本文你应该能够:
- 分清 sing-box 的命令行核心与官方图形客户端,找到自己平台对应的官方获取渠道;
- 理解 sing-box 的 JSON 配置结构,知道机场订阅为什么可能需要转换;
- 完成订阅导入(直接导入或转换后导入)并测试节点;
- 理解路由规则的基本概念,知道什么时候需要深入官方文档;
- 用 IP 查询验证连接是否成功,并对「配置失败」「订阅导入不了」两类问题按图索骥。
典型使用者有两类:一类是已经在用 Clash 或 v2rayN、听说 sing-box「协议支持更新快、配置更统一」而想尝试的进阶用户;另一类是所在平台(比如某些新出的移动设备或特定发行版)恰好只有 sing-box 提供了较完整支持的用户。无论哪一类,起点都是同一件事:先搞清楚自己平台上「官方到底发布了什么形态的东西」,再谈配置。
开始之前需要准备:
- 一条订阅链接,来自你自己购买的机场服务,本质是一份会自动更新的节点清单。如果还分不清订阅、节点、客户端三者的关系,先看 机场是什么。
- 对 JSON 格式的基本容忍度。sing-box 的配置是结构化的文本文件,即便你使用图形客户端、大部分时候不需要手写 JSON,了解「配置文件长什么样」也有助于排错。
- 明确自己的平台。Windows、macOS、Linux、iOS、Android 的获取方式和可操作程度不同,不要照搬别的平台的教程。
注意:本站是独立知识平台,不提供任何节点、订阅链接或账号;文中的「订阅链接」一律指你从自己购买的机场服务获得的链接。使用代理工具请遵守所在地法律法规。
建议:如果你还没有决定用哪个客户端,且更看重「导入就能用、不折腾配置文件」,可以先看 Clash 使用教程 或 v2rayN 使用教程;如果你愿意花时间理解配置结构,或者你的机场明确建议使用 sing-box 格式订阅,再继续往下读。各客户端总览见 客户端栏目。
官方下载渠道:只认 SagerNet/sing-box
sing-box 只有一个可信来源:GitHub 官方仓库 github.com/SagerNet/sing-box 的 Releases 页面。它是跨平台项目,Releases 里会按操作系统与架构区分出多个发行包(例如面向 Windows、Linux、macOS 的命令行核心构建,可能还包括 deb、rpm 等 Linux 包管理格式),具体文件命名与是否附带图形界面安装包,以你打开 Releases 时看到的实际列表为准,不要照搬旧文章里的文件名去找。
官方仓库同时维护了面向移动端和部分桌面端的图形客户端项目,用来简化「编辑 JSON、管理订阅、一键连接」这些操作,如果已经上架,通常可在 App Store(iOS/macOS)或 Google Play(Android)搜索官方开发者信息获取;Windows 是否已有官方图形客户端、还是仍以命令行核心加第三方前端工具的形式存在,请以官方仓库当前发布的版本形态为准,本文不对具体界面截图或按钮位置做描述。
| 平台 | 官方获取渠道类型 | 说明 |
|---|---|---|
| Windows / Linux | GitHub 官方仓库 Releases | 命令行核心为主,具体是否附带图形前端以当前 Releases 说明为准 |
| macOS | GitHub Releases 或 App Store(如已上架) | 部分版本可能同时提供命令行核心与图形客户端,以官方仓库说明为准 |
| iOS / iPadOS | App Store(官方开发者条目) | 图形客户端通常是使用 sing-box 的主要方式 |
| Android | GitHub Releases 或 Google Play(如已上架) | 同上,具体分发渠道以官方仓库当前说明为准 |
搜索「sing-box 下载」同样会出现大量第三方下载站、网盘与「整合包」,尤其是打着「已配置好机场节点」旗号的压缩包,这类文件最容易被植入恶意配置或捆绑程序。
- 在浏览器地址栏确认域名是 github.com、仓库路径是 SagerNet/sing-box;
- 进入 Releases,根据自己的操作系统和架构(如 amd64、arm64)选择对应文件;如果不确定当前版本是否提供图形界面,先浏览 Releases 说明或官方文档确认;
- 移动端优先检查 App Store 或 Google Play 是否已有官方条目,避免下载同名的第三方仿制应用;
- 下载完成后核对文件来源与体积,不要使用任何声称「已内置节点」的第三方打包版本。
注意:命令行核心程序本身不含任何服务器信息,所有节点数据都要靠你自己导入的配置文件提供;凡是解压即带节点的「整合包」都不属于官方渠道,来源不明的节点存在流量监听、恶意配置等风险,不要因为「省事」而使用。
建议:第一次使用建议先在官方文档(sing-box.sagernet.org)确认当前版本对你所在平台的支持情况和推荐获取方式,再动手下载,避免因为版本迭代快而对照到过期的教程。
订阅导入:JSON 配置与机场订阅怎么对接
sing-box 使用 JSON 格式的配置文件,结构上大体分为「入站(inbounds,本机监听方式)」「出站(outbounds,节点与直连/拒绝等出口)」「路由(route,流量分派规则)」「DNS」几个部分。这和 Clash 使用的 YAML 订阅、v2rayN 兼容的通用分享链接订阅在语法上完全不同,不能直接互相导入。
这就带来一个关键问题:机场的订阅要怎么才能变成 sing-box 能读的东西?目前大致有两条路径:
第一种,机场直接提供 sing-box 格式订阅。 部分机场已经在用户中心提供「sing-box」选项的订阅链接,这种情况最省事:把链接填入你使用的 sing-box 客户端(或专门的配置管理工具)的订阅导入位置,客户端会定期拉取并生成本地 JSON 配置,操作逻辑与其他客户端导入订阅类似。
第二种,机场只提供 Clash 或通用(V2Ray 分享链接)格式订阅。 这时需要借助订阅转换工具或服务,把原始订阅转换成符合 sing-box 结构的 JSON。转换本质上是把「节点列表」重新组织成「出站数组」,再套上一份路由与 DNS 的默认模板。转换环节容易因为个别协议字段不被识别而报错,遇到这种情况优先检查原订阅里是否包含 sing-box 当前版本尚未支持的协议或参数。
从 Clash 换到 sing-box 的开发者,通常先确认机场是否已有 sing-box 格式订阅,没有就用转换工具生成一份,导入后先用最基础的规则跑起来,再逐步调整路由细节,而不是一上来就手写完整配置。
- 登录机场用户中心,查看订阅入口是否已经区分「Clash」「通用」「sing-box」等格式,如果有 sing-box 选项,直接复制该链接;
- 如果没有专用格式,选择通用(V2Ray)分享链接订阅,准备用转换工具生成 JSON;
- 在你使用的 sing-box 客户端或配置管理工具里,找到订阅或配置导入入口,粘贴链接(或导入转换后的 JSON 文件);
- 导入完成后检查出站列表,应能看到对应机场节点的具体条目,而不是只有默认的直连和拒绝出站;
- 确认这份配置已被选中或启用为当前生效配置——添加订阅本身通常不会自动切换为生效状态,这一步很容易被忽略。
注意:配置里包含服务器地址、端口、密码等信息,等同于账号凭证,不要把生成的 JSON 文件或订阅链接分享给他人。
建议:第一次接触 sing-box 时,如果机场恰好提供了 sing-box 格式订阅,优先用这条路径,能省去转换环节可能引入的问题;如果只能用转换工具,转换后先用「节点测试与选择」一节的方法确认节点可用,再考虑深入调整路由规则。
节点测试与选择
订阅导入或转换完成后,出站列表里会出现机场提供的具体节点。测试方法与其他客户端类似:如果使用官方图形客户端,通常会提供对当前出站做连通性或延迟检测的入口;如果只使用命令行核心,也可以在配置里使用 sing-box 支持的 urltest 类型出站,让内核按预设的测试地址在一组节点里自动选出延迟最低、且实际可连的一个,不需要逐个手动测试。
测延迟反映的是「握手快不快、通不通」,不等于下载速度;深夜和晚高峰的结果可能相差明显,这是线路拥塞而不是配置错误。单个节点长期超时,优先怀疑该节点或机场当前状态;如果所有节点、所有时段都连接不上,且订阅本身能正常打开,问题更可能出在配置文件的出站或路由设置,而不是节点本身。
- 在图形客户端中找到节点或出站列表,执行延迟或连通性测试;
- 优先选择延迟稳定、多次测试结果接近的节点,而不是单次最低值;
- 如果配置了 urltest 类型的自动选择出站,可以直接让核心按测试结果自动切换,不必手选;
- 需要长时间保持会话(如远程开发、AI 对话)的场景,稳定性优先于极致低延迟。
注意:节点名称里的倍率标记(如流量消耗为标称的若干倍)由机场标注含义,选节点时留意,避免套餐流量消耗过快。
建议:固定一到两个测试稳定的节点作为主用,不必每次都换成瞬时延迟最低的那个;节点是否可用,最终以能否稳定完成真实访问为准。
路由规则配置的基本概念
sing-box 的路由规则写在配置文件的 route 部分,基本思路和其他代理客户端的规则分流一致:按域名、IP 段、进程等条件,把不同的连接分派到不同的出站——国内域名和 IP 直连、其余流量走某个代理节点,是最常见的默认思路。
这部分是 sing-box 相对进阶的内容。路由规则的具体匹配字段与写法细节变化较快,本文不展开具体语法,建议以官方文档(sing-box.sagernet.org)当前版本的说明为准,照抄过期的规则示例容易因字段废弃而导致配置无法启动。
对大多数用户来说,实践中的合理顺序是:
- 优先使用你的订阅或转换工具已经生成的完整配置(通常已包含一套可用的默认路由规则),先确认代理本身能正常工作;
- 只有在发现某类流量分流不符合预期(比如某个网站本该直连却走了节点,或反过来)时,才考虑查阅官方文档调整路由部分;
- 修改路由规则前先备份原配置,改动后通过启动日志确认没有语法错误,再实际测试效果。
注意:路由规则写错通常表现为「国内网站变慢」或「境外网站部分打不开」,容易被误判为节点问题,实际上问题出在分流逻辑上,回头检查 route 部分往往比反复换节点更有效。
建议:不熟悉 JSON 和路由语法的用户不必强求自己从零编写规则,能用默认配置稳定跑起来,已经满足日常使用需求。
连接验证:确认 sing-box 已经生效
验证方法和其他代理客户端一致,核心是「不要凭感觉判断,用可观察的结果确认」:
- 打开浏览器访问一个平时打不开的境外站点,能正常加载说明链路基本通了;
- 到任意 IP 查询网站确认当前显示的出口地区与你选择的节点一致,而不是本地运营商的归属地;
- 如果使用图形客户端,查看客户端自带的日志或连接状态面板,确认核心已启动、没有持续报错;只使用命令行核心的用户,直接看终端输出是否有 error 级别的日志;
- 同时打开一个国内网站,确认仍然是直连、访问速度没有明显下降,说明路由分流基本正常。
注意:能看到流量经过核心,不等于目标网站可用;目标能否打开还受 DNS 解析、路由规则和目标平台自身策略影响,这是三个独立的判断维度。
建议:把这四步固化成检查清单,每次配置改动后过一遍,能快速区分是节点、配置还是目标平台的问题。
常见错误:配置失败与订阅导入不了
sing-box 最常被搜索的两类问题是「配置失败」和「无法导入机场订阅」,下面按「表现 → 原因 → 解决方向」整理;更系统的排查分别见 节点连接超时怎么办 与 订阅无法导入怎么办,本节不重复展开。
| 症状 | 常见原因 | 解决方向 |
|---|---|---|
| 启动报错,提示 JSON 解析失败 | 手动编辑配置时漏掉逗号、括号不匹配等语法错误 | 按报错提示的行号定位,逐段核对 JSON 结构 |
| 启动报错,提示字段未知或已废弃 | 配置引用了当前版本不支持的参数写法 | 对照官方文档核对该版本的字段命名 |
| 订阅导入后没有节点 | 复制的是 Clash 或通用订阅而非 sing-box 格式,未经转换直接导入 | 使用机场提供的 sing-box 格式订阅,或用转换工具生成 JSON 后再导入 |
| 订阅转换报错或部分节点丢失 | 原订阅中的协议或参数不被当前转换工具或 sing-box 版本识别 | 核对具体协议是否在支持范围内,尝试更新转换工具或 sing-box 版本 |
| 配置能启动但没有代理效果 | 路由规则未把流量正确指向代理出站,或订阅导入后未被选中启用 | 检查 route 部分与当前生效的配置文件是否为你刚导入的那份 |
| 节点全部连接超时 | 出站地址或端口信息有误,或本机防火墙拦截了 sing-box 进程 | 核对配置里的服务器信息,检查安全软件放行情况 |
- 配置失败类:先看启动日志的第一条报错,通常会直接给出行号和错误类型,优先解决语法问题,再核对字段是否为当前版本仍支持的写法;
- 订阅导入不了:确认是否使用了 sing-box 专用格式;没有的话先尝试转换工具,转换失败时检查原订阅协议是否在支持范围内;
- 有节点但不生效:检查是否已经把新导入的配置设为当前生效状态,再检查路由规则是否把流量分派到了正确的出站;
- 节点连接超时:先排除本机防火墙与安全软件拦截,再核对服务器信息是否与机场提供的一致,仍无法解决时参考 节点连接超时怎么办 做更系统的排查。
注意:以上任一问题在核对配置、更换节点后仍无法解决,且用其他网络环境测试也一样,大概率是机场服务端的问题,应联系机场客服并提供你能观察到的具体报错信息,而不是反复重装 sing-box。
建议:排错时优先怀疑配置文件本身而不是软件坏了,sing-box 以 JSON 配置驱动,绝大多数问题的根源都能在配置文件和启动日志里找到线索。
sing-box 和其他客户端的关系
sing-box 在整个代理工具生态里扮演两种角色:一是作为独立程序,直接被用户安装使用;二是作为可选内核,被其他图形客户端在底层调用。理解这一点,能解释很多容易让人困惑的现象。
例如 v2rayN 使用教程 里提到,v2rayN 本身只是「壳」,可以在设置里为不同协议指定使用 Xray-core 还是 sing-box 处理,这种情况下用户看到的仍是 v2rayN 的界面,实际转发流量的是 sing-box 核心。而 Clash 使用教程 里的 Clash Verge Rev、Clash Meta for Android 用的是 mihomo(Clash Meta)内核,与 sing-box 是两套独立的内核实现,配置格式也不同。
三者的定位差异可以概括为:
| 维度 | sing-box(独立使用) | Clash 系(Clash Verge Rev 等) | v2rayN |
|---|---|---|---|
| 配置格式 | JSON,官方统一标准 | YAML,订阅方预先写好策略组与规则 | 兼容通用分享链接订阅,内核可选 |
| 定位 | 内核 + 部分平台官方图形客户端 | 配置文件型客户端,策略组自动切换 | 节点列表型客户端,手动选节点为主 |
| 与其他工具的关系 | 可被其他客户端调用为底层内核 | 固定使用 mihomo 内核 | 可选择 Xray-core 或 sing-box 作为内核 |
| 适合谁 | 看重配置透明统一、愿意直面 JSON 或使用官方客户端的用户 | 想「导入就能用、自动测速切换」的用户 | 想手动挑节点、需要多内核切换的 Windows 用户 |
这不是评分排名,是三种使用哲学。部分机场在用户中心同时提供 Clash、通用和 sing-box 三种格式的订阅,正是为了照顾不同客户端的用户;选哪一个取决于你在「配置透明度」和「上手便捷度」之间怎么取舍,而非哪个绝对更好。机场常用的 Shadowsocks、Trojan、VLESS、Hysteria2 等协议在这几类客户端里通常都能覆盖,具体支持范围见 机场协议。
最后是合规提醒:本文只讲工具的配置方法,请遵守你所在地区的法律法规;账号问题、付款问题、平台封禁与网络路径问题是几件不同的事,遇到异常时请分开判断。本站不经营任何机场或 VPN,只做独立的知识整理;如果你还不清楚订阅、节点、客户端三者的关系,可以先看 机场是什么,本站与部分机场存在推广合作,关系见 披露页。
常见问题
共 16 条,均来自真实搜索问题;答案可独立阅读。
sing-box 是什么,和 Clash、v2rayN 有什么关系?
sing-box 有官方的图形界面客户端吗?
sing-box 应该去哪里下载,安全吗?
sing-box 配置文件是什么格式,能直接用 Clash 订阅吗?
sing-box 怎么导入机场订阅?
sing-box 配置失败一般是什么原因?
sing-box 启动后没有节点或代理不生效怎么办?
sing-box 节点延迟怎么测试,应该怎么选节点?
sing-box 的路由规则要怎么配置?
sing-box 怎么验证已经连接成功?
sing-box 支持哪些协议?和机场是否兼容?
sing-box 配置文件可以在多个平台通用吗?
sing-box 和 Clash Verge、v2rayN 该怎么选?
为什么有的客户端说自己用的是 sing-box 内核?
sing-box 提示订阅链接无法访问怎么办?
sing-box 节点全部连接超时怎么排查?
相关阅读
- v2rayN 使用教程:Windows 下载、订阅导入与配置
从零讲清 v2rayN 怎么用:只从 2dust/v2rayN 官方 GitHub 下载、识别发布包与 .NET 要求、添加与更新订阅、真连接延迟与速度测试、系统代理与「绕过大陆」路由、TUN 模式、连接验证,以及「v2rayN 无法上网」七类错误的对症解决,附 v2rayN 与 Clash Verge 区别表。
- Clash使用教程:从下载安装到配置订阅(2026 版)
2026 年版 Clash 使用教程:说明 Clash for Windows 停更后应该用哪个版本(Clash Verge Rev 与 Clash Meta for Android),分步讲解 Windows、macOS、Android 的安装、订阅导入、规则/全局/直连模式、系统代理与 TUN 的区别、节点延迟测试与规则分流原理,并给出订阅无节点、连接后无法上网、端口被占用等常见错误的解决方法。
- 机场节点全部超时怎么办?按节点、网络、客户端、订阅逐步排查(2026)
机场节点全部超时、显示 TIMEOUT、连接失败、TLS 错误、证书错误、握手失败、连接被重置、端口不可用、订阅无效?本文按节点本身、网络环境、客户端配置、订阅状态四个原因树逐条给判断线索与处理步骤,并覆盖换网络、换设备、重装系统、酒店网络、官网打不开等场景,附验证方法与预防习惯。
- 机场订阅更新失败怎么办?分清链接失效、网络屏蔽与客户端问题
机场订阅更新失败、导入后没有节点、更新后节点又消失,往往来自四类完全不同的原因:订阅链接本身失效、本地网络屏蔽了订阅地址、客户端解析或版本问题、系统代理干扰更新请求。本文按症状对照表定位原因,分「首次导入失败/突然更新失败/更新后节点变少」三种场景给出排查步骤与验证方法,并说明如何避免触发机场的更新频率限制。
- 机场协议详解:Shadowsocks、Trojan、VMess、VLESS、Hysteria2、TUIC 怎么选(2026)
机场协议是客户端与节点之间「怎么说话、怎么伪装」的约定。本文讲清 Shadowsocks(含 2022 版)、Trojan、VMess、VLESS(XTLS / Reality)、Hysteria 2、TUIC 的原理、特点、适合场景与客户端支持,附总对比表、VLESS 与 VMess / TUIC 与 Hysteria 2 的区别、按客户端与用途的选法,以及「支持某协议的机场」怎么找。
来源与数据说明
sing-box 官方各平台图形客户端的具体界面、发布形态与版本命名变化较快,本文只描述官方仓库与文档中相对稳定的概念(JSON 配置结构、协议支持范围、下载渠道类型),不描述具体按钮位置与菜单路径;截至 2026 年 8 月,以 SagerNet/sing-box 官方仓库与官方文档当时的说明为准,实际界面请以你下载到的版本为准。
- SagerNet/sing-box 官方仓库 (访问于 2026-08-24)
- sing-box 官方文档 (访问于 2026-08-24)
本文根据公开资料、官方文档和实际使用场景整理,最后核验于 2026-08-24。发现错误?请到 纠错与反馈 告诉我们。