本文速览

在 Shadowrocket(小火箭)中填写 Trojan,应先核对服务商提供的 Address、Port、Password 与 SNI,再检查 TLS 证书验证和传输设置。本文适合已有服务商参数、需要手动添加或修正服务器条目的用户;按顺序操作,可以区分地址错误、认证失败、证书错误与规则分流问题,不必靠反复切换选项试错。

Trojan 与 TLS:先分清连接和认证

Trojan 通常在 TLS 连接内传送代理请求。建立连接时,客户端先连接服务器地址与端口,再完成 TLS 握手及证书验证,随后使用 Password 进行 Trojan 认证。TLS 证书验证与 Password 认证是两个环节:密码正确,不能弥补证书名称不匹配;证书有效,也不代表密码一定正确。

手动配置以你已有的服务器参数为准。订阅链接从你的服务商处获取;已有订阅时,优先检查订阅导入后的条目,而不是凭节点名称猜测协议。名称中出现“TLS”或“443”,并不能单独证明 Type 应选择 Trojan。

443
常见 TLS 服务端口,不是 Trojan 必填的固定端口
1–65535
Port 可填写的端口范围,实际值由服务端配置决定
4 项
优先核对 Address、Port、Password、SNI

Add Server:按顺序填写服务器

添加前准备好完整参数,包括服务端要求的传输方式。下面以手动添加为例;不同界面语言下的说明可能不同,本文保留英文界面词。若服务商给的是订阅链接,应按 Subscribe 流程导入,不要将整个链接填进 Address。

  1. 打开添加页

    进入 Home,点击右上角“+”打开 Add Server,在 Type 中选择 Trojan。先确定 Type,再填写对应字段,避免把其他协议的认证参数填入此表单。

  2. 填写连接目标

    在 Address 填入服务商提供的主机名或 IP,在 Port 填入对应端口。例如 Address 为 edge.example.com、Port 为 443;这只是格式示意,不是可连接服务。

  3. 填写认证信息

    把 Trojan 密码原样填入 Password,核对大小写、符号与首尾空格。不要把订阅地址中的 token、备注名或网站登录密码当作 Trojan 密码。

  4. 核对 TLS

    按服务商给出的值设置 SNI,并保持 Allow Insecure 关闭。若同时提供传输相关字段,也要逐项核对,不能因为端口是 443 就省略这些设置。

  5. 保存并测试

    使用页面保存操作返回 Home,选中新条目,再启用连接。先测试连接和一个已知可访问的页面,确认后再检查日常 Config 分流效果。

Address、Port、Password 与 SNI 的填写边界

Address 决定连接到哪里,SNI 用于 TLS 握手中声明服务器名称。二者经常相同,但并非必须相同。尤其当 Address 是 IP 时,不应直接认定 SNI 也要填这个 IP;应使用服务商明确给出的证书名称及相关参数。

字段 填写内容 常见错误
Address 服务器主机名或 IP,例如 edge.example.com 包含 https://、路径、查询参数,或粘贴了整个分享链接
Port 服务端实际监听端口,例如 443 或服务商指定的其他值 仅因使用 TLS 就自行改成 443,或填入全角数字
Password Trojan 认证密码,按原始值填写 混入换行、误删符号,或把其他协议的认证值当作密码
SNI 服务商提供的 TLS 服务器名称,例如 tls.example.com 填写 URL、端口、路径,或改成与证书无关的域名

SNI 不是用来随意替换目标网站名称的字段,也不等同于 HTTP Host。若使用 WebSocket 等传输,Host、Path 与 SNI 分属不同层次;即便它们看起来都是域名或路径,也应分别按参数表填写。基础 Trojan 配置不意味着一定需要 WebSocket,不要自行开启额外传输。

判断顺序:先核对字段,再改连接方式

Address 为 IP、SNI 为域名可以是正常配置。遇到证书错误时,先核对 SNI、设备时间和服务端证书,不要先把 Address 改成一个猜测的域名。

Allow Insecure:保持证书验证开启

Allow Insecure 影响 TLS 证书验证,不负责修正密码、端口或网络连通性。关闭该选项时,客户端会验证服务端证书;开启后会跳过相关验证,削弱对服务器身份的确认。它不是加速选项,也不是所有连接失败的通用修复方法。

Allow Insecure 关闭

推荐

保留 TLS 证书验证。若出现证书错误,应检查证书有效期、信任链、名称匹配及设备时间,并让服务商确认服务端配置。

适合:日常使用、已具备有效证书的 Trojan 连接

Allow Insecure 开启

跳过证书验证相关检查,无法据此确认连接到了预期服务器。即使连接随后成功,也只说明验证环节值得检查,不代表问题已经正确修复。

适合:理解风险后,在受控环境中短时定位证书验证问题

如果开启后可连接、关闭后失败,应恢复关闭状态,并将具体证书错误反馈给服务商。排查时不发送完整 Password 或订阅链接;只需提供错误文字、发生时间和已脱敏的字段信息。

已保存但不能访问:分层检查连接

保存成功仅表示表单被接受,不表示远端可用。排查时每次只改一项并记录结果;不要同时更换端口、密码、SNI 和 Global Routing,否则即使恢复连接,也无法判断是哪一步起作用。

Config 按当前配置与策略处理流量,仍需检查规则实际指向的策略,而不是只看 Home 中选中的条目。Scene 则与所选场景设置有关,不能当作 Proxy 的另一个名称。排障期间先明确当前使用的模式,避免把策略选择问题误判为 Trojan 字段错误。

手动填写 Trojan 的常见问题

服务商只给了一个链接,要逐段拆开填吗?

先区分订阅链接与单个服务器分享链接。订阅链接从你的服务商处获取,在 Home → “+” → Type → Subscribe 中按订阅流程添加。不要将订阅 URL 填入 Trojan 的 Address,也不要把链接里的 token 当成 Password。

SNI 没给,能随便填一个域名吗?

不能。先检查原始参数是否包含服务器名称说明;若未明确提供,向服务商确认是否使用 Address 对应名称,以及证书验证所需的名称。不要用常见网站域名试填,也不要以开启 Allow Insecure 代替确认。

改完订阅里的条目,更新后又变回去了?

订阅更新可能重新写入服务商下发的参数。先核对订阅源中的值是否有误;需要做对照排查时,可另外手动建立一个独立条目,保留原订阅条目,避免把本地临时修改误当作服务端已修复。

买了 Shadowrocket,为什么还要填密码?

客户端买断 ≠ 线路套餐。Password 是你已有服务商的 Trojan 认证信息,不是 App Store 购买凭据。Shadowrocket 是闭源商业应用,通过 App Store 一次性买断;服务器使用权限与客户端购买分别管理。

最后核对一次:Type 为 Trojan,Address 没有协议前缀与路径,Port 与服务端一致,Password 保持原样,SNI 与服务商要求相符,Allow Insecure 保持关闭。完成这些检查后,再回到 Config 处理规则和策略,能减少反复改动无关选项。