适用于已经持有自己服务商所提供 Trojan 参数的用户。先区分连接地址、认证密码和 TLS 服务名,再按 Add Server 的字段完成配置,最后用连接结果区分网络、证书、认证与规则问题。操作路径以 iPhone / iPad 界面为例;Mac、Windows、安卓、Linux 上核对参数的原则相同,入口位置以对应平台界面为准。
1. Trojan 原理:先建立 TLS,再完成密码认证
Shadowrocket(小火箭)中的 Trojan 是一种代理协议。典型连接先向服务器地址与端口建立 TCP 连接,再完成 TLS 握手,在加密通道中发送认证信息和目标请求。TLS 用来保护传输并验证服务器身份,Trojan 密码用来验证用户是否有权使用服务,两者解决的问题不同。
因此,密码正确不代表 TLS 一定成功;TLS 成功也不代表账号仍然有效。地址无法解析、端口不可达、证书名称不匹配、密码错误,都可能表现为连接失败,但发生在不同阶段。排查时应沿着上述顺序定位,而不是同时更换所有参数。
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:手动填写与保存步骤
手动添加适合核对单个节点,也方便定位订阅解析后究竟是哪一项不一致。以下使用英文界面词描述,具体字段是否独立显示会因平台和所选传输方式不同而变化;只填写实际可见且有明确资料的选项。
- 打开 Home,点击右上角添加按钮,进入 Add Server。先把 Type 设为 Trojan,再核对界面显示的协议专属字段。
- 在 Address 中粘贴服务器主机名或 IP。删除复制时混入的空格、换行及协议前缀,不要把整条分享链接塞入地址栏。
- 在 Port 中填写指定端口。例如资料写 443 就填 443,不要因为超时自行改成 80;服务器未监听的端口不会因修改客户端而生效。
- 在 Password 中粘贴节点认证密码。检查首尾空格、字母大小写及符号,避免将订阅链接中的 token 当作密码。
- 核对 TLS 与 SNI。SNI 只填主机名;服务商若提供额外传输参数,应一并对照,不要沿用其他节点的设置。
- 保持证书校验启用,保存节点并返回 Home,明确选中刚保存的条目。首次连接时,按系统提示允许建立 VPN 配置。
测试前暂时不要改动 Config 中的规则。先证明单个节点在当前网络下能够完成连接,再验证规则是否把请求送到预期出口。这样可以避免把节点参数错误与规则命中问题混在一起。
4. 已有订阅导入后,仍要检查节点实际字段
服务商已提供订阅时,可以通过 Add Server 中的 Subscribe 类型导入,不必逐条重建。订阅负责批量分发节点资料,但不能保证其中的地址、证书或账号状态始终有效。导入成功只说明客户端取得并解析了内容,不等于每个节点都完成了连接测试。
- 订阅地址从你的服务商处获取,完整复制到订阅 URL 字段,不要删掉查询参数,也不要添加空格。
- 更新后展开对应分组,找到需要使用的 Trojan 条目,打开编辑界面核对 Type、Address、Port、Password 和 SNI。
- 若手动修正后的条目可以使用,而再次更新又恢复错误值,应让服务商修正订阅源;本地重复修改不能修复上游数据。
- 需要保留对照时,可另建一个手动测试条目并注明用途,确认结果后再清理,避免误选旧条目。
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 可以帮助排除规则造成的绕行,但它不是长期配置的统一答案。完成对照后应恢复原来的使用姿态,并在实际请求中核对结果。
- Proxy:用于整体代理路径的对照测试,仍需确认当前选中的是刚验证的节点。
- Direct:请求直接连接,访问成功不能用来证明 Trojan 参数正确。
- Config:按当前配置文件中的规则及策略处理请求,需要检查命中的规则和策略目标。
- Scene:按场景设置选择相应行为,排查时应核对当前场景,而不是把它理解为第四种代理协议。
检查 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 与认证顺序检查。