在 Shadowrocket 的 Home → + → Type 中,按用户已有服务商提供的配置选择协议,再核对地址、认证信息与传输参数。本文适合已有配置、但分不清协议名称与 TLS、TCP、UDP 含义的用户:先看协议表,再按步骤填写,最后用 Global Routing 区分协议连接问题与规则问题。
协议对照:先确认 Type,再看传输与加密
在 Home 打开已有条目的编辑页,或点击右上角的 + 查看 Type。这里选择的是与服务端通信的协议,不是速度档位。Shadowrocket(小火箭)支持下表所列协议;具体扩展字段与可用传输组合,以当前应用界面和用户已有服务商的配置说明为准。
| 协议 | 传输特点 | 加密与认证 | 填写时先核对 |
|---|---|---|---|
| Shadowsocks | 可承载 TCP、UDP;实际 UDP 能力还取决于服务端与网络。 | 使用指定加密方法与共享密钥;常见 AEAD 方法同时提供加密与完整性保护。 | Address、Port、Password 与加密方法必须对应。 |
| VMess | 可使用 TCP 等传输,也可按配置组合 WebSocket、TLS。 | 使用 UUID 识别用户;协议加密设置与外层 TLS 是不同层次。 | UUID、加密选项、传输方式及 TLS 参数。 |
| VLESS | 传输与外层安全机制由服务端配置决定。 | 使用 UUID 认证;VLESS 本身不提供载荷加密,通常依赖 TLS 等外层机制。 | UUID、传输方式、TLS 及服务端要求的附加字段。 |
| Trojan | 通常依托 TLS 连接;UDP 转发取决于实现与服务端支持。 | 使用 Password 认证,由 TLS 保护连接并校验服务端身份。 | Password、SNI、证书校验及实际监听端口。 |
| HTTP / SOCKS5 | HTTP 代理常用 CONNECT 建立隧道;SOCKS5 支持 CONNECT,也定义 UDP ASSOCIATE。 | 基础 HTTP 代理和 SOCKS5 本身不加密客户端到代理的链路;用户名与密码不等于传输加密。 | 代理类型、地址、端口、认证,以及是否另有 TLS。 |
| WireGuard | 基于 UDP 的网络层隧道,使用 Peer 与地址配置。 | 使用公私钥体系,可额外配置 Pre-shared Key。 | Private Key、Peer Public Key、隧道地址、Allowed IPs、MTU。 |
| Hysteria2 | 基于 QUIC,底层使用 UDP;需要路径允许相应 UDP 通信。 | 使用 QUIC 的 TLS 1.3 安全机制,并按服务端要求配置认证。 | 认证信息、SNI、端口与可选混淆参数。 |
在服务商资料中看到 WebSocket、TLS 或 QUIC 时,不要直接把它们都当成 Type。WebSocket 是传输封装,TLS 是安全层,QUIC 是基于 UDP 的安全传输协议;它们与 Shadowsocks、VMess 等名称并不处在同一分类层级。先确认协议,再逐层对齐字段,可以减少“地址和密码都对,却无法握手”的情况。
参数分层:地址、认证、TLS 不可互相替代
在编辑页先填写 Address 与 Port,再按 Type 填认证信息。Address 是连接目标,Port 是服务端实际监听的端口;SNI 则用于 TLS 握手中的服务名称指示。即使 Address 填写的是 IP,SNI 也可能需要填写证书对应的域名,不能把两者机械地改成同一内容。
在认证字段中,Shadowsocks 的 Password、VMess/VLESS 的 UUID、WireGuard 的 Private Key 不能互换。WireGuard 里的本地 Private Key 应与服务端登记的客户端公钥对应,Peer Public Key 则是对端公钥;把客户端自己的公钥填进 Peer Public Key,通常无法建立预期的握手关系。
- 加密方法:Shadowsocks 的方法名称要与服务端完全一致,不能只复制 Password 后随意选择一个方法。
- 传输路径:VMess 或 VLESS 使用 WebSocket 时,还可能需要匹配 Host 与 Path;Path 的大小写和前导斜杠都应原样保留。
- 证书校验:Trojan 或其他 TLS 配置出现证书错误时,先核对 SNI、设备时间和证书有效性,不要把 Allow Insecure 当作常规修复。
- 密钥保护:Private Key、Password、UUID 与订阅 token 均应按敏感配置处理,排查时只展示字段名称和经过遮盖的值。
结论:按字段对齐,不按名称猜测
先把服务端资料拆成“连接目标、认证、传输、安全层”四部分,再对应填写;遇到资料未给出的字段,先确认是否必需,不从另一条可用配置中借用参数。
添加步骤:手填与导入后都要复核 Type
在 Home 添加服务器条目,Config 用于配置文件与规则管理,Settings 用于应用设置。添加协议条目与切换规则配置是两项操作:前者决定怎样连接服务端,后者决定哪些请求使用哪项策略。以下步骤以用户已经持有自己的服务商参数为前提。
-
核对类型
打开 Home → + → Type,选择资料中明确写出的协议。Trojan 不能通过改成 VLESS 来兼容,Hysteria2 也不能仅靠更换端口变成其他协议。
-
填写目标
回到添加表单,按资料填写 Address、Port 与该协议的认证信息。端口必须使用实际值;资料写 8443 时,不应因为启用了 TLS 就改成 443。
-
对齐传输
按所选 Type 展开的字段核对 TLS、SNI、传输方式及附加参数。保存前检查域名是否带入空格、Password 是否多出换行,以及 UUID 是否完整。
-
检查导入
已有订阅时,可在 Home → + → Type → Subscribe 填入自己的订阅链接并保存。导入后打开具体条目,核对 Type 与关键字段;更新订阅可能覆盖手动修改,应保留原始参数供复核。
-
连接验证
返回 Home 选择待测条目,打开连接开关并按系统提示允许 VPN 配置。先验证一个已知可访问的目标,再检查实际请求是否走到预期策略;单次延迟结果不能证明所有业务都可用。
在更新订阅后发现协议字段变化时,先核对服务端是否同步变更,再重新测试。订阅负责分发与更新配置,并不自动保证每个条目的服务状态。手工修改条目前记录原值,可以避免更新后无法区分“原始配置错误”和“本地修改错误”。
Global Routing:协议可用与规则命中分开检查
在 Home → Global Routing 中检查当前姿态,再判断请求为什么没有使用所选条目。Config、Proxy、Direct 与 Scene 属于路由控制,不是协议名称。Scene 用于按场景组织路由行为,实际结果需要核对相应场景设置;不要把 Scene 理解成另一种加密方式。
Config
推荐按照当前配置的规则与策略处理请求。匹配结果可能是 DIRECT,也可能是代理或其他指定策略;没有匹配前面的规则时,通常由 FINAL 决定去向。
适合:规则已经核对完成的日常分流。
Proxy
将进入代理处理路径的请求交给所选代理策略,便于临时减少规则匹配带来的变量。测试完成后应恢复原姿态,不能据此认定所有应用流量都已被验证。
适合:区分服务端连接失败与规则未命中。
Direct
使用直连路径。此时网页可以打开,并不能证明刚填写的 Trojan、WireGuard 或其他协议参数有效,因为请求可能根本没有经过对应服务端。
适合:对照本地网络的基础连通情况。
在 Config 对应的配置文件中,按规则顺序检查匹配目标与策略名。下面仅演示语法,不是完整配置;其中 PROXY 必须在实际配置中对应可用策略。DOMAIN-SUFFIX 匹配域名后缀,IP-CIDR 匹配地址段,GEOIP 按 IP 地理数据库判断,FINAL 负责前面均未命中的请求。
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
在 Settings → On Demand 配置的是按条件自动建立连接的行为,不是替某个协议补全参数。协议本身尚未验证时,先手动连接并确认可用,再设置 On Demand;这样可以避免把自动触发条件与握手故障混在一起排查。规则匹配的完整说明可参阅使用手册中的路由章节。
常见问题:按现象缩小协议排查范围
在 Home 选中待测条目后,先记录失败发生在连接建立、TLS 握手还是打开目标网站的阶段,再查看连接记录。超时只能说明某个环节没有及时完成,不能单凭这一个提示就断定密码错误或协议不受支持。以下操作用于逐项减少变量,不代表所有同类现象都有同一个原因。
Hysteria2 超时,其他条目能用,是哪里不同?
先核对 Hysteria2 的 Address、Port、认证与 SNI,再检查当前网络是否允许到服务端的 UDP 通信。可在另一条可信网络上重复同一配置作对照;基于 TCP 的连接成功,不能证明同一目标的 UDP 端口也可达。
Trojan 提示证书错误,打开 Allow Insecure 就行吗?
先在条目编辑页核对 SNI 是否对应证书域名,再在设备系统设置中检查日期与时间,并向自己的服务商确认完整证书链。Allow Insecure 会削弱服务端身份校验,不应作为长期默认设置。
VLESS 的 UUID 正确,为什么仍然连接失败?
返回 Home 打开该条目,逐项检查传输方式、TLS、SNI,以及服务端要求的 Host、Path 或其他附加字段。UUID 只解决认证的一部分,无法弥补传输封装或安全层不一致。
WireGuard 有握手,但部分页面一直加载怎么办?
先检查 Allowed IPs 是否覆盖预期目标,再核对 DNS 与 MTU。MTU 不宜盲目调大,应依照服务端建议和路径状况调整;每次只改一项并记录结果,避免把路由遗漏与报文大小问题混为一谈。
哪个协议一定最快,能直接选一个吗?
先确认服务端提供哪种协议,再用相同网络、相同目标和相近时段比较连接成功率、响应时间与持续传输情况。协议名称不能替代链路质量判断,也不能让只提供 Shadowsocks 的服务端直接接受 Trojan 连接。
在提交排查信息前,遮盖订阅链接的 token、认证信息和密钥,只保留 Type、传输方式、端口、错误阶段及网络切换后的现象。需要进一步分析时,按照连接排查章节的顺序整理记录,比反复切换所有选项更容易定位原因。