Shadowrocket 连不上通常由配置、网络环境或系统设置导致,按以下步骤逐一排查:
- 确认开关已开启:主界面右上角开关应为蓝色/绿色(开启状态)
- 检查网络连接:先确认WiFi/蜂窝数据能正常访问国内网站
- 系统时间准确:iOS时间必须准确(误差超过1分钟会导致SSL握手失败)
- 选择有效节点:确认选中的节点未过期,且延迟测试显示数字(非超时)
配置问题排查
- 测试节点延迟:首页长按节点 → "测试TCP延迟",若显示"超时"说明节点失效,需更换
- 检查配置参数:确认服务器地址、端口、密码、UUID/密钥、协议类型(Shadowsocks/Vmess/Trojan等)完全正确
- 尝试全局模式:在"配置"页面切换到"全局路由"(排除规则文件问题)
- 关闭IPv6:设置 → 通用 → 关闭IPv6(部分网络环境IPv6会导致连接异常)
网络环境测试
- 切换网络测试:WiFi切4G/5G,或反之(排除局域网限制)
- 更换端口:若使用非标准端口(如8388),尝试改为443或80(部分公共WiFi会屏蔽非常用端口)
- DNS设置:设置 → DNS → 改为"8.8.8.8"或"1.1.1.1"(排除DNS污染)
系统权限修复
- 重新授权:设置 → 通用 → VPN与设备管理 → 删除Shadowrocket配置 → 重启App重新添加VPN配置
- 后台刷新:设置 → 通用 → 后台App刷新 → 确保开启
- 网络权限:iOS设置 → 无线局域网 → 使用无线局域网与蜂窝数据的App → 确认Shadowrocket权限全开
查看日志定位问题
首页 → 设置 → 日志记录 → 开启后尝试连接,查看具体错误:
- "connection timeout":节点被墙或网络不通
- "TLS handshake error":证书问题或SNI被干扰
- "authentication failed":密码或UUID错误
- "i/o timeout":本地网络到服务器路由不通
终极解决方案
若以上无效:
- 导出配置备份后卸载重装
- 重置网络设置:iOS设置 → 通用 → 传输或还原iPhone → 还原 → 还原网络设置(会清除WiFi密码)
- 更换协议:如Shadowsocks不通,尝试Trojan或VLESS(部分网络对特定协议有QOS限制)
注意:若仅特定App无法连接(如微信能上网页打不开),检查"全局路由"是否设置为"配置"模式,且规则文件是否过期,尝试更新远程配置或切换到"代理"模式测试。
如仍无法解决,建议提供具体错误日志或截图以便进一步诊断。