本文速览

Shadowrocket 支持多种代理与隧道协议,但客户端支持不等于服务端已经启用。本文适合已有服务商与订阅、准备导入或手动填写参数的用户:先用对照表辨认协议,再核对认证、传输与 TLS,最后区分协议类型与 Global Routing,避免把连接失败归因于“协议不够快”。

一分钟对照:协议名称对应哪些参数

Shadowrocket(小火箭)的 Add Server 用于添加连接配置。Shadowsocks、VMess、VLESS、Trojan、HTTP/SOCKS5、WireGuard、Hysteria2 的字段并不通用;先核对 Type,再填写地址与认证信息。已有订阅从你的服务商处获取,不要仅根据端口号猜测协议。

协议工作方式优先核对
Shadowsocks以密码与指定加密方法建立代理连接地址、端口、Password、加密方法
VMess使用 UUID 认证,具有自身的数据保护机制UUID、加密设置、传输方式、TLS
VLESS以 UUID 认证,协议本身不提供数据加密UUID、传输方式、TLS 及服务端要求的附加参数
Trojan通常通过 TLS 承载代理连接,以密码认证Password、TLS、服务器名称与证书
HTTP/SOCKS5通用代理协议,认证方式由服务端决定代理类型、端口、用户名、密码、TLS 要求
WireGuard基于 UDP 的加密 IP 隧道密钥、对端端点、隧道地址、路由参数
Hysteria2基于 QUIC 的代理传输,依赖 UDP认证、端口、TLS、混淆与带宽设置

表中是核对顺序,不是完整支持矩阵。某个协议的具体扩展能否使用,需要同时核对应用内可选字段和服务端配置。即使两条记录都使用端口 443,也可能分别承载 Trojan、VLESS 或 Hysteria2;端口只是连接目标的一部分,不决定协议。

Shadowsocks、VMess 与 VLESS:认证与加密不能混为一谈

Shadowsocks 需要客户端与服务端使用一致的加密方法和密码。仅改成另一个加密方法不会自动适配服务端;地址、端口都正确而认证仍失败时,应先比对导入内容与服务商原始参数,而不是反复切换方法。

VMess 与 VLESS 都会用到 UUID,但不能只替换 Type 就相互转换。VMess 有自身的数据保护机制;VLESS 本身不提供数据加密,实际连接的安全性取决于外层安全机制。UUID 是认证信息,不是 TLS 证书,也不应当填入服务器名称字段。

Trojan 与 HTTP/SOCKS5:先区分代理协议和 TLS

Trojan 通常在 TLS 连接内完成认证和代理传输。填写时需要同时核对 Password 与 TLS 相关参数:密码正确但服务器名称不匹配,仍可能在认证之前就因证书验证失败而中止。目标地址可以是域名或 IP,但用于验证证书的服务器名称必须符合服务端说明。

HTTP 代理与 SOCKS5 代理主要定义连接协商方式,协议名称本身不代表到代理服务器的链路已经加密。HTTP 代理可以通过 CONNECT 为 HTTPS 目标建立隧道,但这与“客户端到代理服务器使用 TLS”是两个独立问题。SOCKS5 是否接受用户名与密码、是否提供 UDP 转发,也要由服务端能力决定。

WireGuard 与 Hysteria2:都用 UDP,但配置目标不同

WireGuard 是 IP 层隧道,身份通过密钥建立。需要区分本地 Private Key、对端 Public Key,以及服务端要求时使用的 Preshared Key;这些字段不能互换。除服务器端点外,还要关注分配的隧道地址与路由参数。端点 example.com:51820 只是格式示例,51820 不是必须使用的端口。

Hysteria2 基于 QUIC,底层依赖 UDP,并使用 TLS。认证、服务器名称及可选混淆必须与服务端一致。带宽相关参数也应依据实际链路和服务商说明设置;填入更大的数值并不等于获得更高的可用带宽。

核对项WireGuardHysteria2
身份与认证密钥对及可选预共享密钥服务端配置的认证信息
连接基础UDP 上的加密 IP 隧道UDP 上的 QUIC 连接与 TLS
典型错误对端公钥、端点或隧道地址不匹配认证、服务器名称或混淆不匹配
网络限制UDP 被阻断时无法正常握手UDP 被阻断时无法建立正常 QUIC 连接

结论:先确认 UDP 是否可达

同一配置在蜂窝网络可用、在某个 Wi-Fi 下持续超时时,先比较两种网络对 UDP 的限制,再检查协议参数;不要仅凭协议名称判断速度或反复调大带宽数值。

导入与核验:先保留原始参数,再做单项测试

已有订阅优先按服务商提供的完整内容导入。订阅不仅可能包含地址与密码,还可能携带 TLS、传输和协议扩展参数。手动输入适合字段明确的单条连接;字段不全时应先补齐信息,不用猜测填值。

  1. 确认来源

    从你的服务商处获取已有订阅或单条参数。确认协议名称、地址、端口和认证方式,保留原始内容供逐项比对。

  2. 导入订阅

    在 Home 点击右上角“+”进入 Add Server,将 Type 设为 Subscribe,填写自己的订阅地址并保存。核对订阅记录是否加载出预期条目。

  3. 核对字段

    手动添加时,在 Home → “+” → Add Server → Type 选择实际协议。先填地址、端口和认证,再检查 TLS、传输方式及该协议特有参数。

  4. 连接验证

    回到 Home 选择条目并开启连接,按系统提示完成授权。先测试一个明确目标是否可访问,再记录报错类型;每次只修改一项设置。

订阅更新会重新获取服务商发布的内容,应把它与“手动编辑单个节点”区分开。更新后若条目恢复原值,先核对订阅源中的参数;不要假定本地编辑一定会被保留。订阅地址中的令牌属于凭据,分享日志或配置前应删除。

Global Routing 与协议类型:两组设置分别检查

协议决定怎样连接服务端,Global Routing 决定进入隧道的请求按什么策略处理。换成 Trojan 不会自动启用规则分流;选中一个节点也不代表所有请求都使用它。排查时应分别核对 Home 中的连接条目、Global Routing 的当前姿态,以及 Config 中正在使用的配置。

Config

推荐

依据当前配置中的规则和策略处理请求。命中结果可能是 PROXY、DIRECT、REJECT 或已定义的策略,不等于“所有未匹配请求都直连”。

适合:已有并核对过分流配置的日常使用

Proxy

将进入隧道的请求按代理姿态处理,可用于缩小规则分流造成的差异;仍需保证所选连接的协议与认证正确。

适合:临时验证代理连接、排查规则影响

Direct

按直连姿态处理请求。此时网页可访问不能证明所选代理节点有效,也不能据此判断某种协议连接成功。

适合:建立本地网络的直连对照

Global Routing 中的 Scene 属于场景姿态,不能把它当作另一种代理协议;检查时应核对当前场景的实际设置。Settings → On Demand 管理按需连接条件,也不会修正错误的 UUID、密码或 TLS 参数。先手动验证连接,再核对自动触发条件,便于区分连接失败与未触发连接。

[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 处理前面未命中的请求。REJECT 则表示拒绝请求。规则关键字决定去向,不负责修复协议握手;示例中的域名与文档地址段不代表真实服务。

常见问题:支持协议却连不上,先查什么

有服务器地址,Type 随便选一个可以吗?

不可以。在 Home → “+” → Add Server → Type 中选择与服务端一致的协议。只有地址与端口不足以还原完整配置,还需从你的服务商处获取认证、TLS 和传输参数。

端口都是 443,为什么一条能用一条不能用?

先比较 Type,再核对认证与 TLS。TCP 的 443 和 UDP 的 443 是不同的传输端点;Trojan 与 Hysteria2 即使端口数字相同,也不能共用一组协议参数。

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

延迟结果只能证明该测试方法获得了响应,不代表 DNS、认证与目标请求全部通过。回到 Home 核对 Global Routing,再检查目标域名解析和具体连接错误;不要只根据一个延迟数字判定协议正常。

买了 Shadowrocket,还需要协议参数吗?

需要。客户端买断 ≠ 线路套餐。Shadowrocket 是闭源商业应用,连接参数及已有订阅从你的服务商处获取。应用主要用于 iPhone/iPad,也可在 App Store 页面核对其他 Apple 设备兼容性;系统要求及购买适用性以 App Store 页面标注为准。