Shadowrocket(小火箭)支持多种代理与隧道协议,但协议名称不能替代完整连接参数。本文面向已有服务商与订阅的用户,先区分协议、传输和规则,再逐项核对 Add Server 中的地址、端口、认证与 TLS 设置,最后给出导入、测试和排错顺序。订阅从你的服务商处获取。
一、协议、传输与 Global Routing 的区别
协议决定客户端与远端如何认证、封装和传递数据;传输方式决定这些数据经过 TCP、UDP、WebSocket 或 QUIC 等哪一种通道。TLS 则负责相应连接层的加密与身份验证。它们不是互相替代的选项:同为 VLESS 的两条记录,可能因为传输方式、TLS 或服务端要求不同而不能交换参数。
Home 用于管理和选择连接记录,Config 用于管理配置文件,Settings 用于调整应用设置。Home 中的 Global Routing 决定请求怎样选择路径,不会把一个 Shadowsocks 服务转换成 Trojan 服务。Config 姿态依据配置规则分流;具体结果取决于命中的规则及其目标策略,而不是固定地把某一类网站全部直连。
| 设置层 | 示例 | 核对内容 |
|---|---|---|
| 协议类型 | Shadowsocks、VMess、Trojan | Type 与服务端协议一致 |
| 传输与安全 | 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 的密钥要求和协议细节不同,不能把名称相近理解为兼容;涉及特定扩展时,还需核对客户端与服务端是否都支持该扩展。
- 在 Home 右上角“+”进入 Add Server,将 Type 设为 Shadowsocks。
- Address 与 Port 对应远端地址和监听端口,不填写订阅 URL。
- Method 与 Password 必须逐项一致。不要用账户登录密码代替连接密码。
- 如果原始参数包含额外混淆或插件设置,应保留对应参数;普通 TLS 开关不能替代这些设置。
保存成功只表示记录格式可以被接受,不表示认证已经通过。若地址可达却始终无法传递请求,应先对照原始参数检查 Method、Password 和附加设置,再排查 UDP 转发等功能;不要连续更换多个选项后再判断原因。
三、VMess 与 VLESS:UUID 相似不代表可以互换
VMess 与 VLESS 都可能使用 UUID 形式的用户标识,但认证和数据处理机制不同。VMess 具有自身的认证与加密机制;VLESS 本身不提供载荷加密,需要按照服务端方案配合 TLS 或其他相应的安全机制。仅把 Type 从 VMess 改为 VLESS,不能完成协议转换。
| 核对项 | VMess | VLESS |
|---|---|---|
| 用户认证 | 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 保护,是两个不同层面。
- Trojan:核对 Password、TLS 与 Server Name;遇到证书错误先检查域名、设备时间和证书链。
- HTTP:核对地址、端口及是否要求 Username、Password;远端要求加密代理连接时,还须匹配相应 TLS 设置。
- SOCKS5:核对认证方式;需要转发 UDP 时,服务端和客户端的对应能力都必须满足。
- 共同要求:不要将网页控制台的登录凭据直接作为代理认证凭据,除非服务商明确说明两者相同。
五、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。
| 协议 | 关键参数 | 连接失败时先检查 |
|---|---|---|
| WireGuard | Private 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 只是格式示例,不能用于连接;实际订阅从你的服务商处获取。
-
打开添加页
进入 Home,点击右上角“+”打开 Add Server。准备手填时,先在 Type 中选择与原始参数一致的协议。
-
填写连接项
按协议填写 Address、Port 及对应认证项。继续核对 TLS、Server Name、传输方式和 Path,不用常见默认值覆盖服务端要求。
-
导入订阅
如果已有订阅,则在 Add Server → Type 选择 Subscribe,将完整订阅地址填入 URL,保存后等待获取记录。不要把它填入某个协议的 Address。
-
核对并测试
返回 Home,检查导入数量与各记录的 Type,选择一条记录并连接。再访问明确的测试目标,区分延迟测量结果与实际请求结果。
-
保留更新来源
需要同步服务商调整时,在 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 检查订阅来源与更新结果,将必须长期保留的连接要求交由服务商确认;需要独立测试时另建手动记录,不依赖修改订阅项来保存配置。
支持协议多,应该选哪一个?
先使用服务商明确提供且参数完整的协议。需要比较时,在同一设备、同一网络和相近时段访问同一目标,记录连接成功率、请求耗时和错误类型,每次只改变一个因素。不能只按协议名称判断稳定性。