使用一键脚本搭建trojan服务

最近vpn的端口经常被封,之前了解过v2ray的WebSocket+TLS+Web技术是目前最稳妥的方案,但是受限于证书更新的问题,一直觉得麻烦。直到最近看到了trajan一键安装脚本,能够自动申请证书并续期,简直是神器。

trajan是什么

`Trojan不使用自定义的加密协议来隐藏自身。相反,使用特征明显的TLS协议(TLS/SSL),使得流量看起来与正常的HTTPS网站相同。TLS是一个成熟的加密体系,HTTPS即使用TLS承载HTTP流量。使用正确配置的加密TLS隧道,可以保证传输的

  • 保密性(GFW无法得知传输的内容)
  • 完整性(一旦GFW试图篡改传输的密文,通讯双方都会发现)
  • 不可抵赖(GFW无法伪造身份冒充服务端或者客户端)
  • 前向安全(即使密钥泄露,GFW也无法解密先前的加密流量)

对于被动检测,Trojan协议的流量与HTTPS流量的特征和行为完全一致。而HTTPS流量占据了目前互联网流量的一半以上,且TLS握手成功后流量均为密文,几乎不存在可行方法从其中分辨出Trojan协议流量。

从官方的描述看,就是不带反响代理的v2ray+WebSocket+TLS+Web。

trojan官方github

服务搭建过程

准备一个域名

你要有一个域名,并且把A记录解析到你要搭建的服务器上

准备安装

更新服务器系统及脚本所依赖的安装包,参考如下命令更新服务器、安装 wget 和 curl 包。

CentOS

1
yum update -y && yum install wget -y && yum install curl -y

Debian / Ubuntu

1
apt-get update -y && apt-get install wget -y && apt-get install curl -y

如果是一台新的服务器,更新过程会有点久,等待更新完服务器后,然后就可以参照下面的步骤开始安装 atrandys Trojan 一键脚本了。

一键脚本安装教程

运行以上命令需要root权限,所以需要切换到root账户下,也可以使用sudo命令

1
curl -O https://raw.githubusercontent.com/atrandys/trojan/master/trojan_mult.sh && chmod +x trojan_mult.sh && ./trojan_mult.sh

该脚本会自动下载trojan_mult.sh到你当前目录,如果安装失败,可以手动执行sh ./trojan_mult.sh即可在此执行。

trojan配置

一键脚本安装后,默认会安装到/usr/src/目录下,一共有3个文件夹

  • trojan 配置文件和可执行文件
  • trojan-cert https证书
  • trojan-cli 命令行工具

配置文件trojan/server.conf

注意trojan目录下有两个conf文件,trojan/config.conf是默认配置文件,修改也不会生效。

配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{
"run_type": "server",
"local_addr": "0.0.0.0",
"local_port": 443, #端口号,如果443被封,可以改这里
"remote_addr": "127.0.0.1",
"remote_port": 80,
"password": [
"password" #这里是密码,可以是多个,不同人用不同密码,控制访问
],
"log_level": 1,
"ssl": {
"cert": "/usr/src/trojan-cert/net56.diyboo.com/fullchain.cer",
"key": "/usr/src/trojan-cert/net56.diyboo.com/private.key",
"key_password": "",
"cipher_tls13":"TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384",
"prefer_server_cipher": true,
"alpn": [
"http/1.1"
],
"reuse_session": true,
"session_ticket": false,
"session_timeout": 600,
"plain_http_response": "",
"curves": "",
"dhparam": ""
},
"tcp": {
"no_delay": true,
"keep_alive": true,
"fast_open": false,
"fast_open_qlen": 20
},
"mysql": {
"enabled": false,
"server_addr": "127.0.0.1",
"server_port": 3306,
"database": "trojan",
"username": "trojan",
"password": ""
}
}

修改默认443端口

我的vps默认443被封了,我看网上说443端口很容易被封: 443突然嗝屁,请问有更换端口的办法吗?
只需要按照我上面配置文件说明修改端口号,并保存
执行一下命令:

1
trojan restart 

总结

trojan相比v2ray配置很简单,安装就更简单了,并且安全可靠,能够稳定用一段时间

参考:

trojan官方github

TROJAN 中文网

BBR开启脚本