2026-09-14 · 协议科普 · 约 10 分钟

Shadowrocket 支持哪些协议:Shadowsocks、VMess、VLESS、Trojan、Hysteria2 一览

用一分钟介绍 Shadowsocks、VMess、VLESS、Trojan、HTTP/SOCKS5、WireGuard、Hysteria2 的传输特点,以及在 Add Server 中各自需要填写的关键参数。

本文速览

Shadowrocket(小火箭)的协议类型必须与用户已有服务端配置一致,不能靠更换 Type 把一种服务变成另一种。本文适合已经取得自己的连接参数或订阅、需要理解 Add Server 各项用途的用户:先区分协议、传输与 TLS,再核对各协议必需信息,最后用固定步骤判断问题出在参数、网络还是规则。

一、先分清协议、传输与规则

Shadowrocket 支持多种连接协议,但“支持”不等于任意参数组合都能使用。服务端必须提供相应协议,客户端填写的地址、端口、认证信息及传输选项也必须与之对应。本文以用户已有自己的服务商与订阅为前提,只解释客户端字段,不提供或推荐连接服务。

在 Home → 右上角“+”进入 Add Server,Type 决定条目的协议类型。TLS、WebSocket 等选项属于连接的其他层次,不应与 Type 混为一谈。下面三层分别回答“如何认证”“如何传输”和“哪些请求使用这条连接”。

层次常见项目核对内容
协议与认证Shadowsocks、VMess、VLESS、TrojanType、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 不可互相替代

结论:按完整参数核对,不只看协议名

遇到连接失败,先把同一条目的 Type、端口、凭据、TLS 与传输选项逐项对照原始配置;不要只替换 Type,也不要把其他条目的 SNI、Host 或路径拼接进来。

三、HTTP/SOCKS5、WireGuard 与 Hysteria2 的用途

HTTP/SOCKS5 是代理协议,WireGuard 是基于密钥的隧道协议,Hysteria2 则基于 QUIC。它们不仅名称不同,认证材料、底层传输和排查方法也不同。不存在脱离服务端条件与本地网络、始终最快的协议排名。

类型传输特点需要取得的信息
HTTP/SOCKS5HTTP 代理常用 CONNECT 建立 TCP 隧道;SOCKS5 可协商 TCP,也定义 UDP 转发机制,实际支持受两端配置约束。地址、端口,以及服务端要求的 Username、Password。HTTP 代理连接本身是否使用 TLS,应另行核对。
WireGuard以 UDP 承载加密隧道,使用密钥认证,不使用普通账号密码模式。本端 Private Key、隧道地址、对端 Public Key、Endpoint,以及配置要求的路由范围和其他参数。
Hysteria2基于 QUIC,底层依赖 UDP,使用 TLS;网络是否允许相应 UDP 通信是重要前提。地址、端口、认证信息、SNI;如服务端启用混淆,还需对应的混淆参数。

按协议特征判断,不按名称推测结果

带宽、丢包、服务端负载和网络策略都会影响实际体验。没有在同一网络、同一时间窗口和可比服务端条件下测试,就不能把一次 Connectivity Test 结果解释为协议性能结论;延迟较低也不等于持续下载速度更高。

四、在 Add Server 中添加与核对已有信息

优先保留已有配置的完整信息。手动添加适合参数数量少、来源明确的条目;订阅适合管理用户已有的一组条目。Subscribe 是导入和维护信息的入口,不是与 Shadowsocks、Trojan 并列的传输协议,订阅下每个条目仍有自己的 Type。

  1. 准备参数

    从用户已有配置中取出协议、地址、端口及认证材料。若是 VMess 或 VLESS,额外确认 TLS、传输方式、Host 与路径是否有指定值。

  2. 进入添加页

    打开 Home → 右上角“+”→ Add Server → Type,选择与原始信息一致的协议。不要根据地址名称或端口猜测类型。

  3. 填写并保存

    按页面显示填入 Address、Port 及该类型要求的字段。检查复制内容首尾是否带空格;保存后回到 Home,确认选中的是新建条目。

  4. 处理订阅

    若用户已有订阅,使用 Home →“+”→ Type → Subscribe 填入自己的地址并保存,再在 Home 更新订阅内容。更新会按远端内容刷新条目,手动改过的参数应另作记录。

  5. 验证连接

    在 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

六、协议添加后常见问题

排查时每次只调整一类参数,并保留调整前的值。下面的问题按客户端操作回答,不以更换协议代替核对配置,也不把单次超时直接归因于服务端。

同一个地址,为什么换成 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 转发或全部网站访问均正常。

App Store 正版核验核对开发者与应用 ID