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 证书,也不应当填入服务器名称字段。
- 认证层:核对 UUID 或密码是否完整,复制时不要带入空格、换行或中文标点。
- 传输层:TCP、WebSocket 等设置必须与服务端相符;选择 WebSocket 时,还需核对 Path 和 Host。
- 安全层:TLS 是否启用、服务器名称和证书验证要求应分别确认,不能用“地址能解析”代替验证。
- 附加参数:如果原始配置包含特殊流控或安全参数,应按原值导入,不自行删减或套用另一条记录的设置。
Trojan 与 HTTP/SOCKS5:先区分代理协议和 TLS
Trojan 通常在 TLS 连接内完成认证和代理传输。填写时需要同时核对 Password 与 TLS 相关参数:密码正确但服务器名称不匹配,仍可能在认证之前就因证书验证失败而中止。目标地址可以是域名或 IP,但用于验证证书的服务器名称必须符合服务端说明。
HTTP 代理与 SOCKS5 代理主要定义连接协商方式,协议名称本身不代表到代理服务器的链路已经加密。HTTP 代理可以通过 CONNECT 为 HTTPS 目标建立隧道,但这与“客户端到代理服务器使用 TLS”是两个独立问题。SOCKS5 是否接受用户名与密码、是否提供 UDP 转发,也要由服务端能力决定。
- 端口示例:
443常见于 TLS 服务,1080常见于 SOCKS5,8080常见于 HTTP 代理;这些只是惯例,实际值以服务商参数为准。 - 认证示例:服务端要求用户名与密码时,两项都需填写;不能把整段订阅地址当成 Password。
- 现象判断:若出现 HTTP
407,应优先检查代理认证;若是 TLS 握手错误,则先核对 TLS 与证书,而不是修改规则。
WireGuard 与 Hysteria2:都用 UDP,但配置目标不同
WireGuard 是 IP 层隧道,身份通过密钥建立。需要区分本地 Private Key、对端 Public Key,以及服务端要求时使用的 Preshared Key;这些字段不能互换。除服务器端点外,还要关注分配的隧道地址与路由参数。端点 example.com:51820 只是格式示例,51820 不是必须使用的端口。
Hysteria2 基于 QUIC,底层依赖 UDP,并使用 TLS。认证、服务器名称及可选混淆必须与服务端一致。带宽相关参数也应依据实际链路和服务商说明设置;填入更大的数值并不等于获得更高的可用带宽。
| 核对项 | WireGuard | Hysteria2 |
|---|---|---|
| 身份与认证 | 密钥对及可选预共享密钥 | 服务端配置的认证信息 |
| 连接基础 | UDP 上的加密 IP 隧道 | UDP 上的 QUIC 连接与 TLS |
| 典型错误 | 对端公钥、端点或隧道地址不匹配 | 认证、服务器名称或混淆不匹配 |
| 网络限制 | UDP 被阻断时无法正常握手 | UDP 被阻断时无法建立正常 QUIC 连接 |
结论:先确认 UDP 是否可达
同一配置在蜂窝网络可用、在某个 Wi-Fi 下持续超时时,先比较两种网络对 UDP 的限制,再检查协议参数;不要仅凭协议名称判断速度或反复调大带宽数值。
导入与核验:先保留原始参数,再做单项测试
已有订阅优先按服务商提供的完整内容导入。订阅不仅可能包含地址与密码,还可能携带 TLS、传输和协议扩展参数。手动输入适合字段明确的单条连接;字段不全时应先补齐信息,不用猜测填值。
-
确认来源
从你的服务商处获取已有订阅或单条参数。确认协议名称、地址、端口和认证方式,保留原始内容供逐项比对。
-
导入订阅
在 Home 点击右上角“+”进入 Add Server,将 Type 设为 Subscribe,填写自己的订阅地址并保存。核对订阅记录是否加载出预期条目。
-
核对字段
手动添加时,在 Home → “+” → Add Server → Type 选择实际协议。先填地址、端口和认证,再检查 TLS、传输方式及该协议特有参数。
-
连接验证
回到 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 页面标注为准。