欢迎光临
有事儿没事儿分享一下!

2022在Debian系统上手动搭建trojan代理

Trojan是基于HTTPS通信的网络通信协议,它的设计很简单,只使用 TLS 做为可信通道,其他加密一概没有,在不增加附加功能的前提下,实现稳定的核心通信功能。

搭建之前需要知道Trojan直接对接流量入口,这会导致 443 端口占用的问题,如果你的VPS还用作网站运行用途,如果想让
trojan和网站共存,本教程是无法满足的。

个人试用体验:同一个VPS(racknerd)搭建trojan和v2ray,v2ray一直正常,但是使用trojan就有时会出现IP被封的情形,只是个人经历,可能是我环境的原因。

其他教程:

正文开始之前,先插播个广告,推荐一些性价比较高的VPS,有购买VPS打算的,可以使用我的推介链接,这样你不仅可以优惠购买,我也会得到一定的返券,感谢你对我写文创作的支持!没有购买VPS打算的,可以跳过这一部分。

一、搬瓦工VPS推荐

搬瓦工优惠券: BWH3HYATVBJW,此券为全网当前最高优惠力度:6.58%。

线路 CPU 内存 硬盘 带宽 流量 价格 购买链接
CN2 GIA(特别推荐) 2x Intel Xeon 1 GB 20 GB SSD 2.5 Gbps 1000GB/月 $49.99/季度或 $169.99/年 购买
CN2 GIA(特别推荐) 3x Intel Xeon 2 GB 40 G SSD 2.5 Gbps 2000GB/月 $299.99/年 购买
CN2 GIA(推荐) 4x Intel Xeon 4 GB 80 GB SSD 2.5 Gbps 3000GB/月 $549.99/年 购买
CN2(推荐) 1x Intel Xeon 1024 MB 20 GB SSD 1 Gbps 1 TB/月 $49.99/年 购买
CN2(推荐) 1x Intel Xeon 2048 MB 40 GB SSD 1 Gbps 2 TB/月 $99.99 美元/年 购买
常规 2x Intel Xeon 1024 MB 20 GB SSD 1 Gbps 1 TB/月 $49.99/年 购买
促销 4x Intel Xeon 4 GB 80 GB SSD 1 Gbps 3 TB/月 $19.99/月或$199.99/年 购买
促销 3x Intel Xeon 2 GB 40 GB SSD 1 Gbps 2 TB/月 $99.99/年 购买

二、Rackerd VPS推荐

Racknerd速度测试及更换IP地址?参考:Racknerd速度测试及免费更换IP地址

三.环境信息

  • 系统:Debian GNU/Linux 10
  • 这里使用的root用户
  • trojan版本:1.16.0,地址:https://github.com/trojan-gfw/trojan/releases/download/v1.16.0/trojan-1.16.0-linux-amd64.tar.xz ;

下面开始搭建细节。

四.开始搭建

下面我搭建过程中涉及的域名your-domain.com,请在实际执行过程中,换成你自己的域名。

4.1 连接VPS

这篇文章里有使用xshell远程连接VPS的细节。

4.2 更新VPS环境

apt update

五、安装nginx并申请证书

5.1 执行安装

apt install -y nginx

5.2 新建网页目录

这里在假设是/root/www

mkdir -p /root/www

5.3 新建首页

/root/www目录下新建一个index.html文件,

vi /root/www/index.html

内容如下:

<html>
   <title>欢迎访问四个空格</title>
   <head><meta charset="UTF-8"></head>
   <body>
     <a href="https://www.4spaces.org/install-v2ray-on-debian-2021/">四个空格</a>
   </body>
</html>

5.4 新建/修改NGINX配置文件

注: 不同版本的nginx配置文件可能有区别,我的是nginx/1.18.0,配置文件/etc/nginx/sites-enabled/default。或者你的配置文件可能在/etc/nginx/conf.d/default.conf

输入vi /etc/nginx/sites-enabled/default命令,编辑nginx配置文件为如下内容:

server{
    listen 80;
    server_name your-domain.com;
    index index.html;
    root /root/www/;
}

这里你可能需要将/etc/nginx/nginx.conf中第一行user www-data改为user root,即当前用户。

5.5 启动nginx服务

依次执行下面命令,启动服务:

#启动Nginx并设置为开机自启命令
systemctl start nginx;systemctl enable nginx

#查看nginx启动状态命令
systemctl status nginx

在浏览器里访问your-domain.com,如果正常则说明nginx配置没问题,这是是没有加密的,不带HTTPS的网址:http://www.your-domain.com

5.6 安装certbot并申请ssl证书

详细的申请证书流程参考: certbot instructions – Nginx on Debian 10 (buster)。具体如下:

安装snapd

apt install -y snapd

确保snapd为最新版本

snap install core; snap refresh core

安装certbot

snap install --classic certbot

创建软链

ln -s /snap/bin/certbot /usr/bin/certbot

申请证书

运行certbot --nginx开始申请证书,申请时,选择为多个域名申请证书时,各域名对应数字用英文逗号或空格分隔,如下:

2022-04-28_080914.jpg

如上图,执行过程中出现Successfully received certificate表示获取证书成功,并显示了证书的保存路径。

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/your-domain.com/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/your-domain.com/privkey.pem
This certificate expires on 2022-07-20.

六、安装trojan

6.1 下载trojan安装包

下载

wget https://github.com/trojan-gfw/trojan/releases/download/v1.16.0/trojan-1.16.0-linux-amd64.tar.xz

解压

tar xf trojan-1.* 

# 我解压在的路径是/root/trojan,解压完毕后,文件夹里的内容如下
root@debian-trojan:~/trojan# pwd
/root/trojan
root@debian-trojan:~/trojan# ls -al
total 4088
drwxr-xr-x 3 1001  116    4096 Jun 10  2020 .
drwx------ 4 root root    4096 Apr 27 23:48 ..
-rw-r--r-- 1 1001  116    2355 Jun 10  2020 CONTRIBUTORS.md
-rw-r--r-- 1 1001  116   35845 Jun 10  2020 LICENSE
-rw-r--r-- 1 1001  116    1224 Jun 10  2020 README.md
-rw-r--r-- 1 1001  116    1474 Jun 10  2020 config.json
drwxr-xr-x 2 1001  116    4096 Jun 10  2020 examples
-rwxr-xr-x 1 1001  116 4121104 Jun 10  2020 trojan

6.2 修改配置文件

编辑文件

vi /root/trojan/server.conf

内容如下

{
    "run_type": "server",
    "local_addr": "0.0.0.0",
    "local_port": 443,
    "remote_addr": "127.0.0.1",
    "remote_port": 80,
    "password": [
        "iiskdsksdksdpassword"
    ],
    "log_level": 1,
    "ssl": {
        "cert": "/etc/letsencrypt/live/your-domain.com/fullchain.pem",
        "key": "/etc/letsencrypt/live/your-domain.com/privkey.pem",
        "key_password": "",
        "cipher_tls13":"TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384",
    "prefer_server_cipher": true,
        "alpn": [
            "http/1.1"
        ],
        "reuse_session": true,
        "session_ticket": false,
        "session_timeout": 600,
        "plain_http_response": "",
        "curves": "",
        "dhparam": ""
    },
    "tcp": {
        "no_delay": true,
        "keep_alive": true,
        "fast_open": false,
        "fast_open_qlen": 20
    },
    "mysql": {
        "enabled": false,
        "server_addr": "127.0.0.1",
        "server_port": 3306,
        "database": "trojan",
        "username": "trojan",
        "password": ""
    }
}

将上面的域名换成自己的域名。

6.3 配置trojan启动脚本

编辑文件

vi /etc/systemd/system/trojan.service

文件内容编辑为下面内容

[Unit]  
Description=trojan  
After=network.target  

[Service]  
Type=simple  
PIDFile=/root/trojan/trojan/trojan.pid
ExecStart=/root/trojan/trojan -c "/root/trojan/server.conf"  
ExecReload=  
ExecStop=/usr/src/trojan/trojan  
PrivateTmp=true  

[Install]  
WantedBy=multi-user.target

其中/root/trojan是我服务器的trojan解压路径,如果你的不一样,记得修改。

重启服务

systemctl daemon-reload


#停止nginx,因为它会占用443端口
systemctl stop nginx

#重启xray
systemctl restart trojan

至此trojan的搭建完成。

七、客户端v2rayN配置

配置大体截图:

2022-04-28_084609.jpg

赞(0)
未经允许禁止转载:四个空格 » 2022在Debian系统上手动搭建trojan代理

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址