Shadowrocket 支持哪些协议:Shadowsocks、VMess、VLESS、Trojan、Hysteria2 一文看懂

逐一说明 Shadowsocks、VMess、VLESS、Trojan、HTTP/SOCKS5、WireGuard、Hysteria2 的传输与加密特点,以及在 Add Server 里分别对应哪些填写项。

本文速览

Shadowrocket(小火箭)支持多种代理与隧道协议,但协议名称不能替代完整连接参数。本文面向已有服务商与订阅的用户,先区分协议、传输和规则,再逐项核对 Add Server 中的地址、端口、认证与 TLS 设置,最后给出导入、测试和排错顺序。订阅从你的服务商处获取。

一、协议、传输与 Global Routing 的区别

协议决定客户端与远端如何认证、封装和传递数据;传输方式决定这些数据经过 TCP、UDP、WebSocket 或 QUIC 等哪一种通道。TLS 则负责相应连接层的加密与身份验证。它们不是互相替代的选项:同为 VLESS 的两条记录,可能因为传输方式、TLS 或服务端要求不同而不能交换参数。

Home 用于管理和选择连接记录,Config 用于管理配置文件,Settings 用于调整应用设置。Home 中的 Global Routing 决定请求怎样选择路径,不会把一个 Shadowsocks 服务转换成 Trojan 服务。Config 姿态依据配置规则分流;具体结果取决于命中的规则及其目标策略,而不是固定地把某一类网站全部直连。

设置层示例核对内容
协议类型Shadowsocks、VMess、TrojanType 与服务端协议一致
传输与安全WebSocket、TLS、QUIC传输方式、路径、域名与认证参数
路由姿态Proxy、Direct、Config、Scene请求实际使用哪一条路径或场景设置
配置规则DOMAIN-SUFFIX、IP-CIDR、GEOIP、FINAL规则顺序与目标策略

二、Shadowsocks:核对 Method 与 Password

Shadowsocks 使用预共享凭据,并按照所选 Method 对代理数据进行加密和认证。常见的 AEAD Method 包括 aes-128-gcm、aes-256-gcm 和 chacha20-ietf-poly1305。不同 Method 的密钥要求和协议细节不同,不能把名称相近理解为兼容;涉及特定扩展时,还需核对客户端与服务端是否都支持该扩展。

保存成功只表示记录格式可以被接受,不表示认证已经通过。若地址可达却始终无法传递请求,应先对照原始参数检查 Method、Password 和附加设置,再排查 UDP 转发等功能;不要连续更换多个选项后再判断原因。

三、VMess 与 VLESS:UUID 相似不代表可以互换

VMess 与 VLESS 都可能使用 UUID 形式的用户标识,但认证和数据处理机制不同。VMess 具有自身的认证与加密机制;VLESS 本身不提供载荷加密,需要按照服务端方案配合 TLS 或其他相应的安全机制。仅把 Type 从 VMess 改为 VLESS,不能完成协议转换。

核对项VMessVLESS
用户认证UUID;如原始配置包含 AlterId,也需核对UUID;有 Flow 要求时按原始参数填写
协议加密保留服务端要求的加密设置协议本身不提供载荷加密
底层传输按配置核对 TCP 或 WebSocket 等按配置核对 TCP 或 WebSocket 等
TLS 参数启用情况、Server Name 等须一致安全层设置及相关认证参数须完整

在 Add Server 选择相应 Type 后,先填 Address、Port 和 UUID,再检查传输与 TLS 相关选项。若使用 WebSocket,还需核对 Host 与 Path;/ws 和 / 是不同路径,不应自行简化。若使用其他安全扩展,应从完整原始配置核对,不能只复制地址和 UUID。

结论:先保留完整参数

同一条记录导入后无法连接时,先与服务商提供的原始配置逐项对照 Type、传输、Path 和安全层参数,不要先换协议或关闭身份验证。

四、Trojan 与 HTTP/SOCKS5:分清认证和加密

Trojan 通常使用 TLS 保护传输,并通过 Password 认证。Add Server 中应核对 Type、Address、Port、Password 以及 TLS 相关设置。连接地址与证书身份不一定是同一个字符串:Address 可能是 IP,而 Server Name 应与服务端要求及证书身份相符。不能因为填写 IP 就随意把 Server Name 也改成 IP。

HTTP 与 SOCKS5 是通用代理协议。HTTP 代理可用 CONNECT 建立隧道,但 CONNECT 本身不等于客户端到代理服务器之间已经加密;SOCKS5 的用户名与密码认证也不自动提供传输加密。目标网站使用 HTTPS,与到代理端点这一段是否受 TLS 保护,是两个不同层面。

五、WireGuard 与 Hysteria2:UDP 可用性也要检查

WireGuard 是基于 UDP 的加密隧道协议,使用公私钥建立对等关系。它不使用 VMess 的 UUID,也不使用 Trojan 的 Password 结构。手动填写时,需要从已有配置核对本地 Private Key、隧道地址、远端 Public Key、Endpoint 及必要的路由参数;如果提供了 Pre-shared Key,也必须保留。私钥属于敏感信息,不应出现在公开截图中。

Hysteria2 基于 QUIC,底层依赖 UDP,并使用 TLS 保护连接。Add Server 中选择 Hysteria2 后,需要核对地址、端口、认证信息以及 Server Name 等安全设置。如果原始配置还包含混淆参数,也要一并对应。网络允许 TCP 443,不代表同一网络也允许 UDP 443。

协议关键参数连接失败时先检查
WireGuardPrivate Key、Public Key、隧道地址、Endpoint密钥配对、UDP 可达性、隧道路由与地址是否冲突
Hysteria2认证信息、端口、Server Name、可选混淆UDP 是否受限、认证是否匹配、TLS 身份验证是否通过

协议名称不能直接预测实际速度。时延、丢包、带宽限制、服务端负载与当前网络的 UDP 策略都可能改变结果。若一条 Hysteria2 记录在蜂窝网络可用、同一设备接入某个 Wi-Fi 后超时,可以把“网络路径或 UDP 限制”列为检查方向,但仅凭这一现象还不能确定原因。

六、Add Server 手填与 Subscribe 导入步骤

单条记录适合按参数核对,订阅适合批量导入和后续更新。订阅地址是获取记录的入口,不是远端代理的 Address。下面的 https://example.com/sub?token=xxxx 只是格式示例,不能用于连接;实际订阅从你的服务商处获取。

  1. 打开添加页

    进入 Home,点击右上角“+”打开 Add Server。准备手填时,先在 Type 中选择与原始参数一致的协议。

  2. 填写连接项

    按协议填写 Address、Port 及对应认证项。继续核对 TLS、Server Name、传输方式和 Path,不用常见默认值覆盖服务端要求。

  3. 导入订阅

    如果已有订阅,则在 Add Server → Type 选择 Subscribe,将完整订阅地址填入 URL,保存后等待获取记录。不要把它填入某个协议的 Address。

  4. 核对并测试

    返回 Home,检查导入数量与各记录的 Type,选择一条记录并连接。再访问明确的测试目标,区分延迟测量结果与实际请求结果。

  5. 保留更新来源

    需要同步服务商调整时,在 Home 对订阅执行更新。更新后重新检查记录是否存在;不要把订阅生成项的本地修改当成长期保存方式。

七、协议已填对,仍需核对 Global Routing

连接记录测试正常而某个网站不通时,先确认该请求是否真的走了所选记录。Global Routing 的 Config 会执行配置中的规则;例如前面的 DOMAIN-SUFFIX 命中后,后面的 FINAL 就不再处理该请求。IP-CIDR 用于 IP 网段匹配,GEOIP 根据目标 IP 所属地区匹配,两者都不是协议选择开关。

Config:按配置分流

推荐

使用已经核对过的配置,按规则顺序选择目标策略。未被前面规则匹配的请求通常由 FINAL 处理,最终去向取决于配置内容。

适合:已具备明确分流需求并核对过规则的日常使用

Proxy:验证代理路径

让由 Shadowrocket 处理的请求使用代理路径,暂时减少规则分流对测试的影响。它不能修复无效密码、TLS 错误或远端不可达。

适合:临时检查故障是否与 Config 规则有关

Direct:验证直连路径

使用直连路径,用于对照当前网络访问同一目标的表现。选中 Direct 后网页能打开,不能证明代理记录已经连接成功。

适合:对照直连结果与代理结果,缩小排查范围

Scene 用于按场景组织相关设置,不是一种新协议。Settings → On Demand 管理自动连接条件,也不改变连接记录的 Type。排查时先保持测试条件一致,检查 Global Routing 与当前生效配置,再单独检查是否存在 On Demand 自动连接行为。

八、常见协议配置问题

有地址和端口,为什么还是不能用?

进入 Home,打开对应记录的编辑页,检查 Type 与认证项。Shadowsocks 还需要 Method 和 Password,VMess/VLESS 需要 UUID 及传输参数,WireGuard 需要密钥和隧道配置。地址和端口只标识远端入口。

延迟测试有数值,网页为什么打不开?

延迟测试成功不等于目标网站请求成功。先在 Home 检查 Global Routing,临时用 Proxy 对照 Config;若只在 Config 下失败,检查规则。两种姿态都失败时,再核对 DNS、认证与 TLS,避免仅凭延迟数值认定协议可用。

TLS 报错,可以直接跳过验证吗?

先核对设备时间、Address、Server Name 及服务端证书是否匹配,再向你的服务商确认完整安全参数。跳过验证会削弱身份验证,不应当作常规修复手段,也不能解决错误密码或传输路径不匹配。

订阅更新后,手动修改怎么消失了?

订阅生成的记录可能在更新时被重新生成。回到 Home 检查订阅来源与更新结果,将必须长期保留的连接要求交由服务商确认;需要独立测试时另建手动记录,不依赖修改订阅项来保存配置。

支持协议多,应该选哪一个?

先使用服务商明确提供且参数完整的协议。需要比较时,在同一设备、同一网络和相近时段访问同一目标,记录连接成功率、请求耗时和错误类型,每次只改变一个因素。不能只按协议名称判断稳定性。

前往 App Store