前言
Trojan-goTrojan-Go是使用Go语言实现的完整的Trojan代理,和Trojan协议以及原版的配置文件格式兼容。支持并且兼容Trojan-GFW版本的绝大多数功能,并扩展了更多的实用功能。
Trojan-Go的的首要目标是保障传输安全性和隐蔽性。在此前提下,尽可能提升传输性能和易用性。
Trojan-Go官方文档,可以详细阅读,了解trojan的原理。
Trojan-Go和V2ray + WS + TLS一样是目前比较稳定的科学上网方式,shadowsocks已经能被墙识别,搬瓦工秒被封端口。
安装Trojan-Go
申请TLS证书
1
|
certbot certonly --standalone -d trojan.eebond.xyz
|
如果当前有nginx正在运行,先关闭nginx。
查看证书是否安装成功
证书安装路径
1
2
|
Certificate Path: /etc/letsencrypt/live/trojan.eebond.xyz/fullchain.pem
Private Key Path: /etc/letsencrypt/live/trojan.eebond.xyz/privkey.pem
|
安装配置Nginx
网站配置文件
1
|
vim /etc/nginx/conf.d/trojan.conf
|
文件内容
1
2
3
4
5
6
7
8
9
10
|
server {
listen 1239;
root /srv/www/blog;
}
server {
listen 1001;
root /srv/www/blog;
}
|
安装配置trojan-go
下载安装trojan-go
在 https://github.com/p4gefau1t/trojan-go/releases 查看下载链接,下载解压至 /usr/local/trojan-go目录
1
|
wget https://github.com/p4gefau1t/trojan-go/releases/download/v0.10.6/trojan-go-linux-amd64.zip
|
配置trojan-go
将example目录下的 server.json 复制到/usr/local/trojan-go目录,修改为如下内容
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
|
{
"run_type": "server",
"local_addr": "0.0.0.0",
"local_port": 447,
"remote_addr": "127.0.0.1",
"remote_port": 1001,
"password": [
"5f45307f-a867-05de-3913-ff539f92325f"
],
"ssl": {
"verify": true,
"verify_hostname": true,
"cert": "/etc/letsencrypt/live/trojan.eebond.xyz/fullchain.pem",
"key": "/etc/letsencrypt/live/trojan.eebond.xyz/privkey.pem",
"sni": "trojan.eebond.xyz",
"fallback_addr": "127.0.0.1",
"fallback_port": 1239
},
"router": {
"enabled": true,
"block": [
"geoip:private"
],
"geoip": "/usr/local/trojan-go/geoip.dat",
"geosite": "/usr/local/trojan-go/geosite.dat"
}
}
|
创建systemctl启动文件
1.复制启动文件至系统服务目录
1
|
cp /usr/local/trojan-go/example/trojan-go.service /usr/lib/systemd/system/
|
2.修改启动文件,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
[Unit]
Description=Trojan-Go - An unidentifiable mechanism that helps you bypass GFW
Documentation=https://p4gefau1t.github.io/trojan-go/
After=network.target nss-lookup.target
[Service]
User=root
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
NoNewPrivileges=true
ExecStart=/usr/local/trojan-go/trojan-go -config /usr/local/trojan-go/server.json
Restart=on-failure
RestartSec=10s
LimitNOFILE=infinity
[Install]
WantedBy=multi-user.target
|
注意修改User和ExecStart,否则无法自启动
3.启动服务&设置开机启动
1
2
3
|
systemctl daemon-reload
systemctl start trojan-go
systemctl enable trojan-go
|
之后就可以在客户端快乐的使用了!