sing-box Windows 客户端配置教程:从下载安装到连接验证
简答:如果你只想在 Windows 上完成 sing-box 配置,优先选择 sing-box for Desktop:它支持 Windows 10 及以上的 x64、x86 和 arm64,并可管理本地或远程配置文件。最稳妥的顺序是:确认系统架构并从项目发布页下载,导入远程订阅或本地 JSON,先启动系统代理验证,再按需开启 TUN;遇到失败时先看配置格式和日志,不要一开始就修改 DNS 或重置网络。
定义:sing-box Windows 客户端配置,是在 Windows 上安装 sing-box for Desktop 或命令行核心,载入远程订阅、本地 JSON 配置或节点配置,并通过系统代理或 TUN 接管流量的过程。
先选对 Windows 客户端:图形界面还是命令行核心?
下载前先区分“客户端”和“核心”。官方图形客户端名称为 sing-box for Desktop,适用于 Windows 10 及以上,并支持 x64、x86、arm64;官方文档说明它可以管理和运行本地或远程 sing-box 配置,还提供 TUN 等平台功能。可先查看sing-box for Desktop 官方页面确认系统要求。
| 你的目标 | 建议选择 | 下载或使用方式 |
|---|---|---|
| 第一次使用,希望点选配置、启动和停止 | sing-box for Desktop | 从官方文档进入 GitHub Releases,选择 Windows 安装包 |
| 需要脚本、服务或手动编辑 JSON | sing-box 命令行核心 | 下载 Windows 对应架构的 ZIP,解压后使用 sing-box.exe |
| 已有其他图形客户端并确认其支持 sing-box | 第三方 GUI | 先核对其内置核心版本、配置格式和发布来源 |
官方图形客户端列表明确将 Windows 对应到 sing-box for Desktop,同时提醒部分声称使用 sing-box 的第三方项目并不在官方维护列表中。因此,本文主线使用官方图形客户端;第三方 GUI 的菜单、核心版本和订阅转换方式可能不同,不能直接套用。
截至 facts.today,官方资料显示稳定版本、预发布版本和各架构安装包可能同时存在。不要只根据搜索结果中的文件名判断版本,下载时以sing-box 官方 Releases 页面当前显示内容为准。
第 1 步:确认 Windows 架构并安装客户端
- 确认系统版本:打开“设置→系统→系统信息”,确认 Windows 版本满足 Windows 10 或更高要求。
- 确认处理器架构:在“系统类型”中查看是 x64、x86 还是 ARM64。普通 Intel 或 AMD 电脑通常对应 x64;ARM Windows 设备应优先查看是否有 arm64 安装包。
- 选择安装包:在官方 Releases 页面中优先选择带有 Windows、setup 或 installer 字样的安装包。若下载的是 portable ZIP,它通常需要解压后直接运行,不能按安装程序的方式双击下一步。
- 完成安装:安装程序启动后按当前界面完成安装。首次打开如果弹出 Windows 防火墙、管理员权限或网络适配器相关提示,应先确认提示对象是 sing-box 客户端或其组件,再决定是否允许。
如果你使用命令行核心而不是图形客户端,解压后应保留同一目录中的程序文件和配置文件。官方配置文档指出,sing-box 使用 JSON 配置;Windows 发行包还可能包含必须与 sing-box.exe 放在同一目录的组件,具体以对应版本的发布说明为准,可查看官方变更日志。
下载安全检查:不要把订阅链接、节点密码或完整配置文件发到公开论坛。若发布页提供 SHA-256 校验值,可在 Windows PowerShell 中执行:
Get-FileHash .\安装包文件名 -Algorithm SHA256
将结果与发布页提供的校验值比对。无法比对时,不要把“能安装”当成“来源可信”。
第 2 步:导入远程订阅或本地 JSON 配置
打开 sing-box for Desktop 后,先找到配置、Profiles、Profiles manager 或类似名称的配置管理区域。不同版本的按钮名称和布局可能变化,以下以当前版本界面为准。
导入远程订阅
- 点击添加配置、Add profile 或类似按钮。
- 选择远程 URL、Remote 或 URL 配置类型。
- 粘贴订阅服务提供的 URL,填写一个便于识别的名称。
- 保存后执行更新或刷新,等待客户端完成下载和解析。
- 如果配置列表出现新条目,先不要启动 TUN,先打开配置详情或日志确认没有 JSON 解析错误。
远程 URL 属于敏感入口,通常可能包含身份凭据。不要把它粘贴到截图、工单或公开聊天中。若订阅服务同时提供 Clash、sing-box 或其他格式,优先选择明确标注为 sing-box 的格式;格式不匹配时,客户端可能显示下载成功但无法创建配置。
导入本地 JSON
- 把配置文件保存为 UTF-8 编码的
.json文件。 - 在配置管理区域选择本地文件、Local 或 Import file。
- 选择文件并保存配置条目。
- 如果客户端拒绝导入,先用命令行核心检查 JSON,而不是直接修改很多字段。
命令行检查示例,需在 sing-box.exe 所在目录打开 PowerShell:
.\sing-box.exe check -c .\config.json
官方配置文档提供了 sing-box check 检查命令,也提供格式化命令。检查通过只代表配置结构可以被解析,不代表节点可用、DNS 可达或路由一定符合预期。相关命令可参考sing-box 配置文档。
第 3 步:启动代理,先验证系统代理,再考虑 TUN
建议按“轻量验证→扩大接管范围”的顺序操作。先选择刚刚导入的配置,选定一个出站或节点,然后启动服务。
- 先启动客户端服务:确认配置状态为已加载或运行中。
- 先开启系统代理:如果客户端提供 System Proxy、系统代理或类似开关,先只开启这一项。
- 验证浏览器:打开一个平时能访问的网页,观察客户端日志是否出现连接记录。
- 验证命令行:可执行
curl.exe -I https://example.com。如果返回 HTTP 响应头,说明当前命令行请求至少建立了连接;如果超时,下一步应回到日志、节点和系统代理检查。 - 最后再开启 TUN:TUN 适合需要接管不遵循系统代理的软件,或希望扩大流量覆盖范围的场景。开启前应确认客户端有权限创建虚拟网络接口。
系统代理和 TUN 不是同一个开关。系统代理通常只影响遵循 Windows 代理设置的应用;TUN 会通过虚拟接口和路由接管更多流量,但也更容易遇到权限、DNS、路由循环或安全软件拦截。官方 TUN 文档说明,auto_route 会将默认路由指向 TUN;在 Windows 的特定严格路由设置下,非 TUN 接口上的 DNS 流量还可能被阻断,因此不要在没有日志和回滚方案时直接复制复杂配置。
TUN 配置的字段和默认行为会随 sing-box 版本变化。需要手动编辑时,应以官方 TUN 配置文档对应版本说明为准。若你的订阅已经生成 TUN 参数,不要把旧版本字段与新版本字段混用。
连接失败时的排查顺序:下载、格式、权限、端口、DNS、路由
| 现象 | 先检查什么 | 下一步 |
|---|---|---|
| 安装包打不开或闪退 | 架构是否选错、文件是否完整、安全软件是否隔离 | 重新从官方 Releases 下载对应架构版本,核对校验值并查看 Windows 安全中心记录 |
| 配置无法创建 | URL 是否完整、返回内容是否为 sing-box JSON、文件是否有语法错误 | 改用本地保存后执行 sing-box check,并脱敏查看日志 |
| 订阅更新失败 | 网络是否可达、URL 是否过期、远程服务是否返回 HTML 或登录页 | 在浏览器或 PowerShell 中检查返回状态;不要把完整订阅链接公开 |
| 系统代理无效 | 客户端是否正在运行、系统代理开关是否真的打开、端口是否被占用 | 查看 Windows 代理设置和客户端日志,再检查本机监听端口 |
| TUN 启动提示 Access is denied | 是否缺少管理员权限、虚拟网卡是否被安全软件拦截 | 退出客户端后以管理员身份启动;仍失败时先关闭 TUN,恢复系统代理方式 |
| 能连上但域名打不开 | DNS 配置、路由规则和 IPv4/IPv6 行为 | 先关闭 TUN 验证系统代理,再查看 DNS 与路由日志,不要立即修改多个参数 |
检查端口时可在 Windows PowerShell 执行:
Get-NetTCPConnection -State Listen | Sort-Object LocalPort
如果知道客户端端口,也可以执行:
Get-NetTCPConnection -LocalPort 端口号 -ErrorAction SilentlyContinue
没有输出通常表示该端口当前没有 TCP 监听,但不能据此判断 UDP 端口或整个服务正常。若端口已被其他程序占用,先退出占用程序或在客户端配置中改用未占用端口,再重新启动。
关闭、回滚与配置备份:不要直接重置 Windows 网络
如果开启 TUN 后出现断网、局域网访问异常或浏览器全部超时,按以下顺序回滚:
- 先在 sing-box 客户端关闭 TUN。
- 关闭系统代理开关。
- 停止当前配置或退出客户端,确认托盘进程已经结束。
- 打开 Windows“设置→网络和 Internet→代理”,确认手动代理已关闭。
- 检查网络适配器列表中是否残留由客户端创建的虚拟适配器;不要在不确定名称时随意删除。
- 重新连接 Wi-Fi 或网线,再用浏览器和
curl.exe -I https://example.com验证直连恢复。 - 只有在确认问题属于 Windows 网络栈且前面步骤无效时,才考虑管理员 PowerShell 中的
netsh winsock reset;执行后需要重启电脑,而且它不会修复订阅格式、节点认证或 DNS 配置错误。
修改配置前建议复制一份 JSON 备份,并记录原来的系统代理、TUN、DNS 和端口状态。这样可以快速判断是配置变更导致的问题,避免把多个变量同时改掉。
本文的快速决策卡
- 只想快速使用:选择 sing-box for Desktop,导入远程或本地配置,先启用系统代理。
- 需要接管更多软件:系统代理验证成功后,再开启 TUN,并准备管理员权限和回滚步骤。
- 配置导入失败:先确认订阅格式,再用
sing-box check检查 JSON。 - 启动报权限错误:先关闭 TUN并退出客户端,再以管理员身份重试;不要立即重置网络。
- 连接慢或打不开:先看日志中的节点、DNS、端口和路由,再进行一次变量一个变量的复测。
本文是第三方使用指南,页面不代表任何客户端项目的官方支持。客户端名称、安装包和界面以项目当前发布资料为准;无法从本次核验资料确认的具体按钮位置或版本差异,均应以当前版本界面为准。
常见问题
sing-box Windows 客户端应该下载哪个文件?
普通 Windows 电脑先确认是 x64,再在官方 Releases 页面选择 Windows 图形客户端安装包;ARM Windows 设备选择 arm64,旧版 32 位系统才考虑 x86。具体文件名和版本以当前发布页为准,不要从不明镜像下载。
sing-box 可以导入订阅链接吗?
sing-box for Desktop 官方页面说明它可以管理远程配置。能否直接使用某条订阅链接,还取决于服务端返回的格式是否兼容 sing-box。导入失败时先检查返回内容是否为 JSON 或兼容的 sing-box 配置,不要把完整订阅 URL公开。
系统代理和 TUN 模式有什么区别?
系统代理主要影响遵循 Windows 代理设置的应用;TUN 通过虚拟网络接口和路由接管更广泛的流量,但通常需要更高权限,也更容易受到 DNS、路由和安全软件影响。建议先用系统代理验证,再按需开启 TUN。
TUN 启动时报 Access is denied 怎么办?
先关闭 TUN并退出 sing-box,再以管理员身份启动客户端重试;同时检查安全软件是否拦截虚拟网络接口。如果仍然失败,先回到系统代理模式,查看日志中的具体组件和权限提示,不要直接执行网络重置。
sing-box 配置导入失败,最先检查什么?
先检查订阅 URL 是否完整、远程返回是否为 sing-box 兼容格式,再将配置保存为本地 JSON,使用 <code>sing-box check -c config.json</code> 检查结构。检查通过不代表节点、DNS 或路由一定可用,还需要结合日志验证。