Home / 其他 / Trojan节点搭建教程和v2rayN客户端配置Trojan教程
简介:
Trojan模仿最常见的跨墙协议HTTPS,欺骗 GFW 认为它是HTTPS。
也就是需要ssl证书,以及一个域名。
阅读本文需要有亿点点计算器基础的同学,如果你是新手纯小白,不明白什么是域名解析,什么是ssl证书,什么是linux,那么本文可能不适合你阅读。
你需要了解的:
当前版本v 1.16.0 版本发布时间于2020 年 6 月 11 日
https://github.com/trojan-gfw/trojan/releases
意味这Trojan目前可能暂时处于无人维护状态,或者Trojan已经没有更新的必要了!
本文中使用Debian 11系统演示。
准备工作:
一台海外vps;
域名解析到你的服务器ip;
直接开始:
申请ssl证书
apt install curl
bash <(curl -s -L git.io/dmSSL)
证书签发成功,证书文件保存在/home/ssl/xxxxx(记住需要用到)
下载和配置Trojan
wget https://www.webqwe.com/static/upload/2023/12/18/34307/trojan.zip
unzip trojan.zip
cd trojan/
vi config.json
配置示例和参数说明
{
"run_type": "server",
"local_addr": "0.0.0.0",
"local_port": 443,
"remote_addr": "127.0.0.1",
"remote_port": 80,
"password": [
"password1",
"password2"
],
"log_level": 1,
"ssl": {
"cert": "/home/ssl/xxxxx/1.pem", #这里注意按照自己生成证书的位置填写
"key": "/home/ssl/xxxxx/1.key", #这里注意按照自己生成证书的位置填写
"key_password": "",
"cipher": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384",
"cipher_tls13": "TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384",
"prefer_server_cipher": true,
"alpn": [
"http/1.1"
],
"alpn_port_override": {
"h2": 81
},
"reuse_session": true,
"session_ticket": false,
"session_timeout": 600,
"plain_http_response": "",
"curves": "",
"dhparam": ""
},
"tcp": {
"prefer_ipv4": false,
"no_delay": true,
"keep_alive": true,
"reuse_port": false,
"fast_open": false,
"fast_open_qlen": 20
},
"mysql": {
"enabled": false,
"server_addr": "127.0.0.1",
"server_port": 3306,
"database": "trojan",
"username": "trojan",
"password": "",
"key": "",
"cert": "",
"ca": ""
}
}
参数说明:
run_type: 运行为server
local_addr:服务器将绑定到指定接口。如果您知道自己在做什么,请随意将其更改为 :: 或其他地址。
local_port:服务器会绑定该端口
remote_addr:服务器遇到其他协议时将连接的端点地址其他协议
remote_port:服务器遇到其他协议时将连接的端点端口其他协议
password:用于验证的密码数组
log_level:要转储多少日志。 0:全部; 1:信息; 2:警告; 3:错误; 4:致命; 5:关闭。
ssl:SSL具体配置
cert:服务器证书强烈建议由 CA 签名。这里最好使用全链证书,而不是单独的证书。
key:用于加密的私钥文件
key_password:私钥文件的密码
cipher:要使用的密码列表
cipher_tls13:供 TLS 1.3 使用的密码列表
prefer_server_cipher:是否在连接中首选服务器密码列表
alpn:要回复的ALPN协议列表
alpn_port_override:如果匹配 ALPN,则将远程端口覆盖为指定值。对于在不同端口上使用 HTTP/1.1 和 HTTP/2 Cleartext 运行 NGINX 非常有用。
reuse_session:是否重用SSL会话
session_ticket:是否使用会话票证进行会话恢复
session_timeout:如果 reuse_session 设置为 true,请指定 SSL 会话超时
plain_http_response:使用此文件响应纯 http 请求(原始 TCP)
curves:ECC要使用的曲线
dhparam:如果留空,将使用默认(RFC 3526)dhparam,否则将使用指定的dhparam文件
tcp:TCP具体配置
prefer_ipv4:当域同时存在 IPv6 和 IPv4 地址时是否连接到 IPv4 地址
no_delay:是否禁用Nagle算法
keep_alive:是否启用TCP Keep Alive
reuse_port:是否启用TCP端口复用(需内核支持)
fast_open:是否启用TCP Fast Open(需内核支持)
fast_open_qlen:服务器对尚未完成三向握手的TFO请求队列大小的限制
运行
chmod 0777 ./trojan
nohup ./trojan &
检查日志无误,接下来配置客户端
v2rayN添加Trojan节点
手动输入信息:
供参考
成功使用:
有问题欢迎留言~