安装 Trojan-Go 服务端

·433 Views·

Trojan 和 Trojan-go 的区别,可以参考官方说明

安装

去 Releases 页面下载对应的版本。

1cd ~
2wget <https://github.com/p4gefau1t/trojan-go/releases/download/v0.10.6/trojan-go-linux-amd64.zip>
3# 解压
4unzip trojan-go-linux-amd64.zip -d /etc/trojan-go
5# 进入到 trojan-go 目录
6cd /etc/trojan-go

配置 Trojan-Go

修改服务器配置文件

1cp /etc/trojan-go/example/server.json /etc/trojan-go
2vim server.json

编辑 server.json,可以根据你的需求,自行修改。

1{
2 "run_type": "server",
3 "local_addr": "0.0.0.0",
4 "local_port": 14443,
5 "remote_addr": "127.0.0.1",
6 "remote_port": 80,
7 "password": [
8 "d933afb4-7297-11ec-90d6-0242ac12000"
9 ],
10 "ssl": {
11 "cert": "/etc/nginx/ssl/tro-go.xingshuo.me.fullchain.cer",
12 "key": "/etc/nginx/ssl/tro-go.xingshuo.me.key",
13 },
14 "router": {
15 "enabled": true,
16 "block": [
17 "geoip:private"
18 ],
19 "geoip": "/etc/trojan-go/geoip.dat",
20 "geosite": "/etc/trojan-go/geosite.dat"
21 }
22}

配置 Nginx

1vim /etc/nginx/nginx.conf
2# 转发到特定域名
3stream {
4 map $ssl_preread_server_name $backend_name {
5 tro-go.xingshuo.me trojan-go;
6 }
7 upstream trojan-go {
8 server 127.0.0.1:14443;
9 }
10}
11# 重启 nginx
12nginx -s reload

测试 Trojan-Go

关闭会话对断开,只适用临时测试。

1cd /etc/trojan-go
2./trojan-go -config config.json

安装服务

设为开机启动,需要新增服务。

安装后,有个 example 目录,里边有对应系统的服务。因为我是 CentOS 7 ,所以选择 trojan-go.service。

第一步复制到服务目录中。

1cp /etc/trojan-go/example/trojan-go.service /etc/systemd/system/
2vim /etc/systemd/system/trojan-go.service

进入编辑模式,需要关注两点:

  • 第 7 行,需要改成已有账户。我这里只有一个账户 root。
  • 第 11 行需要用绝对路径启动。
1[Unit]
2Description=Trojan-Go - An unidentifiable mechanism that helps you bypass GFW
3Documentation=https://p4gefau1t.github.io/trojan-go/
4After=network.target nss-lookup.target
5
6[Service]
7User=root
8CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
9AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
10NoNewPrivileges=true
11ExecStart=/etc/trojan-go/trojan-go -config /etc/trojan-go/config.json
12Restart=on-failure
13RestartSec=10s
14LimitNOFILE=infinity
15
16[Install]
17WantedBy=multi-user.target

最后,设置开机启动。

1systemctl enable trojan-go.service
2systemctl start trojan-go.service
3# 查看服务是否正常
4systemctl status trojan-go.service