Shadowrocket(小火箭)支持多种代理协议与隧道协议,选择时先匹配服务商提供的类型,再核对认证、传输和 TLS 参数,而不是只比较协议名称。本文适用于 iPhone、iPad、Mac、Windows、安卓与 Linux 用户理解配置字段;操作以 Home、Add Server、Config 为定位,具体选项以当前设备界面为准。读完可以区分协议与传输层,判断导入后应检查哪些参数,并按固定顺序排查连接问题。
先分清协议、传输和分流规则
节点类型描述客户端如何与服务端通信;传输方式描述这些数据如何承载;分流规则决定哪些请求使用哪个出口。这三层彼此相关,但不能相互替代。例如,VLESS 可以搭配不同传输方式,选择了 VLESS 并不代表 WebSocket 路径、TLS 或服务端口已经自动确定。
从你的服务商处获取订阅或完整参数后,应保留其协议组合。把同一地址的 Type 从 VMess 改为 Trojan,并不会把服务端转换成 Trojan。即使两个配置都填写端口 443,也只能说明端口相同,不能说明认证方式或握手过程相同。
- 协议层:Shadowsocks、VMess、VLESS、Trojan、HTTP、SOCKS5、Hysteria2、WireGuard,分别有自己的认证与通信约定。
- 传输与安全层:TCP、UDP、WebSocket、QUIC、TLS 等,是否启用及具体组合必须与服务端一致。
- 分流层:Global Routing 与 Config 中的规则负责选择出口,不会修改节点实际使用的协议。
七类协议的字段速查
下表用于核对字段,不是配置模板。服务商可能把认证、传输与证书信息放在同一条分享链接中,导入后仍应逐项检查。表内端口仅作解释:Trojan 常见使用 443,WireGuard 部署常见使用 51820/UDP,两者都不是必须照填的固定值。
| 协议 | 通信特点 | 优先核对 |
|---|---|---|
| Shadowsocks | 加密代理,可承载 TCP;UDP 转发取决于两端配置与网络 | Address、Port、加密方法、Password |
| VMess | 带认证与加密机制,可搭配不同传输方式 | UUID、加密选项、传输方式、TLS、系统时间 |
| VLESS | 轻量认证协议,本身不提供内容加密 | UUID、传输方式、TLS、服务端指定的附加参数 |
| Trojan | 通常通过 TLS 保护代理通信,支持情况还取决于服务端 | Password、TLS、SNI、证书域名 |
| HTTP / SOCKS5 | 通用代理协议;HTTP CONNECT 可建立 TCP 隧道,SOCKS5 可支持 UDP 关联 | 代理类型、地址、端口、用户名与密码、TLS 是否启用 |
| Hysteria2 | 基于 QUIC,底层依赖 UDP | 认证信息、UDP 端口、TLS、带宽与混淆参数 |
| WireGuard | 基于 UDP 的加密 IP 隧道,使用密钥对识别对端 | Private Key、Peer Public Key、Endpoint、隧道地址、MTU |
结论:先核对参数完整性
已有节点缺少 UUID、密钥或传输参数时,先向你的服务商补齐;不要用更换 Type 或猜测端口的方式试连。
Shadowsocks、VMess、VLESS:认证与加密不同
Shadowsocks:加密方法必须对应
Shadowsocks 需要服务器地址、端口、加密方法与密码。加密方法不是速度档位,客户端和服务端必须一致;只复制密码却保留另一种方法,通常无法完成有效通信。若服务端另有插件或附加传输要求,也需要当前客户端支持并正确配置,基础四项相同不一定足够。
VMess:UUID 之外还要看传输
VMess 的 UUID 用于身份识别,传输方式和 TLS 则影响连接建立。若服务商使用 WebSocket,还要核对路径与 Host;TLS 的 SNI 和 WebSocket 的 Host 可能承担不同作用,不能因为都是域名就随意互换。VMess 对系统时间有要求,认证异常时应先恢复设备自动校时,再检查参数。
VLESS:不要把认证当作加密
VLESS 本身不提供内容加密,实际保护取决于外层安全机制与完整部署。UUID 正确并不代表连接已经受 TLS 保护,也不代表服务端要求的其他参数已经齐全。导入 VLESS 后,应按服务商配置核对 TLS、传输方式及附加字段,不要主动删掉看不懂的选项。
Trojan、HTTP 与 SOCKS5:TLS 不能只看端口
Trojan 通常依赖 TLS 建立安全连接,密码用于代理认证。连接地址可以是 IP,但证书验证仍可能需要正确的域名与 SNI。若出现证书名称不匹配,应核对服务商提供的域名、SNI 和设备时间,而不是把关闭证书验证作为常规处理。
HTTP 与 SOCKS5 是通用代理接口。普通 HTTP 代理连接并不天然加密;访问 HTTPS 网站时,HTTP CONNECT 可以承载网站的 TLS 连接,但客户端到代理的连接是否另外启用 TLS 是另一件事。SOCKS5 本身也不提供内容加密,用户名和密码不能替代传输加密。
- HTTP:核对是否要求用户名与密码,以及代理连接本身是否使用 TLS。不要把网站的 HTTPS 与代理的 TLS 设置混为一谈。
- SOCKS5:TCP 可用不代表 UDP 一定可用;UDP 关联需要客户端、服务端与中间网络共同支持。
- Trojan:端口为
443仍需正确的密码与证书配置;端口开放只证明有服务响应,不能证明认证成功。
Hysteria2 与 WireGuard:都用 UDP,但用途不同
Hysteria2 基于 QUIC,底层使用 UDP。它的实际表现与 UDP 可达性、丢包、拥塞控制及带宽设置有关。网络若阻断 UDP,即使同一服务器的 TCP 端口可达,也不能据此判定 Hysteria2 可用。带宽参数应参考实际接入能力和服务商说明,不是填写越大就越快。
WireGuard 是加密 IP 隧道,不是用用户名和密码登录的代理协议。Private Key 留在本机,Peer Public Key 用于识别远端;两者不能互换。Endpoint 是远端地址和端口,隧道地址是分配给本机的虚拟地址,也不能把公网服务器 IP 直接填成隧道地址。
- Hysteria2:认证正确但始终超时,先确认当前网络是否允许目标端口的 UDP,再核对 TLS 与混淆配置。
- WireGuard:握手有响应但部分网页卡住时,再检查路由、DNS 与 MTU;只有握手并不能证明目标网站的路径可用。
- 共同注意:切换 Wi-Fi 与移动网络可帮助区分本地网络限制,但应记录同一配置的结果,避免同时改多个参数。
不要只凭“使用 UDP”判断两者等价。Hysteria2 面向代理传输,WireGuard 建立 IP 隧道,导入字段、地址分配和路由边界都有区别。本文不提供速度排名,也不把未测量的网络表现写成固定百分比。
从 Add Server 到 Home:核对与测试步骤
以下流程以用户已有自己的服务商与配置为前提。订阅通常可以集中更新节点参数,手动添加则适合核对单个条目。订阅更新可能覆盖远程管理的字段,手动排查前应保留原配置,必要时复制为独立条目再修改。
-
确认类型
在 Home 打开已有节点的编辑页,或通过右上角「+」进入 Add Server,查看 Type。按服务商标注选择 Shadowsocks、VMess、VLESS、Trojan 等类型,不按节点名称猜测。
-
核对认证
在 Add Server 核对 Address、Port 及当前 Type 对应的认证字段。UUID 不要混入空格;Password 注意大小写;WireGuard 的 Private Key 不要发送给他人。
-
检查传输
继续核对 TLS、SNI,以及配置所需的 WebSocket 路径和 Host。只填写服务商明确提供的选项,未给出的字段不要从另一条节点复制。
-
测试连接
保存后回到 Home,选择该节点并开启连接。临时使用 Global Routing → Proxy 测试同一个目标,记录超时、认证失败或证书错误;结束后恢复原来的分流姿态。
-
核对更新
使用订阅时,在 Config → Subscribe 核对订阅条目并执行更新,再回到 Home 检查节点是否变化。订阅链接从你的服务商处获取,不要用客户端配置文件地址替代节点订阅地址。
例如 https://example.com/sub?token=xxxx 只是明显的假值,用于说明订阅 URL 可能含有查询参数。真实链接往往包含访问凭据,排查截图时应遮住整个链接与二维码,而不只是遮住服务器名称。
Global Routing:分清协议故障与规则故障
同一节点在 Proxy 下能访问目标,在 Config 下失败,优先检查规则与策略指向,不要立刻重建节点。Config 按配置规则选择出口,不保证未命中域名规则的流量一定直连;最终行为取决于后续规则与 FINAL。
Config
推荐按当前配置的规则与策略处理流量。先确认配置已经启用,再核对目标请求命中了哪条规则。
适合:已有可用规则配置的日常分流
Proxy
让进入代理处理范围的请求使用代理出口,便于暂时排除 Config 的规则选择影响;它不会修复错误的认证与 TLS 参数。
适合:短时验证节点与目标是否可达
Direct
使用直接连接,不通过所选代理节点。此姿态下网页能打开,不能证明该节点的协议配置正确。
适合:对照本地网络的直接访问结果
Global Routing 中的 Scene 用于按已配置的场景决定行为,不是另一种代理协议。诊断时还应查看 Settings → On Demand:若已启用自动连接条件,手动断开后可能再次触发连接。需要临时关闭时先记录原设置,测试结束后恢复。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
上面是规则结构示例,不是可直接替换的完整配置。example.com 与 192.0.2.0/24 用于演示;PROXY 必须对应配置中的有效策略。DOMAIN-SUFFIX 匹配域名及其子域,IP-CIDR 匹配地址段,GEOIP 根据 IP 地理数据库判断,FINAL 接收前面未命中的请求。规则通常按顺序匹配,no-resolve 用于避免仅为这条 IP 规则触发域名解析。
协议选择与连接故障问答
节点名称写着高速,应该选哪种 Type?
名称只是标签。打开 Home 中该节点的编辑页读取 Type,或重新导入服务商提供的完整分享链接;若只拿到地址和端口,先索取协议与认证参数。不要把名称中的营销描述当成协议字段。
延迟测试有数字,为什么网页还是打不开?
延迟结果只反映对应测试方式的响应,不等于目标网站访问成功。先在 Home 选择同一节点,临时切到 Global Routing → Proxy 访问同一目标,再核对 DNS、TLS 与认证信息;恢复 Config 后才失败,就检查规则与策略。
Hysteria2 超时,改成 Trojan 就行吗?
不能直接改 Type。服务端必须提供对应的 Trojan 服务及完整参数。先用原 Hysteria2 配置在另一网络测试,核对 UDP 可达性;需要切换协议时,从你的服务商处获取另一条完整配置。
订阅更新后手动改的参数又恢复了?
远程订阅可能用新内容覆盖受管理的节点字段。先比较 Config → Subscribe 更新前后的条目,再向服务商确认变更;临时诊断可保留独立副本,不要反复修改会被覆盖的原条目。
电脑和手机应该强行使用同一种协议吗?
不必。先确认各设备当前界面支持服务商给出的完整参数,再分别测试所在网络。相同协议也可能因网络、DNS 或服务端策略产生不同结果;记录配置差异比只对照协议名称更有效。