遇到 Shadowrocket(小火箭)无法更新订阅的问题,通常由网络、订阅链接或软件设置导致,以下是系统性的排查和解决方法:
验证订阅链接有效性
- 复制订阅链接,用手机浏览器(Safari/Chrome)打开测试
- 如果能打开:显示为乱码或文本(base64/vmess等),说明链接有效
- 如果打不开:提示404/403或无法访问,说明链接已失效或被墙,需联系服务商
切换网络环境
- WiFi 转 4G/5G:部分公共WiFi会拦截代理相关请求
- 开启/关闭代理:尝试先连接一个可用节点,再更新订阅(通过代理更新)
检查系统时间
- 进入 设置 > 通用 > 日期与时间,确保开启"自动设置"
- 时间错误会导致SSL证书验证失败
常见解决方案
方法1:修改 User-Agent(最常用)
部分订阅链接需要特定标识才能访问:
- 进入 Shadowrocket → 配置 → 点击订阅右侧
- 找到 User-Agent,尝试修改为:
clash(Clash订阅)Shadowrocket(通用)QuantumultX(部分机场专用)- 或留空
方法2:手动更新订阅
- 首页 → 右上角 → 类型选择"Subscribe"
- 粘贴订阅链接,备注随便填
- 点击右上角 保存,然后点击 完成
- 向左滑动订阅 → 点击 更新
方法3:通过代理更新(绕过本地DNS污染)
如果当前有可用节点(哪怕很慢):
- 先连接一个可用节点
- 进入 设置 > 订阅 > 通过代理更新(开启)
- 返回首页下拉刷新订阅
方法4:清除缓存后重试
- 设置 > 订阅 > 清除订阅缓存
- 删除旧订阅,重新添加
- 重启 Shadowrocket
特殊问题处理
链接被转义/编码
如果链接包含特殊字符(如 、&),尝试:
- 在浏览器中打开订阅链接,复制地址栏中解码后的链接
- 或使用 URL 解码工具处理后再导入
HTTPS 证书错误
如果提示 SSL Error:
- 检查系统时间(见上文)
- 尝试将订阅链接的
https://改为http://(不推荐长期使用,仅测试)
格式错误
- 确保订阅内容是 Base64、YAML(Clash配置)或 JSON 格式
- 如果是 SS/SSR/V2Ray 单个节点链接,应选择对应类型而非 Subscribe
终极方案
如果以上方法无效:
- 导出备份:设置 > 配置 > 导出(如有重要节点)
- 卸载重装:从 App Store 重新下载(注意:国区已下架,需使用外区账号)
- 手动配置:让服务商提供单个节点二维码或链接,手动添加
提示:如果订阅链接在浏览器中也无法打开,说明是订阅本身的问题(过期/被墙/服务商维护),需联系机场客服获取新链接。
需要针对具体错误提示(如"Timeout"、"SSL Error"、"Invalid"等)提供更精准的解决方案吗?