Shadowrocket 是客户端,不自带可用配置。排错时先把四件事分开看:能不能安装、能不能添加 VPN 权限、订阅 URL 返回了什么、规则把请求分到哪里。混在一起最容易误判为客户端坏了。

最后查看环境:iPhone 15 Pro,iOS 18.5,Shadowrocket App Store 页面,2026-05-23。App Store 价格、区域上架和菜单名称会变,购买或重装前以设备上看到的页面为准。

##判断你卡在哪一层?

表现更可能原因做的验证
App Store 搜不到 Shadowrocket区域上架、Apple Account 媒体与购买项目地区、支付方式不匹配用官方 App Store 链接打开;不要用来历不明的 IPA
点开关后弹不出 VPN 或一直失败第一次添加 VPN 配置被拒、旧配置残留、屏幕使用时间或 MDM 限制设置里检查 VPN 与设备管理,再重启应用
导入订阅后列表为空URL 返回登录页、过期页、HTML、403/404、格式不兼容Safari 打开订阅 URL,看返回内容而不是只看状态码
已连接但某些网站或 App 异常DNS、规则、FINAL 策略或远程规则集命中错误打开请求记录,按域名看命中的规则
重装后配置丢了没手动导出,iCloud Backup 未恢复应用内部数据保存订阅 URL、单节点 URI、规则和模块来源

处理表里最靠前的一层。App 没装好时,不要排 DNS;VPN 权限没通过时,不要反复换订阅;订阅返回内容不对时,测速没有意义。

App Store 安装限制要先看什么?

Shadowrocket 的正式获取入口是 App Store。第三方下载包、企业签名包和“共享账号已安装包”都不适合作为主设备方案:你无法确认版本来源,后续更新、退款、购买记录和重装恢复也会变得不可控。

如果 App Store 搜不到,用浏览器打开官方 App Store 链接,再看页面提示。常见结果只有三类:当前地区不可用、当前账号无法购买、已购买可重新下载。前两类是 App Store 限制,不是 Shadowrocket 配置问题。

购买前还要注意两个细节:

  1. App Store 价格会按地区和税费显示,历史上的美元价格不等于你当前地区结算价。
  2. 同一 Apple Account 的购买记录通常可重新下载,但前提是 App 仍在你的购买记录和可下载范围内。

不要把自己的 Apple Account 交给陌生人代装。客户端里会保存订阅 URL、规则、模块和部分请求记录,一旦账号、设备或备份链路混乱,后面很难确认是谁改了配置。

订阅导入失败:先查 URL

Shadowrocket 里点 + 添加 Subscribe 只是把 URL 交给客户端解析;如果 URL 本身返回的是登录页、错误页或过期提示,客户端不会凭空生成节点。

按这个顺序做:

  1. 复制订阅 URL,到 Safari 隐私浏览窗口打开。
  2. 如果看到网页登录页、套餐提示、验证码、403、404、timeout,处理服务商后台或网络环境。
  3. 如果看到一大段配置文本、Base64 字符串、vless://ss://trojan:// 等内容,再回 Shadowrocket 导入。
  4. 如果 Safari 能打开但 Shadowrocket 仍为空,把 URL 末尾的空格、换行、中文标点和二次跳转参数清掉。
  5. 如果二维码导入失败,用相册重新识别一次;截图压缩和裁剪会让长 URL 截断。

有些服务商会给 Clash YAML、sing-box JSON、Shadowrocket Subscribe、单节点 URI 多种入口。Shadowrocket 能解析很多格式,但“能解析”不等于“所有服务商导出的每个格式都能正常用”。如果同一个订阅要给 iPhone、Windows、路由器一起用,确认后台能导出对应客户端格式。

团队或家庭多设备共用配置时,最容易卡在“iPhone 用 Shadowrocket,电脑用 Clash / Mihomo,安卓用 v2rayNG,后台只给一个格式”。这类场景可以把兼容 Clash / Singbox / V2Ray 的订阅作为统一导出入口,但仍要逐端验证返回格式和规则策略。

VPN 权限和 iOS 系统限制怎么排?

Shadowrocket 第一次开启时,iOS 会弹出“添加 VPN 配置”的系统确认。这里不是广告弹窗,也不是客户端自定义授权;拒绝之后,Shadowrocket 无法建立系统级 VPN 隧道。

排查路径:

  1. 打开 iOS 设置,进入 VPN 与设备管理相关页面。
  2. 查看是否存在 Shadowrocket 的 VPN 配置。
  3. 如果存在旧配置但开关异常,先删除旧 VPN 配置,再回 Shadowrocket 重新打开开关。
  4. 如果设备受公司、学校或家长控制,检查是否有 MDM、屏幕使用时间或配置描述文件限制 VPN。
  5. 重启 iPhone 后只改一个变量:先只开 Shadowrocket,不同时切换 DNS、规则、节点和模块。

Apple 的部署文档把第三方 VPN 视为需要 App 和配置配合的网络载荷。换句话说,App 装上只是第一步,系统层面的 VPN 配置也必须存在;配置被删、被管理策略拦截或被用户拒绝,客户端界面显示正常也连不上。

DNS 和规则日志该怎么看?

“已连接但打不开某个 App”通常不是一个开关能解决。Shadowrocket 的关键线索在最近请求、DNS、规则命中和最终策略上;不同版本入口名称会变,核心是找出域名命中了哪条规则。

日志现象可能解释下一步
域名命中 DIRECT,但你预期走代理策略规则集把该域名或 IP 段归到直连临时添加更高优先级 DOMAIN-SUFFIX 规则测试
域名命中 PROXY,但仍超时出口、远端服务、DNS 解析或端口连通性问题换同组另一个节点,再看是否同一错误
请求里只看到 IP,看不到域名App 使用 DoH、内置解析或缓存连接清 App 缓存、切飞行模式 10 秒后重试
Apple / iCloud 域名异常规则把系统服务错误分流把 Apple、iCloud 相关规则先恢复默认或 DIRECT
远程规则更新失败规则 URL 失效、证书错误、网络超时用 Safari 打开规则 URL,确认不是 404 或 HTML

排 DNS 时不要先装第三方模块。模块可能改写请求、注入脚本或改变域名匹配结果,排错阶段应该先回到最小配置:一个订阅、一个节点、默认 DNS、默认规则。

如果你使用社区规则集,确认它本来面向哪个客户端。Surge 风格规则、Clash 规则和 Shadowrocket 配置看起来相似,但关键字、策略组和远程规则写法并不完全相同。导入前先备份原配置,导入后只测 3 个域名:一个 Apple 域名、一个国内常用域名、一个海外服务域名。

备份、重装和换机要保留哪些东西?

iCloud Backup 可以包含部分应用数据,但不要把它当成 Shadowrocket 配置的唯一备份。代理客户端配置里最重要的是订阅 URL、单节点 URI、规则、模块和证书;这些内容一旦丢失,恢复难度比重新下载 App 更高。

重装前至少做四件事:

  1. 保存订阅 URL,不要只保存服务商后台截图。
  2. 导出或复制手动添加的单节点配置。
  3. 记录自定义规则、远程规则 URL 和模块来源。
  4. 如果装过 MitM 证书,记录证书用途;不用时删除描述文件和信任设置。

重装路径建议是,确认 App Store 购买记录能重新下载,再手动备份配置,然后删除 App。重装后先导入订阅并打开 VPN 权限,确认基础连接正常,再恢复规则和模块。

换机时也一样。新 iPhone 上先不要一次性同步所有模块;先导入订阅、选一个节点、开 VPN、访问一个简单测试页,再逐项恢复 DNS、规则、模块和证书。

隐私和安全限制有哪些?

订阅 URL 本身通常带有 token,等同于配置钥匙。不要把完整 URL 发到公开论坛、截图工具、在线格式转换器或不认识的“订阅转换”页面。排错时如果必须截图,先遮掉 token、UUID、服务器地址和备注里的个人信息。

MitM 证书只适合自己设备上的调试。安装并信任证书后,客户端可能解密本机 HTTPS 流量;调试结束应删除证书或关闭相关模块。不要为了某个脚本功能长期打开不明来源证书。

日志也有隐私风险。请求记录可能包含访问域名、时间、策略和失败原因,发给别人排查前要先删掉账号域名、公司后台地址、家庭 NAS 地址和私人服务名。

什么时候该换配置,什么时候该换客户端?

先换配置,后换客户端。Shadowrocket 能安装、能添加 VPN、能导入最小订阅、能在日志里看到请求,就说明客户端本体大概率可用;这时重点看订阅格式、远程规则、DNS 和服务端连通性。

可以考虑换客户端的情况包括:

  • 你的主力配置只提供 sing-box JSON,且服务商不提供 Shadowrocket 格式。
  • 你需要跨 Windows、Android、路由器统一使用同一套内核行为。
  • 你依赖的规则集只为 Mihomo、sing-box 或 Surge 维护。
  • iOS 设备受 MDM 管理,第三方 VPN App 被限制。

不该因为一次 timeout 就换客户端,用 Safari 验证订阅 URL,再用默认规则跑一个最小配置,最后再判断是配置问题还是客户端选择问题。

同类问题可以继续看三篇排查资料:Windows / macOS 侧的 mihomo-tray 托盘配置、历史客户端限制的 Clash for Windows 停止维护说明、协议参数对照的 Xray-core 客户端说明。这三篇能帮你判断问题在订阅格式、客户端内核还是设备系统层。