Trojan 和 Trojan-go 的区别,可以参考官方
说明
。
安装
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。
[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
复制