先分清客户端、配置与订阅

在 iPhone 上搜索“Clash iOS”,目标通常是安装能够使用现有订阅的代理客户端,而不是把 Windows 安装包搬到手机。Clash 原项目没有发布可直接按名称认定的官方 iOS App。App Store 中的兼容客户端有各自的开发者、配置格式与功能边界,本站名称也不代表这些应用的开发者身份。

安装前先确认三件事:准备使用哪个客户端、服务商提供哪种订阅、该订阅是否包含客户端支持的协议。能下载应用,不代表订阅一定可导入;能导入节点,也不代表整份规则都已生效。

对象实际含义导入前检查
Stash采用 Clash 风格 YAML 配置的 iOS 客户端优先选择服务商提供的 Stash 配置,核对协议与字段支持
Shadowrocket使用自身节点、订阅和规则配置机制的客户端选择明确标注为 Shadowrocket 的订阅入口,不把完整 Clash YAML 当作通用格式
订阅地址返回节点集合或完整配置的远程地址确认输出格式、账户状态和更新权限
Profile客户端加载的一份配置检查节点、策略组、规则和 DNS 是否齐全

通过 App Store 获取客户端

从名称核对到安装完成

  1. 打开本站下载中心,查看 iOS 客户端说明与对应获取入口。进入 App Store 后,再核对应用名称、开发者和应用详情。
  2. 展开商店详情中的“兼容性”,确认当前 iOS 版本满足要求。不要用名称相近、图标相似作为判断依据。
  3. 查看商店显示的价格与购买条件。客户端费用和代理服务订阅费用分别结算,购买客户端不会自动获得节点。
  4. 完成获取后,从主屏幕打开应用。先找到配置管理入口,再导入订阅;空配置状态下启动连接无法完成分流。

如果 App Store 显示“此 App 目前在你所在的国家或地区尚未提供”,表示当前商店地区没有提供该应用,不是订阅链接失效。应用是否上架、售价和最低系统要求都以当前商店页面为准。

搜索不到时检查哪些设置

在“设置”→顶部 Apple 账户→“媒体与购买项目”→“查看账户”→“国家/地区”中,可以查看商店账户地区。这里与系统“语言与地区”的地区设置不是一回事,单改系统地区不会改变 App Store 的应用目录。

准备可用的订阅链接

进入服务商的账户面板,选择与目标客户端对应的订阅入口。对 Stash,优先寻找明确标注“Stash”的配置;对 Shadowrocket,选择其专用订阅或文档支持的节点订阅。不要仅凭链接以 https:// 开头就判断两者能够互换。

订阅 URL 经常带有账户令牌。它不是普通的帮助页面地址,持有链接的人可能读取节点信息或使用相关服务。复制时不要把链接发到公开群聊,也不要将真实订阅粘贴到不明在线转换网站。

导入前的四项检查

有些接口按客户端请求头返回不同内容,所以在浏览器中能打开链接,只能证明该次请求有响应,不能单独证明客户端能解析。最终应以应用内的下载结果和配置检查为准。

导入订阅并选中配置

以 Stash 的配置流程为例

不同版本的入口文案可能显示为“配置”“配置文件”或对应英文名称。操作目标始终是新增远程配置,而不是新增一个手工节点。以下按控件含义说明,实际名称以安装版本为准。

  1. 进入配置管理页面,点击新增入口,选择从 URL 下载或导入远程配置。
  2. 粘贴订阅地址,给配置起一个容易辨认的名称,例如“个人订阅-iPhone”。不要把完整令牌放进名称。
  3. 执行下载或保存,等待应用完成解析。若出现错误,保留错误类型;不要公开含令牌的完整 URL。
  4. 在配置列表中选中刚导入的项目,确认它是当前使用的配置,而不只是已经保存在列表中。
  5. 打开策略组页面,检查是否出现预期分组,再为手动选择组选择一个节点或子策略组。

如果服务商提供“在客户端中打开”,系统可能通过 URL Scheme 唤起应用。跳转成功只代表交接开始,仍需检查下载是否完成、当前配置是否切换。若 Safari 没有唤起应用,可回到客户端使用手动 URL 导入。

检查规则引用,而不是只看节点数量

下面是一个配置片段,用于识别策略组与规则的关系,不是一份可独立连接的完整配置。实际节点定义必须由有效订阅提供。

proxy-groups:
  - name: 出站选择
    type: select
    proxies:
      - DIRECT

rules:
  - DOMAIN-SUFFIX,example.com,出站选择
  - MATCH,DIRECT

DOMAIN-SUFFIX 会匹配指定域名及其子域名,规则从上往下判断。这里“出站选择”只有 DIRECT,因此不会产生代理出站。实际使用时,策略组需要引用订阅提供的节点或其他有效策略组;如果规则引用了不存在的名称,可能在加载时直接报错。

订阅更新也可能覆盖手动修改。需要自定义规则时,先了解客户端是否支持本地覆写或独立规则配置,再修改远程配置内容。保留一份可恢复的配置,比直接删除原订阅更容易回退。

允许 VPN 配置并建立连接

首次启动连接时,iOS 通常会提示应用希望添加 VPN 配置。确认提示中的应用就是刚安装的客户端,然后选择允许,并按系统要求使用设备密码或生物识别完成授权。这一步授权的是系统网络隧道能力,不是替服务商购买订阅。

  1. 回到客户端,确认当前 Profile 和策略组选择正确。
  2. 点击连接开关,处理系统弹出的 VPN 配置授权。
  3. 等待应用显示已连接,再开始网络验证;不要在连接建立过程中连续切换多个开关。
  4. 必要时打开“设置”→“通用”→“VPN 与设备管理”→“VPN”,检查对应配置的连接状态。

iOS 客户端通常通过 Network Extension 提供的隧道能力接管流量,不能直接套用桌面“打开系统代理”的步骤。也不要照抄电脑的 127.0.0.1:7890:在 iPhone 上,127.0.0.1 指向手机自身,而不是电脑。

首次连接的可验证检查顺序

按“配置已加载→隧道已连接→请求命中规则→实际页面可用”的顺序测试。一次只改一个设置,这样失败后才能判断变化来自节点、DNS 还是规则。

  1. 检查配置:确认当前配置名称,查看是否存在解析错误,确认策略组没有停在不适合当前请求的 DIRECT 或 REJECT。
  2. 检查节点:使用客户端内置连通性测试。测试结果只反映其测试目标的连接情况,不代表视频、下载或其他站点一定可用。
  3. 检查真实请求:用 Safari 打开需要访问的 HTTPS 页面,同时查看客户端连接记录,核对域名、命中规则和最终出站。
  4. 检查直连:再访问预期应直连的站点,确认规则没有把所有请求误送到同一出站。
  5. 检查网络切换:从 Wi-Fi 切到蜂窝网络后重新测试。若只有一种网络失败,应分别检查该网络的访问限制和节点可达性。

DNS 问题常表现为隧道连接成功,但请求停在域名解析阶段。此时先恢复服务商推荐的 DNS 配置,不要同时叠加陌生加密 DNS、另一款 VPN 和自定义规则。fake-ip 属于特定配置机制,不是 iOS 上必须手工开启的通用修复开关。

常见失败提示与处理方法

现象优先检查下一步
下载返回 HTTP 401 或 403令牌、账户权限、服务商访问限制重新登录服务商面板获取订阅,必要时联系服务商确认拒绝原因
下载返回 HTTP 404地址路径是否完整、接口是否更换重新复制当前订阅入口,不手工猜测接口路径
提示 YAML 解析错误返回内容是否为登录页,缩进或格式是否损坏获取对应客户端格式;不要把网页内容保存成配置
提示不支持的协议或字段是否使用了仅适配其他内核的配置选择 Stash 或目标客户端专用配置,核对其功能说明
配置导入成功但没有预期规则是否仅导入了节点列表补充客户端支持的规则配置,或改用完整 Profile
连接后仍无法访问当前节点、最终出站、DNS 与服务额度查看一条失败请求的日志,逐项验证,而不是同时改动全部设置

更新订阅与更换设备

节点下线或规则变更后,在客户端内执行更新,再确认当前 Profile 仍是目标配置。若设置了自动更新,更新间隔也不代表 iOS 会始终按时在后台执行任务;长时间未打开应用时,连接前手动更新更便于确认结果。

更换 iPhone 后,应用可能恢复,但 VPN 授权、当前策略组和远程配置仍应重新检查。如果订阅地址已经公开泄露,应到服务商面板重置令牌,再更新所有使用旧地址的设备。更多基础操作可查阅使用文档;规则与策略组关系可查阅配置进阶。