先确认客户端与 Clash 订阅格式

在 iPhone 上使用 Clash 订阅,关键是找到支持相应配置格式的 iOS 客户端,而不是把 Windows 安装包复制到手机。Clash 是代理核心与配置生态中的名称,不代表 App Store 中存在一个统一的官方 iPhone 应用。搜索结果里的名称相近,也不能证明配置兼容。

本文以支持 Clash 风格 YAML 配置的 Stash 为操作参照。Stash 是独立客户端,不是桌面 Clash 的 iOS 版本,也不能据此认定它使用 mihomo 核心。商店供应地区、价格、最低系统要求及具体功能,应以安装时的 App Store 页面和开发者文档为准。

拿到的内容 如何识别 导入前要确认
Clash YAML 配置 常见字段有 proxies、proxy-groups、rules 客户端是否支持其中的协议、规则类型和扩展字段
节点链接或节点列表 单条可能以 ss://、trojan:// 等开头 是否需要节点导入,而非完整配置导入
其他客户端配置 配置结构与 Clash YAML 不同 向服务提供方索取适配当前客户端的版本

即使两个客户端都接受 YAML,也不表示每个字段都通用。尤其是标注“仅 mihomo”的新协议或扩展语法,应逐项核对。Shadowrocket 等应用也有自己的订阅与配置机制,不能因为支持部分相同节点协议,就把整份 Clash 配置直接视为兼容。

通过 App Store 获取兼容客户端

核对商店条目,再安装

  1. 打开 iPhone 的 App Store,在“搜索”中输入客户端名称,例如 Stash。
  2. 进入产品页,核对开发者信息、应用说明、版本记录与“兼容性”要求。重点寻找对 Clash 配置或 YAML 导入的明确说明。
  3. 按产品页显示的获取或购买流程安装。客户端费用与代理服务费用是两回事,安装应用不会自动获得节点或订阅。
  4. 首次打开后,先查看配置入口与帮助说明,再导入自己的订阅。不要直接启用来源不明的示例节点。

如果搜索不到应用,先判断当前 Apple 账户所属商店地区是否提供该应用。iPhone 的“语言与地区”不等于 App Store 账户地区。账户购买设置可从“设置”→顶部 Apple 账户→“媒体与购买项目”→“查看账户”进入查看;具体选项会随系统版本变化。

本文不固定某个应用版本号或价格:商店会持续更新。排错时请在客户端的“关于”或 App Store 版本记录中记下实际版本,并同时记录 iOS 版本,这比只描述“最新版”更方便定位兼容问题。

导入前准备:订阅链接、网络与备份

先从服务提供方的账户页面取得适用于 Clash 或当前 iOS 客户端的订阅地址。它通常是 HTTPS 链接,可能带有账户令牌。完整链接相当于一项访问凭据,不要发进群聊、公开截图或提交到公开问题区。

  • 检查复制内容:保留完整查询参数,不要把页面标题、换行或末尾标点一起复制。
  • 检查有效期:确认账户仍有可用服务,订阅链接未被重置,设备数量限制没有触发。
  • 检查网络:先用 Safari 打开一个普通网页,完成酒店或校园 Wi-Fi 的网页登录认证。
  • 保留旧配置:已有可用配置时,先导出备份或记录当前配置名称,避免覆盖后无法恢复。

浏览器能够打开服务商首页,不代表订阅接口一定可达;订阅可能使用不同域名。反过来,Safari 显示一大段配置文字或提出下载文件,也可能正是接口的正常响应。返回登录页、验证码页面或 HTML 错误页,则不能当作 YAML 配置导入。

通过订阅链接导入并选中配置

在 Stash 中进入“配置”页面,使用新增入口,选择通过 URL 下载配置的选项。不同版本可能使用“下载”“从 URL 下载”等不同文案;操作目标都是创建一份远程配置,而不是在节点列表里手工新建一个服务器。

  1. 粘贴完整订阅 URL。需要名称时,填入便于区分的名称,例如“日常订阅”。
  2. 执行下载,等待客户端完成获取与解析。首次排错先手动下载一次,不要只设置自动更新后离开。
  3. 在配置列表中选中刚导入的配置,确认它处于当前使用状态。列表里存在文件,不等于该文件已启用。
  4. 进入代理组页面,检查是否出现可选节点。对于 select 类型的手动选择组,按需求选定节点或下级策略组。
  5. 检查运行模式。日常使用可先选规则模式,让 rules 决定直连、代理或拒绝,而不是把全局模式当作默认修复办法。

订阅更新与节点测速分开处理

更新订阅是重新取得配置或节点列表;测速是在测试节点连接,两者不是同一个动作。更新成功只能证明订阅已获取,不能证明每个节点都可用。测速出现数字也只代表测试目标的结果,不能据此保证所有网站都能访问。

有些配置通过 proxy-providers 再引用远程节点文件。此时主配置下载成功后,仍可能因为节点提供者地址不可达而显示空组。应继续查看提供者的更新结果,而不是反复删除主配置。

通过 YAML 文件导入配置

文件导入适合已经拿到完整配置,或者暂时无法直接获取订阅的情况。先把 .yaml 或 .yml 文件保存到 iPhone 的“文件”App,例如“我的 iPhone”或 iCloud 云盘;如果文件旁有云朵图标,先等待下载完成。

  1. 打开客户端的配置页面,找到从文件导入的入口。
  2. 在系统文件选择器中选中 YAML 文件,等待解析。
  3. 选中导入后的配置,再检查代理组、节点数量与规则模式。
  4. 如果收到语法错误,回到原文件检查缩进、冒号和引号,不要仅靠改扩展名重试。

下面只是用于识别结构的片段,不是可连接的完整配置,也不包含可用节点。它说明规则引用的是代理组名称,代理组则需要在其他部分定义。

mode: rule
log-level: info

rules:
  - DOMAIN-SUFFIX,example.com,网页代理
  - MATCH,DIRECT

这段中的“网页代理”必须与 proxy-groups 中的组名完全一致,否则会产生引用错误。YAML 缩进应使用空格,避免 Tab;包含 # 等特殊字符的值,要留意引号。不要直接复制桌面端整份配置,期待其中的监听端口、路由和 TUN 设置在 iOS 上原样生效。

首次启动:允许添加 VPN 配置

配置选中后,回到客户端首页打开运行开关。首次建立系统隧道时,iOS 通常会显示添加 VPN 配置的授权提示。核对弹窗中的应用名称,确认确实来自刚安装的客户端,再点“允许”,并按系统提示完成设备认证。

这项授权允许应用通过 iOS 的 Network Extension 接管相应网络流量,不等于订阅已验证,也不代表所有连接都经过远端节点。规则命中 DIRECT 的连接仍可能直连。iOS 状态栏的 VPN 标识或控制中心状态,主要用于确认隧道是否建立。

  • 误点了不允许:回到客户端重新启动连接,按提示再次申请;若持续失败,再查看系统 VPN 设置。
  • 检查配置状态:进入“设置”→“通用”→“VPN 与设备管理”→“VPN”,核对当前配置及连接状态。部分系统版本会显示快捷 VPN 入口。
  • 已有其他 VPN:先暂停其他个人 VPN 客户端和自动连接设置,避免连接被另一个应用接替。受单位管理的设备应联系管理员。

导入订阅不需要把服务商提供的根证书设为完全信任。普通代理连接也不需要额外安装 MDM 管理描述文件。如果流程突然要求这些权限,应先停止并核实用途。HTTPS 解密是另一项独立能力,不属于本篇的常规配置步骤。

连接后验证:看规则命中,不只看 VPN 图标

完成授权后,按“隧道状态→策略选择→实际请求”的顺序验证。先确认客户端显示已连接,再打开 Safari 新建页面,访问一个已知可正常访问的网站,以及一个预期经代理访问的网站。下面是验证步骤,不是带有固定延迟结果的性能测试。

  1. 查看客户端的连接或请求记录,找到刚访问的域名。
  2. 确认命中的规则与策略组符合预期。规则通常按顺序匹配,前面已经命中时,不会继续寻找后面的规则。
  3. 若策略组选择了 DIRECT,即使 VPN 处于连接状态,该请求也不代表已经走远端代理。
  4. 切换到蜂窝数据后再重复一次,区分当前 Wi-Fi 限制与配置问题,并留意移动数据用量。

桌面教程里常见的 mixed-port: 7890 是本地 HTTP/SOCKS5 混合监听端口,不是 iPhone 订阅导入时必须填写的参数。手机自己通过客户端隧道连接时,也不需要在当前 Wi-Fi 的“配置代理”里填写 127.0.0.1:7890。那属于另一种手动代理使用方式,混用容易让排错更复杂。

同样,不要照抄桌面教程去寻找完全相同的“TUN 模式”开关。iOS 由客户端结合系统网络扩展实现流量接管,具体 DNS 与路由能力受客户端和系统限制,不等同于直接运行桌面 mihomo 的全部 tun 字段。

常见导入失败与连接问题

现象 优先检查 下一步
下载返回 401 或 403 令牌、权限、订阅有效期或接口访问限制 从账户页面重新复制地址;仍失败时联系提供方核实
提示 YAML 解析失败 返回内容是否为网页,文件缩进是否正确 确认订阅格式,检查报错附近行及其上一行
提示不支持的代理类型 协议或扩展字段是否超出客户端支持范围 索取适配配置,或更换明确支持该协议的客户端
配置成功但节点列表为空 是否选中了新配置,远程提供者是否更新成功 查看配置与提供者各自的下载错误
VPN 已连接但网页超时 所选节点、规则命中、DNS 与当前网络 只切换一个节点后重试,再对照请求日志

每次只改一个变量

排错时先保留原配置,记录错误发生时间、客户端版本、iOS 版本和当前网络。可以先换一个节点,再试另一个网络;不要同时切换模式、重写 DNS、修改规则和重装应用,否则很难判断哪个动作有效。

看到 DNS 错误时,先区分订阅域名解析失败、节点服务器域名解析失败,还是目标网站解析失败。三者对应不同环节,不能统一用一个公共 DNS 地址解决。公司、学校或受管理网络还可能限制外部 DNS 或 VPN 连接,应遵守所在网络的使用要求。

需要求助时,提供错误原文与脱敏截图即可。隐藏订阅查询参数、节点密码、账户邮箱及完整服务器凭据。最终确认“配置能解析、当前配置已选中、VPN 授权完成、规则与节点选择符合预期”这四项,再继续定位单个网站的问题,通常比从头重装更有效。