手头已有 Trojan 连接资料时,先核对 Address、Port 和 Password,再按服务端资料填写 SNI 与其他 TLS 参数。本文按手填、核对、排错的顺序说明;字段名称以当前应用内显示为准。
Trojan 连接先核对什么
Trojan 使用 TLS 建立连接。填写 Shadowrocket 的服务器条目时,Address 与 Port 决定连接发往哪里,Password 用于与服务端约定的身份信息匹配;SNI 则是 TLS 握手时使用的服务器名称。四项各司其职:即使 Address 和 Port 能连通,也不代表 Password 或证书名称已经填对。
先从自己已有的服务商资料中找出完整参数。不要仅凭协议名称猜测端口,也不要把订阅链接的地址当成服务器 Address:订阅链接用于取得配置,服务器 Address 指向实际连接目标。若资料只给出导入链接而没有逐项参数,应先按原资料导入,再在应用内查看生成的条目。
在 Add Server 中逐项填写
手填适用于已有明确服务器字段的情况。在 Shadowrocket 的 Home 打开右上角「+」进入 Add Server,选择 Type 为 Trojan,再对照自己的资料填写。不同应用界面可能调整字段排列;遇到折叠项时,展开与 TLS 相关的设置后继续核对,不要将未提供的参数自行补成猜测值。
确认资料
准备自己的 Trojan 服务器地址、端口、Password,以及资料中列出的 SNI、TLS 附加参数。先分清服务器资料与订阅链接。
选择 Type
在 Home →「+」→ Add Server 中,将 Type 设为 Trojan。不要因为资料提到 TLS,就把 Type 改成其他协议。
填写目标
将服务器主机名或 IP 填入 Address,将资料给出的数字填入 Port。例如资料写明 443 才填 443;端口不能由协议名称推断。
核对认证
将服务端提供的值完整填入 Password,注意大小写及复制时多出的空格。资料列有 SNI 时,再到相应 TLS 字段填写该名称。
保存测试
保存条目后返回 Home,选中刚添加的服务器并进行连接测试;若失败,按 Address、Port、Password、SNI 的顺序与原资料逐字比对。
示例域名 example.com 只能用于识别字段格式,不是可连接的服务器。真正填写时应使用自己资料中的原值;尤其不要把网页地址连同 https://、路径或查询参数一起粘贴到只要求主机名的 Address 或 SNI 字段。
Address、Port、Password 各自容易错在哪里
Address 表示网络连接目标,可以是资料指定的域名,也可以是资料指定的 IP;它不等同于 SNI。域名应按资料保留完整层级,例如 edge.example.com 与 example.com 是不同名称。若资料给出 IP 作为 Address,同时给出域名作为 SNI,这两个值应分别放入对应字段,而不是任选一个重复填写。
Port 是数字端口。443 常用于 TLS,但服务端可以采用其他端口。把订阅服务网页使用的端口、管理面板端口或示例中的 443 直接代入,都无法代替服务端实际配置。核对时连同 Address 一起看:同一域名的不同端口可能对应不同服务。
| 字段 | 应填内容 | 常见混淆 |
|---|---|---|
| Address | 服务器资料给出的主机名或 IP | 填成订阅链接或带路径的网页地址 |
| Port | 与该 Address 配套的端口数字 | 看见 Trojan 就自行改成 443 |
| Password | 该服务器条目对应的完整认证值 | 复制时遗漏字符或带入首尾空格 |
| SNI | 资料指定的 TLS 服务器名称 | 误当成 Password 或一律照抄 Address |
Password 应与服务端约定的值一致,大小写、符号和长度都要保留。复制后若连接失败,可先检查开头和结尾是否带入换行或空格,再核对是否把账户登录密码误当成 Trojan 的 Password。不要在公开截图或求助文字中展示完整 Password。
判断顺序:先定位连接目标
若 Address 或 Port 不对应当前服务器,修改 SNI 与 Password 也无法修复目标错误;先确认这两项确实来自同一条资料,再检查 TLS 和认证字段。
SNI 与 TLS 选项如何对应
SNI 是 TLS 握手中的服务器名称提示。它通常以域名形式出现,用来让服务端识别应使用的名称与证书;它不是访问网页时输入的完整 URL。若资料明确给出 SNI,按原值填写。若资料没有列出,不要从宣传名称或订阅域名猜测,应向自己的资料来源核对该条连接所需的设置。
证书核验关注连接对端提供的证书是否与预期名称等条件相符。出现证书名称不匹配或验证失败时,应先检查 SNI、设备时间及资料中指定的 TLS 设置,并确认服务端证书状态。直接跳过证书核验会失去原本的身份检查,不能把这种做法当作常规排错步骤。
- Address 为域名:先看资料是否另外指定 SNI;有指定就按指定值填,不要假定两者永远相同。
- Address 为 IP:如果资料另列 SNI 域名,IP 仍留在 Address,域名填在 SNI;不要为了让名称相同而改动连接目标。
- 资料包含其他 TLS 参数:仅在对应字段存在且资料明确给出时填写,例如 ALPN;不要将这些值放进 Password。
- 资料要求特殊传输设置:逐项核对该条配置的原始说明。协议 Type 选对,不代表其余参数已经自动匹配。
排错时一次只改一项,保存后重新测试,并记下修改前后的现象。若同时替换 Address、SNI 和 TLS 选项,即使后来连接成功,也难以确认原先是哪一项填错。
保存后无法使用,按现象检查
连接测试与实际流量路由是两件事。先在 Home 选中刚保存的 Trojan 条目,观察测试是否能到达服务器;再检查连接开关及 Global Routing。若 Global Routing 停在 Direct,应用会按直连姿态处理流量,不能仅凭服务器条目已经保存就判断它正在承载网页请求。Config 和 Scene 则需结合当前配置或场景设置核对实际去向。
填了 443 仍然连不上?
回到原始资料核对 Port。443 只是常见端口示例;同时检查 Address 有没有多出协议前缀、斜杠或空格。
提示 TLS 或证书错误?
逐字比对 SNI 与资料指定的域名,检查设备时间,并核对资料列出的 TLS 参数。若仍失败,应核实服务端证书状态。
测试通过,网页却没走这条连接?
先确认 Home 当前选中的是这条服务器,再查看 Global Routing 是否为 Direct;使用 Config 或 Scene 时,还要检查对应规则与场景。
订阅里已有同名条目,还要手填吗?
先查看订阅导入的条目是否已有完整参数。手填会新增独立条目;后续更新订阅时,应分清正在测试的是订阅条目还是手填条目。
如果已有订阅,更新后才出现连接异常,先确认自己选中的服务器条目是否发生变化,再比较更新前后可见的字段。订阅地址如 https://example.com/sub?token=xxxx 仅是格式示意,不应填进 Trojan 的 Address。订阅内容和手填条目分别核对,才能避免把导入问题误判成 TLS 问题。
核对完成后保留哪些记录
保留一份不含 Password 的字段核对记录即可:写下 Type 为 Trojan、Address 与 Port 的对应关系、SNI 是否由资料明确指定,以及测试时采用的 Global Routing 姿态。需要向资料提供方反馈时,描述“连接目标不可达”“TLS 名称不匹配”或“测试通过但路由为 Direct”等具体现象,比只说“不能用”更容易定位问题。
最后重新打开保存的条目,逐项核对 Address、Port、Password 和 SNI 是否仍与自己的资料一致。若服务端后来调整了端口、认证值或证书名称,应以更新后的资料重新填写;旧条目能显示在 Home,并不表示其字段仍与当前服务端一致。