• 导航

安装 Trojan-Go 服务端

记事本 2024-04-17 29 次浏览
Trojan 和 Trojan-go 的区别,可以参考官方 说明

安装

去  Releases  页面下载对应的版本。
      
  cd ~
wget https://github.com/p4gefau1t/trojan-go/releases/download/v0.10.6/trojan-go-linux-amd64.zip
# 解压
unzip trojan-go-linux-amd64.zip -d /etc/trojan-go
# 进入到 trojan-go 目录
cd /etc/trojan-go

申请证书或放置证书

配置 Trojan-Go

修改服务器配置文件
      
  cp /etc/trojan-go/example/server.json /etc/trojan-go
vim server.json
编辑 server.json,可以根据你的需求,自行修改。
      
  {
"run_type": "server",
"local_addr": "0.0.0.0",
"local_port": 14443,
"remote_addr": "127.0.0.1",
"remote_port": 80,
"password": [
"d933afb4-7297-11ec-90d6-0242ac12000"
],
"ssl": {
"cert": "/etc/nginx/ssl/tro-go.xingshuo.me.fullchain.cer",
"key": "/etc/nginx/ssl/tro-go.xingshuo.me.key",
},
"router": {
"enabled": true,
"block": [
"geoip:private"
],
"geoip": "/etc/trojan-go/geoip.dat",
"geosite": "/etc/trojan-go/geosite.dat"
}
}

配置 Nginx

      
  vim /etc/nginx/nginx.conf
# 转发到特定域名
stream {
map $ssl_preread_server_name $backend_name {
tro-go.xingshuo.me trojan-go;
}
upstream trojan-go {
server 127.0.0.1:14443;
}
}
# 重启 nginx
nginx -s reload

测试 Trojan-Go

关闭会话对断开,只适用临时测试。
      
  cd /etc/trojan-go
./trojan-go -config config.json

安装服务

设为开机启动,需要新增服务。
安装后,有个 example 目录,里边有对应系统的服务。因为我是 CentOS 7 ,所以选择 trojan-go.service。
第一步复制到服务目录中。
      
  cp /etc/trojan-go/example/trojan-go.service /etc/systemd/system/
vim /etc/systemd/system/trojan-go.service
进入编辑模式,需要关注两点:
第 7 行,需要改成已有账户。我这里只有一个账户 root。
第 11 行需要用绝对路径启动。
      
  [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=/etc/trojan-go/trojan-go -config /etc/trojan-go/config.json
Restart=on-failure
RestartSec=10s
LimitNOFILE=infinity

[Install]
WantedBy=multi-user.target
最后,设置开机启动。
      
  systemctl enable trojan-go.service
systemctl start trojan-go.service
# 查看服务是否正常
systemctl status trojan-go.service