sing-box iPhone 使用教程:VPN 图标亮了却打不开?
简答:在 iPhone 上使用 sing-box,先核对 Apple 客户端与系统要求,再用 Remote Profile 导入兼容配置,允许 VPN 权限后启动服务,最后通过连接状态、出口 IP、DNS 和目标应用日志确认是否真正生效。
定义:sing-box iPhone 使用教程,是在满足 iOS 与 Apple 账号条件后,通过 Apple 客户端导入远程或本地 sing-box 配置、授权 VPN,并用实际流量验证规则与节点是否生效。
先试这一步:五项速查,别把 VPN 图标当成连接成功
如果你下载后找不到导入入口,或 VPN 图标已经亮起但网页打不开,先按下表定位阶段。本站是第三方使用指南站,不代表 sing-box 官方;客户端名称、按钮文字和商店显示可能随时间或地区变化,应以 App Store 和官方文档当前页面为准。
| 阶段 | 关键动作 | 成功标志 |
|---|---|---|
| 下载核对 | 确认 iOS 版本、Apple 账号地区、客户端平台和开发者信息 | 能从 App Store 或官方列出的渠道安装对应 Apple 客户端 |
| 配置导入 | 在 Profiles 中新增 Remote Profile,填写名称与完整 URL | 配置能保存并显示内容或更新时间 |
| VPN 授权 | 在 Dashboard 选择配置并启动,接受系统 VPN 权限请求 | 服务处于运行状态,系统显示 VPN 连接 |
| 节点选择 | 服务启动后,在 Groups 中切换 Selector 或 URLTest 组 | 选中的出站组发生变化,连接状态或流量统计有变化 |
| 真实验证 | 检查日志、出口 IP、DNS 和目标应用请求 | 目标请求命中预期策略,而不是仅凭 VPN 图标判断 |
官方 Apple 平台文档说明,相关客户端用于管理和运行本地或远程 sing-box 配置;通用客户端文档则规定了 Remote Profile、Dashboard、Mode 和 Groups 的基本行为,可分别查看sing-box for Apple platforms与sing-box 通用客户端说明。
客户端名称、系统要求和 App Store 账号怎么核对
官方 Apple 平台页面使用 SFI、SFM、SFT 作为平台区分:SFI 对应 iPhone 与 iPad,SFM 对应 macOS,SFT 对应 Apple tvOS。普通 iPhone 用户应优先使用 App Store,不要把 GitHub Releases 中面向越狱设备的 deb 文件当作普通安装包。官方页面列出的系统条件是 iOS 15.0 或更高版本,并要求使用非中国大陆 Apple 账号;实际搜索结果仍应以当前 App Store 显示为准。
VT、MT 和 SFI 不应混为一谈。SFI 是官方 Apple 平台文档中的 iPhone/iPad 平台标识;官方变更日志说明,Apple 客户端迁移开发者账号后,iOS 与 tvOS 客户端重新上架时使用 sing-box MT,原 App Store 版本 sing-box VT 的用户需要安装新的应用。该说明可在sing-box Change Log中核对。商店中的实际应用名称、图标和版本显示可能变化,安装前应同时核对平台、开发者和系统要求。
如果需要切换 Apple 账号地区,先检查余额、订阅、待处理订单、家庭共享状态和付款方式。Apple 支持文档还提醒,地区变更后部分内容可能需要重新下载,某些内容在新地区可能不可用;不要为了安装客户端直接操作主账号,先确认购买记录、iCloud+ 等订阅和设备登录状态,再决定是否使用单独的 Apple 账号。具体条件可查看Apple 关于更改 Apple 账号国家或地区的说明。
六步导入 Remote Profile 并完成首次启动
- 安装并打开客户端:在 App Store 搜索 sing-box,先核对平台、开发者与系统要求。若搜索不到,检查 Apple 账号地区和 iOS 版本,不要安装不明描述文件或越狱安装包。
- 准备配置来源:向配置提供方索取 sing-box 专用 Remote Profile URL,或获取完整的 sing-box JSON 配置。sing-box 官方配置文档明确使用 JSON 作为配置文件格式,可查看sing-box 配置说明。
- 不要用浏览器结果判断格式:订阅服务可能根据 User-Agent 返回不同内容,浏览器拿到的内容不一定等于客户端请求结果。因此不要把“浏览器显示的是 YAML 或 Base64”直接当成最终结论;先在客户端按 Remote Profile 尝试导入,失败后再根据错误提示、配置内容查看器或运行日志判断,并向提供方确认是否有 sing-box 专用订阅。
- 新建 Remote Profile:进入 Profiles 或配置列表,点击新增并选择 Remote。Name 填便于识别的名称,Type 选择 Remote,URL 粘贴完整订阅地址;Auto Update 按默认值或提供方建议设置。官方通用客户端说明定义了 Remote Profile:它以 URL 作为更新来源,并要求图形客户端实现自动更新与 HTTP Basic authorization。若提供方给出 URL Scheme,也可使用官方格式:
sing-box://import-remote-profile?url=urlEncodedURL#urlEncodedName。 - 接受系统 VPN 权限:保存配置后回到 Dashboard,选择刚建立的 Profile 并启动服务。首次运行时,iOS 会请求添加 VPN 配置,按系统提示确认;如果曾经拒绝过,打开系统的 VPN 设置检查权限,并暂时关闭其他 VPN、网络过滤器或安全软件。
- 启动后再选择节点:服务运行后进入 Groups。如果配置包含 Selector 或 URLTest 出站组,界面通常才会出现组选择器;Selector 用于手动选择,URLTest 用于按配置执行测试。先选择一个可用出站,再访问目标应用。没有 Groups、Rule 或 Global 不一定是故障,可能只是远程配置没有声明对应的组出站或多个
clash_mode值。
Remote Profile 的字段和界面名称可能随客户端版本变化;如果找不到某个按钮,优先确认配置类型是否选成 Remote,以及服务是否已经启动。官方说明还指出,Dashboard 用于服务运行期间管理状态,Mode 选择器需要配置中存在至少两个 clash_mode 值,Groups 则依赖 Selector 或 URLTest 组出站。
Clash 订阅、Base64 列表和单条链接为什么不能直接当作 sing-box 配置
| 收到的内容 | 是否等于完整 sing-box 配置 | 处理方式 |
|---|---|---|
| sing-box Remote Profile URL | 通常是远程配置入口,但仍需客户端实际导入确认 | 在 Profiles 中选择 Remote,粘贴完整 URL 后保存 |
| 完整 sing-box JSON | 可以作为本地配置候选 | 导入后检查 JSON 结构、出站组和路由是否完整 |
| Clash YAML | 不是 sing-box JSON | 不要直接改后缀导入,向提供方索取兼容 sing-box 的配置 |
| Base64 节点列表 | 不是完整配置文件 | 不能默认当作 Remote Profile,确认提供方支持的导入方式 |
| 单条分享链接 | 通常只描述一个节点或协议 | 不能替代包含 DNS、路由和出站组的完整配置 |
sing-box 官方文档把 Remote Profile 定义为以 URL 更新的远程 sing-box 配置;因此判断重点不是链接后缀,而是客户端请求后能否获得兼容的 sing-box 配置,以及该配置是否包含可运行的入站、出站、DNS 和路由内容。若导入失败,先保留错误提示,再向配置提供方确认格式,不要把订阅链接粘贴到不明转换站。
VPN 已连接但网页打不开:按真实流量验收
VPN 图标只能说明系统 VPN 通道已经建立,不能单独证明节点可用、规则正确或目标应用流量已经经过预期出站。建议按下面顺序检查:
- 看 Dashboard 状态:确认服务处于运行状态,并观察连接或流量统计是否变化。若启动后完全没有连接记录,先访问一个明确的测试页面,再返回客户端查看状态。
- 看连接日志和命中策略:访问目标地址时,确认日志中出现对应请求,并检查命中的规则与出站。显示 Direct 代表该请求可能直连,显示 Block 代表规则主动拒绝;先确认策略符合你的配置意图,再切换节点。
- 对比出口 IP:关闭 sing-box 记录一次出口 IP,再开启后访问同一个可信的 IP 查询页面。网页能打开不等于代理已生效,必须结合前后出口变化和日志中的实际出站判断。
- 检查 DNS:如果网页加载慢、域名解析失败或只有部分站点异常,分别在 Wi-Fi 与蜂窝网络下测试 DNS。不要只凭 VPN 图标判断 DNS 已经按配置处理。
- 验证目标应用:最后在真正需要使用的浏览器或办公应用中操作,并回到连接日志确认该应用请求是否命中预期策略。浏览器能用而目标应用不能用时,优先检查规则、应用网络权限和其他 VPN 冲突。
如果只是节点选择问题,可继续参考用客户端实测选择稳定节点,记录不同节点的连接日志、出口 IP、DNS 结果和实际应用表现,不要只依据一次测速结果下结论。
导入失败、权限拒绝和 DNS 异常的分流处理
| 症状 | 优先判断 | 可执行处理 |
|---|---|---|
| Remote Profile 保存或更新失败 | URL 是否完整、网络是否可达、是否需要认证 | 重新复制完整 URL,先按 Remote 导入;若仍失败,查看客户端错误提示并向提供方确认 sing-box 专用格式 |
| 导入后提示格式错误 | 收到的是否为 Clash YAML、Base64 列表或单条分享链接 | 不要只改文件后缀;索取完整 sing-box JSON 或 Remote Profile |
| 点击启动但没有 VPN 权限 | 系统授权是否被拒绝、是否存在其他 VPN | 到 iOS VPN 设置检查已安装配置,关闭其他 VPN 或网络过滤应用后再次启动 |
| VPN 图标出现但网页打不开 | 节点、出站组、规则和 DNS | 服务启动后在 Groups 选择可用节点,再看日志中的规则命中和出站结果 |
| Wi-Fi 能用、蜂窝网络不能用 | 网络类型、蜂窝权限和配置规则 | 分别对比 DNS、出口 IP 和目标应用请求,不要只在一种网络下测试 |
| 测速有结果但目标应用失败 | 测速请求与目标应用请求不是同一流量 | 以目标应用连接日志和实际出口 IP 为准,检查是否被 Direct、Block 或其他 VPN 接管 |
订阅 URL 和配置文件可能包含账号凭据、节点地址或访问权限。截图时遮挡 URL 参数、用户名、密码、密钥和二维码;不要把完整订阅发到公开聊天,也不要交给不明转换站。需要备份时,使用应用或系统提供的本地导出能力,并先确认导出内容是否包含敏感信息。
常见问题
iPhone 上搜索不到 sing-box,应该怎么办?
先检查 iOS 是否达到官方页面列出的系统要求,再核对 Apple 账号地区和 App Store 当前显示。官方 Apple 平台页面要求非中国大陆 Apple 账号;如果仍无法搜索,先检查账号设置和商店地区,不要从不明网站安装描述文件或越狱包。
Clash 订阅可以直接导入 sing-box iPhone 吗?
不能默认认为可以。Clash YAML、Base64 节点列表和单条分享链接都不等于完整 sing-box Remote Profile。应向提供方索取兼容 sing-box 的远程配置或完整 JSON,再在客户端中按 Remote 或 Local 类型导入。
为什么开启 VPN 后没有 Rule、Global 或 Groups?
这些选项由配置内容决定。官方通用客户端说明指出,Mode 选择器依赖至少两个 clash_mode 值,Groups 依赖 Selector 或 URLTest 组出站;缺少按钮不一定表示客户端故障。
sing-box 显示已连接,但目标应用仍然无法使用,怎么判断?
先看连接日志中是否出现目标应用请求,再确认命中的策略和出站;随后对比开启前后的出口 IP 和 DNS。若日志没有目标应用请求,优先检查规则、应用网络权限或其他 VPN 冲突。
是否可以把订阅链接发给别人帮忙转换?
不建议。订阅 URL 可能包含账号凭据和访问权限。应先遮挡链接参数,不使用不明转换站;优先向配置提供方索取原生 sing-box 格式,并使用应用的本地配置或系统文件功能保存。
连接跑通后,如何减少重复排查
首次成功后,建议只保留一个主用 Profile,写清配置来源和用途,不要同时启动多个 VPN 客户端。每次更新订阅后,先确认 Profile 刷新成功,再检查 Groups、规则模式和连接日志,最后用出口 IP 与目标应用各验证一次。
如果问题继续集中在 DNS、IPv6、MTU、丢包或网络切换,不要一次修改大量设置。先分别记录 Wi-Fi 与蜂窝网络、开启与关闭客户端时的出口 IP、DNS 结果和日志命中策略,再逐项改变一个变量。需要继续处理 iPhone 网络连接问题时,可参考连接问题排查和设备配置指南。
常见问题
iPhone 上搜索不到 sing-box,应该怎么办?
先检查 iOS 是否达到官方要求,再核对 Apple 账号地区和 App Store 当前显示。若仍无法搜索,检查账号设置,不要从不明网站安装描述文件或越狱包。
Clash 订阅可以直接导入 sing-box iPhone 吗?
不能默认认为可以。Clash YAML、Base64 节点列表和单条分享链接不等于完整 sing-box Remote Profile,应索取兼容 sing-box 的远程配置或完整 JSON。
为什么开启 VPN 后没有 Rule、Global 或 Groups?
这些选项由配置内容决定。Mode 依赖多个 clash_mode 值,Groups 依赖 Selector 或 URLTest 组出站;缺少按钮不一定是客户端故障。
sing-box 显示已连接,但目标应用仍然无法使用,怎么判断?
先看日志中是否出现目标应用请求,再确认命中的策略和出站,并对比开启前后的出口 IP 与 DNS。没有请求记录时,优先检查规则、应用权限或其他 VPN 冲突。
是否可以把订阅链接发给别人帮忙转换?
不建议。订阅 URL 可能包含账号凭据和访问权限,应遮挡参数,不使用不明转换站,并优先索取原生 sing-box 格式。