Shadowrocket(小火箭)支持多种代理协议与隧道协议。本文面向已经有自己的服务商与订阅、需要核对连接参数的用户:先用表格区分协议,再检查认证、传输与 TLS 字段,最后用 Global Routing 隔离规则问题。读完可以判断参数应该填在哪里,以及连接失败时先查哪一层;协议名称本身不能代表连接速度。
协议速查:先辨认 Type,再核对参数
Shadowrocket 支持 Shadowsocks、VMess、VLESS、Trojan、HTTP、SOCKS5、WireGuard、Hysteria2 等类型。添加服务器时,Home → 右上角“+”→ Type 决定后续需要填写的字段。协议必须与服务商提供的连接资料一致,不能仅把 Type 改成另一个名称就完成转换。
| 协议 | 主要特点 | 优先核对的参数 |
|---|---|---|
| Shadowsocks | 使用约定的加密方法与密码认证,参数相对集中。 | 服务器地址、端口、加密方法、密码;是否需要额外插件。 |
| VMess | 以 UUID 标识用户,认证与传输设置都需要一致。 | UUID、加密设置、AlterId(如资料包含)、传输类型、TLS。 |
| VLESS | 协议本身不提供载荷加密,需结合实际部署核对安全层。 | UUID、传输类型、TLS 或 REALITY 参数、Flow(如有)。 |
| Trojan | 通常在 TLS 连接内进行密码认证。 | 密码、端口、TLS 服务器名称及证书校验。 |
| HTTP / SOCKS5 | 通用代理类型,认证与加密能力取决于具体部署。 | 代理地址、端口、用户名、密码,以及是否启用 TLS。 |
| WireGuard | 基于 UDP 的加密隧道,使用密钥与对端配置。 | 本地私钥、对端公钥、Endpoint、隧道地址及路由范围。 |
| Hysteria2 | 基于 QUIC,底层依赖 UDP,可承载代理流量。 | 服务器地址、端口、认证、TLS 服务器名称及混淆参数(如有)。 |
表格用于识别参数,不是性能排名。实际可用字段以当前安装的 Shadowrocket 界面为准;服务商提供的扩展特性也需要客户端对应支持。拿到资料后应保留原始内容,逐项核对,不要凭名称相似推断兼容。
Shadowsocks、VMess 与 VLESS:认证和传输分开检查
Shadowsocks:加密方法与密码必须成对一致
Shadowsocks 的服务器地址与端口只负责定位入口,加密方法和密码共同决定能否正确通信。例如服务端指定 aes-128-gcm,客户端就不能自行换成 chacha20-ietf-poly1305。带有插件或其他扩展参数的连接,也不能只保留地址和密码后当作普通配置使用。
- 密码应完整保留大小写与符号,复制时留意首尾空格和换行。
- 旧有加密方法与较新的方法不应混填;特定方法对密钥格式可能有额外要求。
- 如果订阅导入后能用、手动填写后不能用,应先比较加密方法和扩展参数,而不是修改分流规则。
VMess:UUID 正确仍不等于配置完整
VMess 的 UUID 是用户标识,不是服务器域名或订阅 token。除了 UUID,还要核对传输类型、TLS 和服务商提供的其他参数。资料如果包含 AlterId,应按原值处理,不要从其他配置抄入数值。设备时间明显不准也可能影响认证,应先确认系统日期与时间正确。
VLESS:不要把 UUID 当作加密设置
VLESS 的 UUID 同样用于认证,但 VLESS 本身不提供载荷加密。服务商可能采用 TLS 或 REALITY 等组合;若资料包含 Flow、Public Key、Short ID 等项目,需要按对应组合完整填写。REALITY 不是简单打开普通 TLS 开关就能替代的设置,也不能把公钥填入密码栏。
WebSocket 是传输方式,常见参数包括 Host 与 Path。假设资料要求 Path 为 /connect,改成 / 就可能导致握手失败;Host、服务器地址与 TLS 的服务器名称也不一定相同,应逐项照资料核对。
Trojan、HTTP 与 SOCKS5:分清 TLS 和代理认证
Trojan 通常以 TLS 保护连接,再使用密码进行认证。证书验证失败不等于密码错误:连接地址可能是 IP,而证书对应的是域名,此时需要核对 TLS 服务器名称,即 SNI。不要为了让错误提示消失而跳过证书验证,应先检查域名、设备时间与服务端证书状态。
| 设置项 | 具体含义 | 容易混淆的地方 |
|---|---|---|
| 服务器地址 | 客户端实际连接的域名或 IP。 | 不一定等于 TLS 证书对应的域名。 |
| Port | 服务端监听的端口,例如资料可能指定 443。 | 443 只是常见示例,不代表所有协议都使用它。 |
| SNI | TLS 握手发送的服务器名称。 | 不应填写完整网址,不带 https:// 或路径。 |
| 用户名与密码 | HTTP / SOCKS5 服务可能要求的代理认证。 | 不是订阅网站的登录信息,除非服务商明确如此说明。 |
HTTP 代理常通过 CONNECT 转发 HTTPS 目标连接,但“目标网址使用 HTTPS”与“客户端到代理入口启用 TLS”是两件事。SOCKS5 本身也不提供链路加密,用户名和密码认证不能替代加密层。需要保密的场景应核对整个连接链路,而不只是看代理是否填写了密码。
- HTTP 与 SOCKS5 的端口可能是 8080、1080 或其他值;这些只是常见例子,不能作为自动填写依据。
- HTTP 代理不能默认视作可转发任意 UDP 流量。
- SOCKS5 的 UDP 使用还依赖服务端能力与网络条件,TCP 网页可用不代表 UDP 一定可用。
WireGuard 与 Hysteria2:UDP 条件需要单独验证
WireGuard 是加密隧道协议,不是“地址加密码”的代理配置。它区分本地私钥和对端公钥,Endpoint 指向远端入口,隧道地址则是隧道内部使用的地址。密钥方向填反、地址遗漏或路由范围不合适,都可能出现配置已保存但目标无法访问的情况。
- Private Key 应使用分配给当前客户端的私钥;Public Key 应核对为远端对等方公钥。
- Endpoint 的端口以服务商资料为准。51820 是常见示例,不是固定要求。
- Allowed IPs 表示对端可处理的目标地址范围,不能随意替换成某个服务器 IP。
- MTU 影响隧道内的数据包大小。仅在有明确现象与依据时调整,并保留原值方便恢复。
Hysteria2 使用 QUIC,通常依赖 UDP 建立连接。网络允许 TCP 443 并不意味着也允许 UDP 443,即使两者端口数字相同。认证、TLS 服务器名称和可选混淆设置仍需与服务端一致;填写带宽相关参数也不会改变物理网络或服务端实际可提供的容量。
结论:先验证 UDP,再调整参数
如果 TCP 类连接在同一网络可用,而 WireGuard 或 Hysteria2 持续超时,先在另一条已获准使用的网络上复测,并向服务商核对 UDP 端口。不要先改密码、跳过证书验证或任意增大带宽值。
导入与核对:保留服务商给出的完整参数
已有订阅时,优先保留订阅中的参数组合,再核对所需协议是否完整导入。订阅地址、单条服务器分享链接和配置文件链接用途不同,不应只按链接以 https:// 开头就判断它是哪一种。订阅来源统一为:从你的服务商处获取。
-
辨认资料
先确认拿到的是订阅、单条服务器资料还是配置文件。订阅示例
https://example.com/sub?token=xxxx仅展示格式,不是可用服务;真实 token 不应公开。 -
导入订阅
在 Home → 右上角“+”→ Type → Subscribe 填入自己的订阅地址并保存。回到 Home 检查导入结果,需要更新时在 Home 下拉刷新,确认列表实际发生了预期变化。
-
手动核对
需要手动添加时,进入 Home → 右上角“+”→ Type 选择对应协议,再按资料填写地址、端口与认证。出现传输或 TLS 选项时继续核对,不能只填主页面的几个字段。
-
连接复测
在 Home 选择刚核对的服务器,连接后测试实际目标。若要隔离自动连接因素,可先到 Settings → On Demand 记录当前设置,在排查期间暂停按需连接,结束后恢复原设置。
更新订阅可能覆盖订阅管理的服务器参数。需要对照测试时,先记录原参数与修改项,不要在同一次测试中同时修改协议、DNS、规则和传输设置。每次只改变一个条件,才能把结果与原因对应起来。
Global Routing:协议连接与规则分流不是一层
Home 负责选择服务器与连接,Config 用于配置文件管理,Settings 提供应用设置。Global Routing 决定流量采用哪种路由姿态,不会把 Shadowsocks 转换成 Trojan,也不会替代协议认证。排查前先核对它,避免将流量未走所选服务器误判为协议不可用。
Config
推荐按当前配置的规则选择策略,目标可能走代理、直连或被拒绝。使用前应确认配置来源和 FINAL 的实际策略,不能假定未命中规则的流量一定直连。
适合:已经核对规则、需要按目标分流的日常使用。
Proxy
将受 Shadowrocket 处理的流量按代理姿态转发,适合短时隔离规则匹配因素。它不能修复错误密码、端口不通或 TLS 握手失败。
适合:确认当前服务器能否访问同一测试目标。
Direct
按直连姿态处理流量,不用于验证所选代理服务器是否可用。切换后网页恢复访问,只能说明直连路径可用。
适合:对照本地网络与代理路径的访问差异。
Global Routing 中的 Scene 用于按场景设置决定路由行为,检查时还需查看具体场景条件。若当前目标是确认单条连接的参数,先记录原姿态,再用固定姿态复测,避免网络切换引起场景变化。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
以上仅演示 Config 姿态下的规则语法,不是建议直接替换现有配置。DOMAIN-SUFFIX 匹配域名后缀,IP-CIDR 匹配地址网段,GEOIP 依赖 IP 地理数据,FINAL 负责前面均未命中的情况。规则按顺序匹配;其中 192.0.2.0/24 是文档示例网段,不能当作实际服务地址使用。
常见问题:按现象定位下一步
为什么导入成功,连接还是超时?
导入成功只说明资料被解析,不说明入口可达。在 Home 打开该服务器的编辑页,核对地址、端口和 Type,再检查当前网络。Hysteria2 与 WireGuard 还要单独确认 UDP 可达;不要以订阅更新成功代替连接测试。
有延迟数值,为什么网页仍打不开?
延迟测试不一定覆盖认证、TLS、DNS 与目标访问的完整链路。先记录 Global Routing 的原值,临时改为 Proxy 测试同一目标;如果只有 Config 失败,再到 Config 检查当前配置与目标匹配的规则,测试后恢复原姿态。
能把 VLESS 直接改成 VMess 吗?
不能只改 Type。两者的服务端协议与认证处理不同,即使 UUID 字面相同也不代表兼容。向你的服务商核对是否提供对应类型的完整资料,再通过 Home → 右上角“+”新建,保留原条目用于对照。
哪种协议一定最快?
不存在仅凭协议名称就能确定的结果。固定网络、目标和测试时段,分别记录连接是否成功、页面加载情况与持续传输表现。只比较自己已有且参数正确的连接;UDP 受限时,不应继续用 Hysteria2 的失败结果推断其他协议表现。
进一步查字段可阅读配置字段,需要辨认术语可查看术语表。提交问题时应保留错误提示、协议类型与复现步骤,但遮盖密码、UUID、订阅 token 和私钥;不要把完整连接资料贴到公开页面。