前言

为了利用现有Nginx服务,本文采用手动搭建安装Trojan-go

申请tls证书

安装acme.sh脚本

(请在root用户下安装)

1、【可选】安装依赖

yum -y install socat

2、安装acme.sh脚本

curl https://get.acme.sh | sh

出现:Install success!表示安装成功

3、让环境变量生效

source ~/.bashrc

用acme.sh脚本申请证书

申请证书时会占用80端口,申请时可先临时停止nginx等占用80端口的服务。

1、使用邮箱注册账号

acme.sh --register-account -m xxx@qq.com

2、签发证书,your_domain.com替换成你的域名

acme.sh --issue -d your_domain.com --standalone -k ec-256 --force

出现:Cert success. 以及 证书路径表示成功

3、创建证书存储目录

mkdir /root/your_domain.com

4、复制/安装证书,your_domain.com替换成你的域名

acme.sh --installcert -d your_domain.com --fullchainpath /root/your_domain.com/fullchain.crt --keypath /root/your_domain.com/privkey.key --ecc --force

安装配置Nginx

创建网站

mkdir /home/www/your_domain.com

vi /home/www/your_domain.com/index.html

#index.html文件放任意内容,例如
hello world!

安装Nginx

网站配置文件

注意:
1、your_domain.com替换为你的域名(共3处)
2、1239为网站对外端口号,可自行设定

vi /etc/nginx/conf.d/trojan.conf
server{
    listen 1239;
    server_name your_domain.com;
    root /home/www/trojan;
    index index.html;

    ssl on;
    ssl_certificate             /root/your_domain.com/fullchain.crt;
    ssl_certificate_key         /root/your_domain.com/privkey.key;
    ssl_ciphers                 TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5;
    ssl_prefer_server_ciphers    on;
    ssl_protocols                TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_session_cache            shared:SSL:50m;
    ssl_session_timeout          1d;
    ssl_session_tickets          on;
}

server{
    listen 1234;
    return 404;
}

安装配置trojan-go

安装trojan-go

/usr/local/trojan-go
wget https://github.com/p4gefau1t/trojan-go/releases/download/v0.10.6/trojan-go-linux-amd64.zip

配置trojan-go

/usr/local/trojan-go
{
    "run_type": "server",
    "local_addr": "0.0.0.0",
    "local_port": 1240,
    "remote_addr": "127.0.0.1",
    "remote_port": 1239,
    "password": [
        "xxxxxxxxxxx"
    ],
    "ssl": {
        "cert": "/root/your_domain.com/fullchain.crt",
        "key": "/root/your_domain.com/privkey.key",
        "sni": "s.phpdota.com",
        "fallback_port": 1234
    },
    "router": {
        "enabled": true,
        "block": [
            "geoip:private"
        ],
        "geoip": "/usr/local/trojan-go/geoip.dat",
        "geosite": "/usr/local/trojan-go/geosite.dat"
    }
}

创建sytemctl启动文件

1、复制启动文件至系统服务目录

cp /usr/local/trojan-go/example/trojan-go.service /usr/lib/systemd/system/

2、修改启动文件,将其中启动路径调整为如下:

ExecStart=/usr/local/trojan-go/trojan-go -config /usr/local/trojan-go/server.json

3、启动服务&设置开机启动

systemctl daemon-reload
systemctl start trojan-go
systemctl enable trojan-go

trojan-go客户端

Windows/MacOS/Linux客户端Trojan-Qt5

安卓客户端Igniter-Go

iOS客户端shadowrocket

最新全部客户端下载地址