Shadowrocket 添加 Trojan 节点:协议原理与密码、SNI、TLS 参数填写要点

先讲清 Trojan 借 TLS 传输的原理,再逐项说明 Add Server 里地址、端口、密码、SNI 与证书校验怎么对照服务商资料填写。

本文速览

适用于已经持有自己服务商所提供 Trojan 参数的用户。先区分连接地址、认证密码和 TLS 服务名,再按 Add Server 的字段完成配置,最后用连接结果区分网络、证书、认证与规则问题。操作路径以 iPhone / iPad 界面为例;Mac、Windows、安卓、Linux 上核对参数的原则相同,入口位置以对应平台界面为准。

1. Trojan 原理:先建立 TLS,再完成密码认证

Shadowrocket(小火箭)中的 Trojan 是一种代理协议。典型连接先向服务器地址与端口建立 TCP 连接,再完成 TLS 握手,在加密通道中发送认证信息和目标请求。TLS 用来保护传输并验证服务器身份,Trojan 密码用来验证用户是否有权使用服务,两者解决的问题不同。

解析服务器地址 建立 TCP 连接 完成 TLS 握手 校验认证信息 转发目标请求

因此,密码正确不代表 TLS 一定成功;TLS 成功也不代表账号仍然有效。地址无法解析、端口不可达、证书名称不匹配、密码错误,都可能表现为连接失败,但发生在不同阶段。排查时应沿着上述顺序定位,而不是同时更换所有参数。

443
常见 TLS 服务端口,实际端口以服务商资料为准
2 类
身份核对:TLS 服务器身份与 Trojan 用户认证
5 项
先核对 Address、Port、Password、SNI 与证书校验

443 只是常见端口,不是协议硬性要求,也不能据此判断服务是否可用。服务商若指定 8443 等其他端口,应原样填写。本文不提供或推荐节点、订阅及服务商;已有订阅地址从你的服务商处获取。

2. 添加前先整理参数:Address 不等于 SNI

Address 决定客户端连接到哪里,可以是域名,也可以是 IP 地址。SNI 是 TLS 握手中的服务名信息,通常用于让服务器选择对应站点及证书。在常见客户端配置中,它也参与确定应核对的服务器名称;如果界面另列证书验证名称,应按服务商说明分别填写。不要把连接地址、SNI 和额外传输层的 Host 当成同一个字段。

连接与认证参数

Type
Trojan,必须与服务端协议一致
Address
服务商提供的主机名或 IP,不带 https:// 与路径
Port
服务端监听端口,例如资料明确写出的 443
Password
该节点的 Trojan 认证密码,保留大小写与符号

订阅访问凭据、网站登录密码和节点 Password 不可互相替代。

TLS 与传输参数

TLS
标准 Trojan 连接需要 TLS,按节点资料配置
SNI
填写服务商指定的 TLS 服务名,不带协议前缀或端口
证书校验
保持启用,核对信任链、有效期和名称匹配
Transport
仅按资料设置;不要自行添加 WebSocket 或其他封装

额外传输参数不能凭名称推测,资料缺失时先向服务商确认。

例如,连接地址是 IP,而证书签发给某个域名时,SNI 通常仍应填写服务商指定的证书域名。反过来,Address 已经是域名,也不能保证它一定就是 SNI。证书允许的名称由证书中的 Subject Alternative Name 等信息决定,不是把任意可访问网站的域名填进去即可。

结论:先确认服务名,再处理证书错误

遇到名称不匹配时,优先逐字核对 SNI 与服务商给出的证书域名;不要用关闭证书校验来替代修正配置。

3. Home → Add Server:手动填写与保存步骤

手动添加适合核对单个节点,也方便定位订阅解析后究竟是哪一项不一致。以下使用英文界面词描述,具体字段是否独立显示会因平台和所选传输方式不同而变化;只填写实际可见且有明确资料的选项。

  1. 打开 Home,点击右上角添加按钮,进入 Add Server。先把 Type 设为 Trojan,再核对界面显示的协议专属字段。
  2. 在 Address 中粘贴服务器主机名或 IP。删除复制时混入的空格、换行及协议前缀,不要把整条分享链接塞入地址栏。
  3. 在 Port 中填写指定端口。例如资料写 443 就填 443,不要因为超时自行改成 80;服务器未监听的端口不会因修改客户端而生效。
  4. 在 Password 中粘贴节点认证密码。检查首尾空格、字母大小写及符号,避免将订阅链接中的 token 当作密码。
  5. 核对 TLS 与 SNI。SNI 只填主机名;服务商若提供额外传输参数,应一并对照,不要沿用其他节点的设置。
  6. 保持证书校验启用,保存节点并返回 Home,明确选中刚保存的条目。首次连接时,按系统提示允许建立 VPN 配置。

测试前暂时不要改动 Config 中的规则。先证明单个节点在当前网络下能够完成连接,再验证规则是否把请求送到预期出口。这样可以避免把节点参数错误与规则命中问题混在一起。

4. 已有订阅导入后,仍要检查节点实际字段

服务商已提供订阅时,可以通过 Add Server 中的 Subscribe 类型导入,不必逐条重建。订阅负责批量分发节点资料,但不能保证其中的地址、证书或账号状态始终有效。导入成功只说明客户端取得并解析了内容,不等于每个节点都完成了连接测试。

Trojan 与 Shadowsocks、VMess、VLESS、Hysteria2、WireGuard 的字段含义并不相同。不能只把 Type 改成 Trojan,就继续使用原协议的认证资料。订阅若解析成意外协议类型,应核对原始资料和导入方式,而不是凭端口号判断协议。

5. 连接失败按阶段排查:网络、TLS、认证、分流

Home 中的延迟结果只能反映该测试方法覆盖的链路。出现数值,不必然证明目标网页能完整打开;显示超时,也不能单凭这一项断言密码错误。应结合连接日志、实际访问和更换网络后的结果判断。下表描述的是排查线索,不是所有失败的唯一原因。

观察到的现象 优先核对 下一步操作
服务器域名解析失败 Address 拼写与当前网络的 DNS 可用性 确认普通网络可用,再核对地址;不要擅自替换成不明 IP
连接超时或被拒绝 端口、服务端监听状态、当前网络可达性 保持相同参数,切换 Wi-Fi 与蜂窝作对照,再联系服务商确认端口
TLS 握手或证书验证失败 SNI、证书有效期、信任链、系统时间 校正服务名和设备时间,由服务商处理过期证书或不完整证书链
连接很快关闭,无法转发请求 Password、账号状态及额外传输参数 重新核对认证资料,并请服务商结合服务端日志判断
部分网站可用,部分网站失败 Global Routing、规则命中、DNS 与目标站点状态 先做短时 Proxy 对照,再恢复原设置检查 Config

设备时间明显错误会影响证书有效期判断。iPhone / iPad 可在系统 Settings → General → Date & Time 检查 Set Automatically;这是系统设置,不是 Shadowrocket 内部菜单。时间校正后重新建立连接,不要通过忽略证书错误掩盖原因。

结论:同参数换网络,比同时换字段更有诊断价值

如果同一节点在蜂窝网络可用、在某个 Wi-Fi 下不可用,先调查该网络的解析和连接限制;此时反复改 Password 或 SNI 会破坏有效的对照条件。

6. 节点可用后,再检查 Global Routing 与 Config

节点配置定义“如何连接代理服务器”,Global Routing 与 Config 决定“哪些请求使用它”。短时选择 Proxy 可以帮助排除规则造成的绕行,但它不是长期配置的统一答案。完成对照后应恢复原来的使用姿态,并在实际请求中核对结果。

检查 Config 时,DOMAIN-SUFFIX 匹配域名后缀,IP-CIDR 匹配 IP 网段,GEOIP 按 IP 地理分类处理,FINAL 作为兜底规则。规则自上而下匹配;某个请求已被前面的 DIRECT 规则接走,后面选择了可用代理也不会改变该次命中。修改前应备份配置,且不要把零散示例直接覆盖整份文件。

Settings → On Demand 主要处理满足条件时的自动连接行为,不负责修复 Trojan 密码、证书或服务器端口。手动连接已经失败时,先解决节点本身;手动可用而自动连接不符合预期时,再单独检查 On Demand 条件。

7. Trojan 参数常见问题

Address 和 SNI 能填成同一个域名吗?

可以,但前提是服务商资料明确如此,且证书对该名称有效。若 Address 是 IP、SNI 是域名,应保留这种区别;不要为了“统一”而把两项改成一样。

端口填 443,为什么还是超时?

443 并不自动代表可用。先核对服务商是否确实在该端口提供 Trojan,再保持参数不变切换网络。若日志停在建立连接之前,优先查地址和端口可达性,而不是修改证书选项。

证书报错,能不能先关掉校验?

应先修正 SNI、系统时间和证书链。关闭校验会失去对服务器身份的重要验证,连接成功也不能证明配置安全或正确;服务端证书问题应由服务商处理。

订阅更新后密码变了,要保留旧密码吗?

先向服务商核对最新认证资料。若凭据已经轮换,旧密码可能不再有效;若更新内容有误,应修正订阅源。不要同时保留多个同名条目后凭位置猜测使用哪一个。

连接开关已打开,为什么网页仍打不开?

开关状态说明隧道已经启用,不代表上游节点已完成转发。先在 Home 确认节点选择,再短时用 Global Routing → Proxy 对照;若仍失败,回到网络、TLS 与认证顺序检查。

下载 Shadowrocket