Shadowrocket(小火箭)的协议类型必须与用户已有服务端配置一致,不能靠更换 Type 把一种服务变成另一种。本文适合已经取得自己的连接参数或订阅、需要理解 Add Server 各项用途的用户:先区分协议、传输与 TLS,再核对各协议必需信息,最后用固定步骤判断问题出在参数、网络还是规则。
一、先分清协议、传输与规则
Shadowrocket 支持多种连接协议,但“支持”不等于任意参数组合都能使用。服务端必须提供相应协议,客户端填写的地址、端口、认证信息及传输选项也必须与之对应。本文以用户已有自己的服务商与订阅为前提,只解释客户端字段,不提供或推荐连接服务。
在 Home → 右上角“+”进入 Add Server,Type 决定条目的协议类型。TLS、WebSocket 等选项属于连接的其他层次,不应与 Type 混为一谈。下面三层分别回答“如何认证”“如何传输”和“哪些请求使用这条连接”。
| 层次 | 常见项目 | 核对内容 |
|---|---|---|
| 协议与认证 | Shadowsocks、VMess、VLESS、Trojan | Type、Password 或 UUID,以及协议要求的附加字段 |
| 传输与安全 | TCP、UDP、TLS、WebSocket、QUIC | 服务端使用的传输方式、证书名称及路径等参数 |
| 流量选择 | Global Routing、Config 中的规则 | 请求采用 DIRECT、代理策略还是 REJECT |
例如,端口为 443 并不能证明某个条目使用 Trojan 或 TLS;端口只是服务端监听位置。8443 也可能被服务端用于 TLS。应照已有配置填写,而不是根据端口猜协议。下文英文术语用于辨认参数;具体可见字段及可选组合以应用内实际显示为准。
二、Shadowsocks、VMess、VLESS 与 Trojan 的参数区别
这四类连接最容易因“地址相同”而被误当成可互换的类型。实际上,同一域名可以承载不同服务;只有地址正确,不能保证认证与后续传输成功。先核对 Type,再核对凭据,最后检查传输选项,能避免反复改动无关字段。
| 协议 | 主要特点 | Add Server 核对重点 |
|---|---|---|
| Shadowsocks | 使用约定的加密方法与密码建立代理连接;TCP 与 UDP 能否使用还取决于配置和服务端。 | Address、Port、Method、Password;如已有配置包含混淆等附加参数,也需一致。 |
| VMess | 使用 UUID 等信息认证,传输层可按服务端配置采用不同组合。 | Address、Port、UUID、加密选项,以及已有配置要求的 TLS、WebSocket 等设置。 |
| VLESS | 使用 UUID 认证;协议本身不承担传输内容加密,安全性需要结合实际传输配置判断。 | Address、Port、UUID,以及服务端指定的 TLS、传输方式和其他扩展参数。 |
| Trojan | 通常在 TLS 连接中使用密码认证;证书名称与连接地址可能不同。 | Address、Port、Password、TLS 相关设置,尤其是服务端要求的 SNI。 |
UUID、Password 与 TLS 不可互相替代
- Shadowsocks:Method 与 Password 是成对核对的项目。仅复制密码、保留另一个条目的 Method,可能无法完成通信。
- VMess 与 VLESS:即使都使用 UUID,也不能互换 Type。若已有配置指定 WebSocket,还应核对路径和 Host,而不是只开启 TLS。
- Trojan:Password 正确但 SNI 错误,仍可能在 TLS 阶段失败。先检查服务端给出的域名与证书信息,不以关闭证书验证作为常规修复。
- TLS:连接地址负责找到服务器,SNI 用于 TLS 握手中的服务器名称指示。两者可以相同,也可能由已有配置明确指定为不同值。
结论:按完整参数核对,不只看协议名
遇到连接失败,先把同一条目的 Type、端口、凭据、TLS 与传输选项逐项对照原始配置;不要只替换 Type,也不要把其他条目的 SNI、Host 或路径拼接进来。
三、HTTP/SOCKS5、WireGuard 与 Hysteria2 的用途
HTTP/SOCKS5 是代理协议,WireGuard 是基于密钥的隧道协议,Hysteria2 则基于 QUIC。它们不仅名称不同,认证材料、底层传输和排查方法也不同。不存在脱离服务端条件与本地网络、始终最快的协议排名。
| 类型 | 传输特点 | 需要取得的信息 |
|---|---|---|
| HTTP/SOCKS5 | HTTP 代理常用 CONNECT 建立 TCP 隧道;SOCKS5 可协商 TCP,也定义 UDP 转发机制,实际支持受两端配置约束。 | 地址、端口,以及服务端要求的 Username、Password。HTTP 代理连接本身是否使用 TLS,应另行核对。 |
| WireGuard | 以 UDP 承载加密隧道,使用密钥认证,不使用普通账号密码模式。 | 本端 Private Key、隧道地址、对端 Public Key、Endpoint,以及配置要求的路由范围和其他参数。 |
| Hysteria2 | 基于 QUIC,底层依赖 UDP,使用 TLS;网络是否允许相应 UDP 通信是重要前提。 | 地址、端口、认证信息、SNI;如服务端启用混淆,还需对应的混淆参数。 |
按协议特征判断,不按名称推测结果
- HTTP/SOCKS5:如果服务端要求认证,不应把 Username、Password 留空。SOCKS5 的 UDP 能力不能仅凭名称推定,需要服务端与客户端配置共同支持。
- WireGuard:不要将本端 Private Key 填成对端 Public Key。隧道地址也不是服务器地址;Endpoint 中的主机与端口负责定位对端。
- Hysteria2:普通网页能够通过 TCP 打开,并不能证明 UDP 可用。若当前网络限制 UDP,反复更改密码不能解决底层传输问题。
- 密钥保护:UUID、Password、Private Key 与完整订阅地址都应按敏感信息处理。排查时只记录字段是否一致,不公开完整内容。
带宽、丢包、服务端负载和网络策略都会影响实际体验。没有在同一网络、同一时间窗口和可比服务端条件下测试,就不能把一次 Connectivity Test 结果解释为协议性能结论;延迟较低也不等于持续下载速度更高。
四、在 Add Server 中添加与核对已有信息
优先保留已有配置的完整信息。手动添加适合参数数量少、来源明确的条目;订阅适合管理用户已有的一组条目。Subscribe 是导入和维护信息的入口,不是与 Shadowsocks、Trojan 并列的传输协议,订阅下每个条目仍有自己的 Type。
-
准备参数
从用户已有配置中取出协议、地址、端口及认证材料。若是 VMess 或 VLESS,额外确认 TLS、传输方式、Host 与路径是否有指定值。
-
进入添加页
打开 Home → 右上角“+”→ Add Server → Type,选择与原始信息一致的协议。不要根据地址名称或端口猜测类型。
-
填写并保存
按页面显示填入 Address、Port 及该类型要求的字段。检查复制内容首尾是否带空格;保存后回到 Home,确认选中的是新建条目。
-
处理订阅
若用户已有订阅,使用 Home →“+”→ Type → Subscribe 填入自己的地址并保存,再在 Home 更新订阅内容。更新会按远端内容刷新条目,手动改过的参数应另作记录。
-
验证连接
在 Home 使用 Connectivity Test,再开启连接并访问实际需要的目标。分别记录测试是否完成、连接是否建立、目标是否可访问,不把这三件事当成同一个结果。
五、Global Routing 不改变条目的协议
协议决定连接如何建立,Global Routing 决定请求采用哪类路径。切换到 Proxy 不会把 Shadowsocks 转成 Trojan;切换到 Config 也不会修复错误的 UUID。排查时应把“条目是否可用”与“目标是否命中预期规则”分开。
Config:按配置判断
推荐使用当前配置中的规则选择策略。推荐用于已有配置且已核对规则的日常使用;最终走向取决于命中的条目与策略定义,并不等于固定的“其他全部直连”。
适合:规则已确认、需要按目标分流
Proxy:集中检查代理路径
让由客户端接管的请求采用代理路径,用于暂时隔离规则匹配因素。若切换后目标可访问,应继续核对原配置中的策略和规则,而不是直接判定协议有问题。
适合:短时排查分流与策略选择
Direct:检查直连路径
让由客户端接管的请求采用直连路径。此时目标访问成功,不能证明刚添加的代理条目已经通过认证或能够传输数据。
适合:对照当前网络的直连表现
Global Routing 中的 Scene 用于按场景设置工作,检查结果时还应确认实际生效的场景及其设置。Settings → On Demand 则涉及按条件触发连接,不负责把一种协议转换成另一种;出现连接自动触发的现象时,应单独检查这一项。
Config 模式下的规则检查
在 Config 查看当前使用的配置。规则通常自上而下匹配,命中后采用对应策略;FINAL 承接前面未命中的请求。以下只是规则文本示例,不是服务器参数,也不是应用界面。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
DOMAIN-SUFFIX匹配指定域名后缀及其子域名,不用于选择协议类型。IP-CIDR匹配目标 IP 网段;示例使用文档地址段,no-resolve表示不为这一条规则额外进行域名解析。GEOIP根据目标 IP 的地理归属数据判断,不能仅凭网页语言推断是否命中。PROXY、DIRECT、REJECT是策略关键字,分别用于代理、直连和拒绝;策略走向与 Type 属于不同设置层次。
六、协议添加后常见问题
排查时每次只调整一类参数,并保留调整前的值。下面的问题按客户端操作回答,不以更换协议代替核对配置,也不把单次超时直接归因于服务端。
同一个地址,为什么换成 VLESS 就连不上?
回到 Home,打开该条目的编辑页,先核对 Type。服务器需要实际提供 VLESS,并给出相应 UUID 和传输设置;只有地址相同不够。若原始信息是 VMess,应恢复 VMess,再逐项核对已有参数。
Trojan 密码没错,为什么仍然失败?
在条目编辑页检查 Address、Port 和 TLS 相关设置,尤其是 SNI 是否与已有配置一致;再检查设备“设置 → 通用 → 日期与时间”。系统时间明显错误可能影响证书有效期判断,不应直接关闭证书验证。
Hysteria2 超时,但普通网页能打开?
先确认已有服务端地址、UDP 端口与认证信息一致,再在获准使用的另一种网络条件下复测。普通网页的 TCP 可达性不能证明 QUIC 所需的 UDP 可达;应分别记录两种网络下的现象。
订阅更新后,手动修好的参数又变了?
回到 Home 对照更新前后的同一条目。订阅更新会重新读取远端内容,应在用户已有的配置来源处核对参数;需要本地排查时,可另建手动条目并记录差异,避免把临时修改误当成远端配置已修正。
Connectivity Test 有结果,就代表设置正确吗?
不完全代表。先确认当前测试方式,再开启连接并访问实际目标;若只有部分目标失败,检查 Home → Global Routing 与 Config 中的命中规则。测试结果不能单独证明所有协议功能、UDP 转发或全部网站访问均正常。