Shadowrocket 的节点不是 App 自带的。Apple iTunes API 里的说明也写得很清楚:Shadowrocket 不包含任何代理服务或服务器资源。节点列表空白,看远程 URL 返回了什么。

iPhone 上最方便的第一步是 Safari。用同一条订阅 URL 打开,不要先在 App 里刷新十次。

Safari 里看到什么?

Safari 结果判断下一步
直接下载或显示节点文本URL 本身可能正常回 App 处理缓存和格式
登录页、账户页拿到的是网页入口换订阅输出链接
403 或空白服务端拒绝或无内容检查账号、链接和请求环境
Clash YAML需要确认 Shadowrocket 入口是否支持换 Shadowrocket/V2Ray 输出测试
HTML/CSS/JS不是节点配置不要继续刷新 App

如果每行是 ss://vmess://trojan:// 这类分享链接,Shadowrocket 通常更容易识别。如果是复杂 YAML,确认你的导入入口支持该格式。

App 内怎么重加远程配置?

保存当前配置截图或导出备份,再删掉出问题的远程配置。重新添加时手动粘贴 URL,避免剪贴板识别失败。

重加后看两个时间:

  • 远程配置的更新时间是否变成现在。
  • 节点列表是否从 0 变成具体数量。

更新时间没变,说明 App 没拉到新内容。更新时间变了但节点仍是 0,说明内容格式或内容本身有问题。

iOS 剪贴板和配置描述文件要分开

iOS 剪贴板权限只影响 App 能不能从剪贴板读取新链接。它不决定远程配置内容。

Apple 的 iPhone 用户指南有配置描述文件安装/移除说明。某些 VPN 或网络设置如果来自描述文件,应该在系统配置描述文件里管理。但 Shadowrocket 订阅空白,通常先查订阅 URL,不要把所有问题都归到系统描述文件。

多台 iPhone 结果不同怎么办?

先记录这些信息:

  • iOS 版本。
  • Shadowrocket 版本。
  • 同一订阅 URL 在 Safari 里的响应。
  • 是否同一网络出口。
  • 系统日期是否正常。

服务端可能按请求环境返回不同内容。A 机能拉到文本、B 机返回登录页,这时要把 Safari 的响应截图和 URL 重定向记录下来。

如果手机、电脑和软路由要共用同一份配置,可以准备一份多格式测试订阅源作为多端来源;但 iPhone 空列表仍然先按 Safari 响应查。

怎么确认已经恢复?

恢复后应该满足:

  • Safari 能拿到配置文本。
  • Shadowrocket 远程配置更新时间刷新。
  • 节点数量不为 0。
  • 点延迟测试有返回值或明确错误。
  • 重启 App 后列表不再清空。

只看到「刷新完成」不够。刷新完成可能只是下载了一个空文件或错误页面。

相关阅读