填写 Trojan 时,先区分连接地址、认证密码与 TLS 服务器名称,再保持证书校验开启。本文适合已经持有自己服务商资料的用户:按字段核对 Add Server,理解 Address 与 Peer/SNI 为什么可能不同,并按连接阶段排查超时、证书错误和认证失败。
Trojan 与 TLS:先加密连接,再验证凭据
Shadowrocket(小火箭)里的 Trojan 是一种代理协议选项。常见的 Trojan 连接先与服务器建立 TLS 连接,再在加密通道内发送认证信息和代理请求。TLS 负责传输加密及服务器身份验证,Password 则用于 Trojan 服务端认证;这两个环节不能互相替代。
网站使用 HTTPS,不等于服务器就能接受 Trojan。已有资料必须明确给出 Trojan 类型、实际监听地址、端口和密码。仅凭一个可以在浏览器打开的域名,不能推导出这些配置。本文中的示例只用于解释字段,不是可连接的服务资料。
选择 Type → Trojan 后,还要核对已有资料是否要求特定传输设置。若资料包含 WebSocket 等额外参数,应按实际字段逐项对应;不要把一份带额外传输要求的资料当成仅有地址、端口和密码的基础配置。
Add Server 字段:Address 不等于 SNI
Address 决定连接到哪里,Port 决定连接该地址上的哪个服务。Peer/SNI 则与 TLS 中的服务器名称有关。在 Shadowrocket 中,相关输入项可能显示为 Peer;资料里常写作 SNI 或 server name,应以当前界面和服务商说明对应核对。
| 字段 | 应填写的内容 | 常见误区 |
|---|---|---|
| Type | 选择 Trojan。 | 其他协议的凭据不能直接当作 Trojan 参数。 |
| Address | 已有资料中的服务器域名或 IP。 | 填入整条分享链接,或附带 https:// 与路径。 |
| Port | 服务端实际监听端口,例如资料明确指定的 443。 | 看到 TLS 就自行改成 443。 |
| Password | 服务商提供的 Trojan 认证密码。 | 误填账户登录密码、UUID,或复制时带入空格。 |
| Peer / SNI | 资料指定的 TLS 服务器名称,例如 tls.example.com。 | 填入 URL、端口,或随意换成一个常见网站域名。 |
| Allow Insecure | 通常保持关闭,以执行正常证书校验。 | 把跳过校验当作修复证书错误的常规办法。 |
例如,资料允许 Address 使用 192.0.2.10,并明确要求 Peer 为 tls.example.com,两者不同并不必然是错误:前者指定连接目标,后者指定 TLS 名称。这里的 IP 是文档示例地址,不能用于实际连接;实际填写必须来自自己的完整配置。
手动添加 Trojan:按顺序核对五步
先保存当前可用配置及原始资料。若服务器来自已有订阅,建议先核对导入后的字段,不要直接覆盖原记录;后续订阅更新可能重新写入相关参数。需要排查时,可保留原记录,再手动建立一条用于核对的记录。
-
打开添加页
进入 Home → 右上角「+」,打开 Add Server,再在 Type 中选择 Trojan。确认当前编辑的是服务器记录,而不是 Config 中的规则文件。
-
填写地址端口
把已有资料里的主机名或 IP 填入 Address,把监听端口填入 Port。地址栏不附带协议前缀、路径或查询参数,端口单独填写。
-
核对认证密码
在 Password 填入完整密码,保留大小写和符号。手动填写时使用原始密码;若从分享链接复制,注意其中的转义内容不能简单当作原始值。
-
核对 TLS 名称
按资料填写 Peer/SNI,并保持 Allow Insecure 关闭。资料要求的传输方式及附加字段也一并核对;未明确给出的字段不要凭猜测补写。
-
保存并验证
保存后回到 Home,点选这条服务器记录,确认选中标记,再打开连接开关。首次连接按系统提示允许添加 VPN 配置,然后执行 Connectivity Test。
Connectivity Test 是一次连通性检查,不是对所有网站、所有规则或持续稳定性的保证。测试失败时先记录现象,再核对参数;测试成功后仍需访问实际目标,并确认该请求是否真的使用了这条 Trojan 连接。
Allow Insecure:区分加密与身份校验
Allow Insecure 的关键影响是放宽证书验证要求,不是把连接切换成明文。TLS 通道即使建立成功,若缺少可靠的证书校验,也不能据此确认对端身份。密码正确同样不能弥补服务器身份校验被跳过的问题。
Allow Insecure 关闭
推荐保留正常证书验证。出现证书错误时,核对 Peer/SNI、设备时间、证书有效期与服务端证书链,而不是直接忽略错误。
适合:日常连接,以及证书配置正确的服务
Allow Insecure 开启
放宽证书校验,会降低对服务器身份的确认能力。它不修复错误地址、错误端口或错误 Password,也不能作为长期连接正常的证据。
适合:理解风险且受控的临时证书问题定位,不作为日常配置
结论:修复名称与证书的对应关系
如果只有开启 Allow Insecure 才能连接,先恢复关闭状态,再把证书错误、预期 Peer/SNI 和发生时间交给自己的服务商核对;不要仅凭暂时能打开网页就结束排查。
证书报错也可能来自设备日期和时间不正确。先确认系统时间,再核对证书覆盖的域名。Address 填 IP 时尤其要确认资料是否另有 Peer/SNI;证书签给某个域名,并不自动意味着它也能通过该 IP 的身份校验。
连接失败:按网络、TLS、认证与规则分层排查
同一个“无法打开网页”现象可能发生在不同阶段。先确认本地网络能够正常联网,再观察连接日志中的错误类型。以下现象用于区分排查方向,不代表单凭一条提示就能确定唯一原因。
- 连接超时:先核对 Address 与 Port,再检查域名解析和网络可达性。超时本身不能证明 Password 错误;连接尚未建立时,认证可能还没有开始。
- 证书或 TLS 错误:核对 Peer/SNI、系统时间及服务端证书。端口如果指向了非预期服务,也可能导致握手失败。
- 连接后立即断开或认证失败:核对 Password 是否完整、服务是否仍然有效,以及传输参数是否匹配。不要仅因 TLS 已建立就判定所有参数正确。
- 测试通过但目标打不开:检查 Global Routing 和当前 Config 的匹配结果,再区分目标网站故障、DNS 问题与规则选择错误。
要临时排除规则影响,可在 Home → Global Routing 选择 Proxy,再验证同一目标;完成后恢复原有模式。Proxy 用于代理路由测试,Direct 直接连接,Config 按当前配置规则处理。Scene 则应结合实际配置的场景判断,不能把它当作固定等同于 Proxy 的选项。
若 Proxy 下正常、Config 下异常,优先检查当前规则中的 DOMAIN-SUFFIX、IP-CIDR、GEOIP 和 FINAL 的顺序及目标策略。修改规则不是修复 Trojan 密码的方法;两类问题应分开验证。
Password、SNI 与导入配置的常见问题
Password 要填服务商网站的登录密码吗?
只填写这条 Trojan 服务器资料中的认证密码。网站账户密码与代理认证密码不是同一概念。回到自己的资料页核对字段来源,不要用其他协议的 UUID 或密钥替换。
Address 已经是域名,Peer 还要填吗?
先看原始资料是否明确指定 SNI。指定了就按原值填写;未指定时不要随意编造。若出现证书名称错误,向自己的服务商确认期望的 TLS 名称,而不是尝试无关域名。
订阅导入后,为什么改好的 SNI 又变回去了?
更新订阅可能用订阅内容刷新服务器参数。先保留一份手动核对记录,再比较更新前后的 Peer/SNI 与传输字段;持续不一致时,应核对订阅原始配置,而不是反复覆盖同一字段。
连接开关已打开,就代表 Trojan 参数正确了吗?
不代表。系统连接状态表示本地 VPN 连接已启动,不等同于远端认证和目标访问均成功。在 Home 确认选中服务器,执行 Connectivity Test,再结合 Global Routing 和实际请求验证。
分享日志或配置截图前,隐藏 Password、完整订阅链接及其 token 等敏感内容。说明问题时保留错误原文、发生阶段和已核对的字段即可,不需要公开完整凭据。最终应以自己的服务资料、应用内实际字段和可复现的测试结果作判断。