Shadowrocket 支持哪些协议:Shadowsocks、VMess、VLESS、Trojan、Hysteria2 与 WireGuard 速览

按传输方式、加密与握手特点,逐一说明 Shadowrocket 可添加的 Shadowsocks、VMess、VLESS、Trojan、HTTP/SOCKS5、WireGuard、Hysteria2 各自字段含义与适用场景。

本文速览

Shadowrocket(小火箭)可使用多种连接协议,但协议名称相同不代表参数可以互换。本文面向已有服务商与连接配置的用户,按认证、传输、加密和路由四层说明检查方法;读完可判断需要核对 Password、UUID、TLS、UDP 还是密钥字段,再按固定顺序完成导入和连接验证。本站不提供、不销售、不推荐节点或订阅。

先分清协议、传输与分流设置

协议决定客户端怎样与服务器通信,Global Routing 决定流量交给哪条路径处理。这是两组不同设置:在 Home 中添加 Trojan,不会自动使所有请求使用该条目;在 Config 中写入规则,也不会补齐服务器缺失的认证信息。

Shadowrocket 是 Apple 平台的付费客户端,主要用于 iPhone 和 iPad,唯一获取入口是 App Store。它是闭源商业应用,采用一次性买断;客户端买断 ≠ 线路套餐。系统要求及购买适用范围以 App Store 页面标注为准。

层次典型内容核对目标
协议与认证Shadowsocks、VMess、VLESS、Trojan类型、密码或 UUID 与服务器一致
传输与握手TCP、UDP、WebSocket、TLS、QUIC服务器是否启用相同传输与握手条件
服务器条目地址、端口、认证字段连接到正确服务入口
流量分配Global Routing、Config 中的 Rule目标请求是否确实使用待测条目

端口号不能用来反推协议。443 常用于 TLS 服务,但填写 443 不会自动启用 TLS;服务器若使用其他端口,应原样填写已有配置中的数值。下面的比较用于阅读参数,不是按协议名称排列性能高低。

Shadowsocks、VMess 与 VLESS:先核对认证字段

这三类配置首先要匹配 Type 和认证参数,再检查附加传输。不要把一个条目的地址和密码直接填入另一种 Type;服务器并不会因为客户端更改选项就改变它支持的协议。

协议关键字段加密与传输要点
Shadowsocks服务器、端口、Password、加密方法加密方法须匹配;UDP 能力取决于两端配置与网络条件
VMess服务器、端口、UUID、加密及传输参数认证对时间有要求;使用 WebSocket 或 TLS 时还需匹配相应字段
VLESS服务器、端口、UUID、传输及安全参数协议本身不提供载荷加密;安全性依赖配置采用的外层机制

Shadowsocks:加密方法不能靠猜

Shadowsocks 的 Password 与加密方法必须成套核对。例如已有配置标注 aes-128-gcm,就不能自行换成 chacha20-ietf-poly1305。部分方法对密钥格式另有要求,尤其不能把所有认证材料都当作任意长度的普通密码。先保留导入结果,再与已有配置逐字段比对。

VMess:UUID 与系统时间都要正确

VMess 使用 UUID 作为重要认证信息,设备时间明显偏差可能导致认证失败。排查时先确认系统日期与时间正确,再检查 UUID 是否完整。若服务器采用 WebSocket,还要核对 Path 与 Host;若同时使用 TLS,则继续核对服务器名称及证书验证条件。这些参数不能由 UUID 推导出来。

VLESS:认证不等于加密

VLESS 的 UUID 解决身份识别问题,不等于传输内容已加密。应按已有配置检查 TLS 或其他受支持的安全参数;如果配置带有 Flow,也必须确认两端支持并使用相同设置。不能因为 VLESS 与 VMess 都使用 UUID,就只修改 Type 而保留其他参数不动。

Trojan 与 Hysteria2:分别检查 TLS 和 UDP

Trojan 的检查重点是密码与 TLS,Hysteria2 则还需要确认网络能够承载 UDP。两者都不能只用“端口能连上”证明协议握手和实际请求已经成功。

协议连接特点优先检查
Trojan典型部署在 TLS 连接内完成认证与代理通信Password、TLS 服务器名称、证书及系统时间
Hysteria2基于 QUIC,底层依赖 UDP认证信息、TLS、UDP 可达性及已有配置中的额外参数

Trojan 使用域名证书时,连接地址与 TLS 验证使用的服务器名称可能并不相同,应分别按配置填写。例如服务器地址是一个 IP,证书却签发给域名时,不能直接用该 IP 替代证书名称。遇到证书错误,应检查名称、证书有效性和系统时间,而不是把关闭验证当作默认修复步骤。

Hysteria2 并不是把其他协议的传输选项切到 UDP。它有自己的握手与认证流程,不能与 Hysteria 的其他代际配置混用。当前网络限制 UDP 时,即使常规网页和 TCP 服务可访问,Hysteria2 仍可能无法建立连接。若已有配置含带宽或混淆参数,也应原样核对,不凭经验随意填写较大数值。

结论:先验证网络条件

同一份 Hysteria2 配置只在某个 Wi-Fi 下失败时,先切换蜂窝网络复测并记录差异,再检查该 Wi-Fi 的 UDP 条件;不要先改认证字段,也不要据此认定其他协议一定更快。

HTTP、SOCKS5 与 WireGuard:区分代理入口和隧道

HTTP、SOCKS5 与 WireGuard 的字段结构不同,不能套用同一套账号填写方式。前两者是常见代理入口,后者使用密钥建立网络层隧道;是否能访问目标资源,还取决于服务器允许的转发范围。

WireGuard 的 Endpoint 包含服务器地址和端口,隧道地址则属于隧道内部,两者不能互换。Allowed IPs 参与地址范围与对端选择,不是域名规则,也不能直接替代 Config 中的 DOMAIN-SUFFIX。排查时应同时查看密钥对应关系、UDP 可达性以及对端回程路由。

导入已有配置:按 Home → Type 核对

导入比手工重建更适合保留复杂参数,但导入完成仍需检查关键字段。下列流程以用户已有订阅或单条配置为前提;订阅维护服务器条目,Config 中的配置文件维护规则及相关行为,二者不能视为同一份设置。

  1. 保留原配置

    记录当前选中的服务器和 Home → Global Routing 设置。修改前保留可恢复的已有配置,避免排查过程中同时丢失原来的连接参数与规则。

  2. 选择导入方式

    手工添加单条连接时,进入 Home → 右上角“+” → Type,选择与已有配置一致的协议;使用订阅时,在同一路径的 Type 中选择 Subscribe,并填写自己的订阅地址。

  3. 逐项核对

    保存后检查服务器、端口、Password 或 UUID。再按协议检查 TLS、WebSocket、UDP 或 WireGuard 密钥字段;订阅更新后,也要留意条目是否被远端内容替换。

  4. 连接后验证

    回到 Home 选中待测条目并开启连接,按系统提示允许添加 VPN 配置。记录 Global Routing 当前状态,再访问明确的测试目标;不要只以列表中的延迟数字判断结果。

订阅更新失败与服务器连接失败应分开处理。前者可能是订阅地址失效、token 变化或获取路径不可达,后者可能是认证、握手或转发问题。先保留现有条目,确认失败发生在哪一步,再更新已有订阅;反复删除重加并不能修复服务器端参数错误。

用 Global Routing 隔离协议与规则问题

测试协议时应固定服务器和目标,只改变一项路由设置。Home → Global Routing 中的 Proxy、Direct、Config、Scene 是路由姿态,不是连接协议;其中 Scene 按已设场景工作,不是新增了一种传输方式。

Config

推荐

依据当前启用的 Config 规则决定请求去向。规则可以指向 DIRECT、代理策略或 REJECT,并不是所有未命中的请求都会自动直连。

适合:已有有效规则、需要逐条核对分流结果的日常使用

Proxy

以代理路径作为全局路由选择,可用于隔离普通分流规则的影响。它不代表所有系统流量都必然被接管,也不能补救协议认证失败。

适合:临时验证所选服务器与目标请求能否连通

Direct

以直连路径处理请求。此时网页能够打开,不能证明 Home 中选中的代理服务器已完成握手。

适合:确认本地网络与目标本身是否可达,作为排查对照

以下仅是规则语法示意,不是可直接替换完整配置的成品。PROXY 必须在当前配置语境中指向有效代理策略;规则按顺序判断,FINAL 处理前面未匹配的请求。

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY

DOMAIN-SUFFIX 按域名后缀匹配,IP-CIDR 按地址网段匹配,GEOIP 依赖地理数据库判定地址归属。若 Proxy 下可访问而 Config 下失败,应检查命中规则、策略和 DNS 结果,不要立刻更换协议。验证结束后恢复原路由姿态,避免测试设置持续影响后续请求。

协议连接常见问题

为什么端口填了 443,还是提示握手失败?

端口不决定协议。回到 Home 编辑该条目,先确认 Type,再核对是否需要 TLS、服务器名称和认证字段。使用 WebSocket 时继续检查 Path 与 Host;不要把端口连通误认为整套握手成功。

延迟有数字,为什么网页还是打不开?

延迟测试只能说明特定测试过程的结果。先确认 Home → Global Routing 不是用 Direct 绕过待测条目,再用 Proxy 临时隔离规则,访问同一个目标。若仍失败,继续区分 DNS、认证、TLS 与服务器转发阶段。

切换 Wi-Fi 后只有 Hysteria2 或 WireGuard 失败?

先保持配置不变,切换蜂窝网络复测。这两类连接依赖 UDP,网络条件变化值得优先检查。再查看 Settings → On Demand 是否有按网络触发的设置,避免连接自动变化干扰判断;手动测试期间记录并暂时停用相关触发条件,测试后恢复。

订阅更新后,能直接把 Type 换回原来的协议吗?

不能只改 Type。先核对已有订阅提供的完整字段,确认服务端实际协议是否变化;若更新内容有误,向自己的服务商核实。认证、传输和 TLS 参数必须作为一组对应,保留旧密码并不保证能够恢复连接。

排查记录应包含当前网络、所选协议、Global Routing、目标地址和失败阶段,而不是只写“不能用”。每次仅修改一个变量,再用相同目标复测,才能判断问题来自配置、网络还是规则。需要从首次授权与基本操作开始时,可阅读站内使用说明。

App Store 正版核对