填写 Trojan 时,应先核对 Type、Address、Port 和 Password,再按已有配置填写 SNI,通常保持 Allow Insecure 关闭。本文适合已经持有自己的服务商参数或订阅的用户,按“建立连接 → 校验证书 → 协议认证 → 检查路由”的顺序说明字段与排障方法;示例值只用于解释格式,不能用于连接。
Trojan 连接先经过 TLS,再进行认证
Shadowrocket(小火箭)中的 Trojan 是一种代理协议类型,不是一个只需填写密码就能使用的服务。客户端需要知道连接哪台服务器、使用哪个端口,以及服务端接受的 Password。购买客户端与取得连接服务是不同事项;本文以用户已有自己的服务商与订阅为前提,本站不提供、不销售、不推荐节点或订阅。
一次典型的 Trojan 连接,先与目标地址建立底层连接,再进行 TLS 握手。TLS 阶段涉及服务器证书与名称校验;通道建立后,客户端再发送 Trojan 协议认证信息及目标请求。因此,Password 正确不能修复证书名称不匹配,修改 SNI 也不能修复错误的 Password。
- 连接目标:Address 和 Port 决定实际连接的服务器入口。域名地址通常还需要先完成 DNS 解析。
- TLS 握手:SNI 用于在握手中指明服务器名称;客户端还要按配置验证证书链及证书中的名称。
- Trojan 认证:Password 必须与服务端接受的凭据一致,不能用订阅链接的 token 或其他协议字段代替。
- 转发请求:认证成功后,实际请求是否走这个节点,还受 Global Routing、当前配置及策略选择影响。
这四步是排错顺序,不是四个独立开关。应先解决前一阶段的问题,再判断后一阶段。单次延迟测试有结果,只能说明该测试覆盖的环节有响应,不能据此断定证书、认证和所有目标请求都正常。
Add Server:按字段逐项填写
手动添加时,从 Home 右上角“+”进入 Add Server,将 Type 设为 Trojan。不要因为端口同样是 443 就选择其他 Type;端口号不能用于判断协议。下面的步骤适用于已有一组完整 Trojan 参数的情况,字段显示应以应用内当前界面为准。
-
进入添加页
打开 Home → 右上角“+” → Add Server,在 Type 中选择 Trojan。若编辑已有条目,先记录原值,避免覆盖仍可用的配置。
-
填写入口
将已有参数中的服务器主机名填入 Address,将端口数字单独填入 Port。例如 Address 为
edge.example.com,Port 为443;不要把二者合并成一个地址。 -
填写凭据
将 Trojan 的 Password 完整复制到对应字段,检查大小写及首尾空格。不要附加字段名、引号或换行,也不要填入订阅地址。
-
核对 TLS
按已有参数填写 SNI,并核对 Allow Insecure。若参数明确给出 SNI,应原样使用;不要自行填写常见网站域名。正常证书配置保持 Allow Insecure 关闭。
-
保存并测试
保存后返回 Home,选中刚添加的条目,核对 Global Routing,再开启连接。首次连接如出现系统 VPN 配置授权提示,按系统提示确认,然后测试实际请求。
Address 中只填写主机名或 IP 地址,不带 https://、路径或查询参数。Port 必须与已有服务端参数一致:443 是常见示例,但 8443 等其他端口也可能用于 TLS 服务,不能擅自改成 443。若提供的参数包含传输层或其他高级选项,也必须逐项对应,不能仅凭四个基础字段推断完整配置。
Password 与 SNI:两类不能互换的参数
Password 是 Trojan 认证凭据,SNI 是 TLS 阶段使用的服务器名称。它们的格式与用途不同。Trojan 的 Password 不要求采用 UUID 格式;即使某组凭据外观看起来像 UUID,也应将它作为完整密码处理,不要按 VMess 或 VLESS 的字段习惯拆分或改写。
连接与认证示例
- Type
- Trojan
- Address
edge.example.com- Port
443- Password
DemoOnly-7qK9-p4
以上为演示值,不对应可用服务;Password 应替换为用户已有的完整凭据。
TLS 名称示例
- SNI
tls.example.com- 证书名称
- 应覆盖
tls.example.com - Allow Insecure
- 关闭
- 名称格式
- 主机名,不带协议、路径或端口
SNI 可以与 Address 不同,但必须符合已有服务端部署与证书配置,不能任意指定。
Address 回答“连接到哪里”,SNI 回答“TLS 握手请求哪个服务器名称”。同一入口可能承载多个 TLS 服务,因此这两个字段并不一定相同。但这不意味着可以任意更换 SNI:服务端需要识别该名称,返回的证书也应与客户端预期名称相符。
当 Address 是 IP 地址时,尤其需要核对服务端提供的 SNI。仅把域名替换成 IP,可能绕过了原先的地址解析,却同时改变了默认使用的服务器名称,导致证书校验失败。若已有参数没有说明 SNI,不应靠猜测补齐;应先确认服务端证书覆盖的名称及原配置中的 TLS 设置。
Allow Insecure:区分校验与加密
Allow Insecure 控制的是 TLS 证书验证行为,不是“是否启用 TLS”。开启后,连接仍可能使用 TLS 加密,但客户端不再按正常方式验证服务器证书,不能据此确认对端身份。它也不会补齐错误的 Address、端口或 Password,因此不应作为连接失败后的通用修复按钮。
Allow Insecure 关闭
推荐保留证书验证。若证书过期、名称不匹配或信任链存在问题,连接应先排查证书与 SNI,而不是绕过检查。
适合:证书有效、名称匹配的日常连接配置。
Allow Insecure 开启
放宽证书验证,不能将 TLS 加密等同于已核实服务器身份。即使连接恢复,也只提示证书验证环节值得检查,不代表配置已经正确。
适合:明确了解证书问题的受控临时诊断,不作为长期修复方案。
如果关闭时失败、开启后成功,应重新关闭该项,并核对设备日期与时间、SNI 拼写、证书有效期和服务端是否发送完整证书链。设备时间明显错误也可能影响证书有效期判断。长期处理应落在修正参数或服务端证书配置上,而不是一直忽略校验。
手动参数与订阅:分别核对配置来源
手动条目与订阅导入的条目,都需要匹配服务端的真实参数。区别在于谁维护这些字段。用户已有订阅时,更新可以带回服务端调整后的地址、端口或凭据;手动条目则需要自行同步变更。订阅内容是否包含 SNI、传输层等字段,要检查导入后的实际条目,不能只凭显示名称判断。
两种参数来源的检查方法
手动填写
- 从 Home → “+” → Add Server 选择 Type 为 Trojan。
- 逐项核对 Address、Port、Password、SNI。
- 服务端参数变更后,同步修改本地条目。
- 排障前记录原值,每次只修改一项。
已有订阅
- 从 Home → “+” → Type 选择 Subscribe,填写自己的订阅链接并保存。
- 回到 Home 下拉刷新,检查订阅是否成功取得条目。
- 打开目标条目,核对导入的 Type 与 TLS 参数。
- 本地修改可能被后续更新覆盖,应保留必要的排障记录。
订阅获取成功不等于 Trojan 连接成功;两者需要分别测试,本站不提供订阅内容。
另一类常见混淆是把 Home 中的服务器条目与 Config 中的分流配置当成同一件事。前者描述如何连接代理入口,后者决定请求采用什么策略。Global Routing 选择 Config 时,请求按当前启用配置处理;若命中 DIRECT,即使选中了 Trojan 条目,该请求也不会通过它转发。
- Proxy:用于临时排除 Config 规则的影响,测试后恢复原有路由姿态;仍需确认当前实际选中的代理目标。
- Direct:请求采用直连姿态,不能用这种状态下的网页打开结果证明 Trojan 参数有效。
- Config:按启用的配置和规则处理请求,应同时检查命中规则及对应策略目标。
例如,在 Config 姿态下,DOMAIN-SUFFIX,example.com,DIRECT 会把该域名及其子域名交给 DIRECT。此时应检查规则命中,而不是反复修改 Trojan 的 Password。规则问题与协议连接问题应分开定位。
连接失败:按现象缩小检查范围
先保留可复现条件:记录使用的网络、当前选中条目、Global Routing、是否启用 Allow Insecure,以及失败发生在订阅获取还是实际请求阶段。随后每次只修改一个变量。下面列的是条件判断,不是对某个服务的实测结论;具体报错文字以应用内显示为准。
一直超时,是 Password 填错了吗?
不能只凭超时下结论。先回到 Home 编辑条目,核对 Address 和 Port,再在同一组参数下切换 Wi-Fi 与蜂窝网络复测。若底层连接尚未建立,就还没有进入可判断 Password 的认证阶段;不要同时修改端口、SNI 和密码。
提示证书问题,应该改哪个字段?
先核对设备日期与时间,再检查条目的 SNI 是否与已有参数一致,是否误填了 https:// 或端口。若名称正确仍报错,应核查服务端证书有效期与证书链,不要把开启 Allow Insecure 当作最终处理。
有延迟数字,为什么网页仍打不开?
延迟测试不等于完整目标请求成功。先确认 Home 选中了目标 Trojan 条目,再查看 Global Routing 是否为 Direct;若使用 Config,检查请求命中的策略。需要隔离规则影响时,可临时使用 Proxy 测试,完成后恢复原设置。
刚改好的参数,更新订阅后又变了?
打开更新后的条目,逐项对照 Address、Port、Password 和 SNI。订阅更新可能重新写入来源中的字段;应先确认订阅提供的配置是否已修正,而不是反复在同一条目上做没有记录的修改。
关掉连接后,怎么又自动连上了?
到 Settings → On Demand 检查是否启用了按需连接,再核对系统中的 VPN 状态。自动重新连接属于连接触发行为,不是 Trojan 认证成功的证据;排障时应保持连接触发条件一致,避免把自动重连误判为参数生效。
最终核验应同时满足三项:目标条目的字段与已有参数一致、TLS 证书验证通过、预期走代理的实际请求能完成。若只有某一网站失败,还需区分目标站点、DNS 与分流规则的问题;不要仅因单个目标失败就重写所有节点字段。有关 DNS 与连接触发的说明,可分别查看 DNS 设置和 On Demand 设置。