一键搭建Trojan-Go,Trojan-Go支持WebSocket,免费开启CDN隐藏自己VPS的真实IP,从而实现不被墙!搭建Trojan-Go面板

trojan-go介绍

trojan-go 是使用Go语言实现的完整trojan代理,兼容原版的绝大多数功能,并且具有使用简易、快速部署使用等优点。trojan-go支持多路复用、路由功能、websocket(CDN中转)、Shadowsocks混淆二次混淆,多平台,无依赖,性能也很强悍,推荐使用。

以下是Trojan-Go的官方说明:

使用Go实现的完整Trojan代理,与Trojan协议以及Trojan-GFW版本的配置文件格式兼容。安全,高效,轻巧,易用。

支持使用多路复用提升并发性能,使用路由模块实现国内直连。

支持CDN流量中转(基于WebSocket over TLS/SSL)。

支持基于ACME协议从Let’s Encrypt自动申请和更新HTTPS证书,只需提供域名和邮箱。

Trojan-Go GitHub项目地址:点击访问

本文章视频教程:点击播放

准备工作

1、VPS一台重置主流的系统(今天演示为 搬瓦工 V5  – CN2 GIA ECOMMERCE  DeBian 10)

2、崭新的二级域名一个并托管cloudflare,若是不会,请查阅:域名注册  域名托管 CloudFlaer

3、可申请为期一年的证书(可选操作)

注意事项:若是需要Trojan套用CDN,也就是必须开启 websocket ,若是开启 websocket ,就需要客户端支持,目前支持的客户端有:

Windows/MacOS平台 :Trojan-Qt5

因为此Trojan-QT5 项目已经停更,所以只有1.4.0版本的供大家下载。

Trojan-QT5  Windows下载

Trojan-QT5  MacOS 下载

Android 安卓平台: Igniter-Go

直达下载   项目地址

IOS 苹果手机:暂时不支持

搭建Trojan-Go

注意:不会请对照视频操作

1、连接VPS并安装必要组件

PS:自行关闭防火墙,放行80/443端口

CentOS 运行如下命令

yum update -y
 
yum install unzip -y
 
yum install wget -y
 
yum install nginx -y

DeBian / Ubuntu 运行如下命令

apt update -y
 
apt install unzip -y
 
apt install wget -y
 
apt install nginx -y

2、检查 NGINX 是否安装成功

在浏览器输入绑定到VPS的域名,如下图所示,及NGINX安装成功,否则请搜索相关资源自行安装。

PS:在申请到证书之前,请保持域名 未开启CDN ,(有证书的亲,请您随意!)

图片[1]-一键搭建Trojan-Go,Trojan-Go支持WebSocket,免费开启CDN隐藏自己VPS的真实IP,从而实现不被墙!搭建Trojan-Go面板-水木沙纪-发现藝术的更多面

3、部署官方Trojan-Go程序

输入如下命令下载官方trojan-go程序。

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

解压刚才下载的程序包至 /etc 目录

unzip trojan-go-linux-amd64.zip -d /etc/trojan-go

4、申请证书或放置证书

cd /etc/trojan-go进入 /etc/trojan-go 目录, 用Trojan-Go申请证书,或是自行放置证书

./trojan-go -autocert request

图片[2]-一键搭建Trojan-Go,Trojan-Go支持WebSocket,免费开启CDN隐藏自己VPS的真实IP,从而实现不被墙!搭建Trojan-Go面板-水木沙纪-发现藝术的更多面

分别输入:y/你的域名/你的邮箱(不需要验证)/y ,申请完毕如下图(请比对文件夹里面的文件)

PS:若是域名输入错误,需要再次运行则需删除 /etc/trojan-go/domain_info.json  文件。

图片[3]-一键搭建Trojan-Go,Trojan-Go支持WebSocket,免费开启CDN隐藏自己VPS的真实IP,从而实现不被墙!搭建Trojan-Go面板-水木沙纪-发现藝术的更多面

5、配置Trojan-Go

1、修改服务器配置文件和增加自启动文件

cp /etc/trojan-go/example/server.json /etc/trojan-go

2、复制 trojan-go.service 到 /etc/systemd/system

cp /etc/trojan-go/example/trojan-go.service /etc/systemd/system

3、找到 /etc/systemd/system/trojan-go.service 文件,修改里面的代码和参数为:

[Unit]
Description=Trojan-Go - An unidentifiable mechanism that helps you bypass GFW
Documentation=https://github.com/p4gefau1t/trojan-go
After=network.target nss-lookup.target
Wants=network-online.target
 
[Service]
Type=simple
User=root
ExecStart=/etc/trojan-go/trojan-go -config /etc/trojan-go/server.json
Restart=on-failure
RestartSec=10
RestartPreventExitStatus=23
 
[Install]
WantedBy=multi-user.target

4、修改 /etc/trojan-go/server.json 服务器配置文件,如下为范本,里面有多处地方需要修改(最基本的五处汉字必须修改)

官方完整服务器配置文件:点击访问

{
  "run_type": "server",
  "local_addr": "0.0.0.0",
  "local_port": 443,
  "remote_addr": "127.0.0.1",
  "remote_port": 80,
  "log_level": 1,
  "log_file": "/etc/trojan-go/test.log",
  "password": [
       "你的密码"
  ],
  "buffer_size": 32,
  "dns": [],
  "ssl": {
    "verify": true,
    "verify_hostname": true,
      "cert": "/etc/trojan-go/server.crt",
      "key": "/etc/trojan-go/server.key",
    "key_password": "",
    "cipher": "",
    "cipher_tls13": "",
    "curves": "",
    "prefer_server_cipher": false, 
    "sni": "你绑定的域名",
    "alpn": [
      "http/1.1"
    ],
    "session_ticket": true,
    "reuse_session": true,
    "plain_http_response": "",
    "fallback_port": 1234,
    "fingerprint": "firefox",
    "serve_plain_text": false
  },
  "tcp": {
    "no_delay": true,
    "keep_alive": true,
    "reuse_port": false,
    "prefer_ipv4": false,
    "fast_open": false,
    "fast_open_qlen": 20
  },
  "mux": {
    "enabled": true,
    "concurrency": 8,
    "idle_timeout": 60
  },
  "router": {
    "enabled": false,
    "bypass": [],
    "proxy": [],
    "block": [],
    "default_policy": "proxy",
    "domain_strategy": "as_is",
    "geoip": "/etc/trojan-go/geoip.dat",
    "geosite": "/etc/trojan-go/geosite.dat"
  },
  "websocket": {
    "enabled": true,
    "path": "/你的路径",
    "hostname": "你绑定的域名",
    "obfuscation_password": "",
    "double_tls": true,
    "ssl": {
      "verify": true,
      "verify_hostname": true,
      "cert": "/etc/trojan-go/server.crt",
      "key": "/etc/trojan-go/server.key",
      "key_password": "",
      "prefer_server_cipher": false,
      "sni": "你绑定的域名",
      "session_ticket": true,
      "reuse_session": true,
      "plain_http_response": ""
    }
  }
}

5、以上参数的简单说明:

"websocket" 默认开启,关闭请  "enabled": false,

若是不关闭,则只能使用包含 Trojan-GO 协议的客户端。但是关闭则无法套用CDN

"obfuscation_password": "", 为 websocket 混淆密码,填写会稍稍影响性能,默认为空

"mux" 为多路复用,默认开启,关闭请 "enabled": false,

"double_tls":  为多重TLS,默认开启,关闭请 "double_tls": false,

6、开启CDN,并设置CDN

1、点亮小云朵,开启CDN,如下图:

图片[4]-一键搭建Trojan-Go,Trojan-Go支持WebSocket,免费开启CDN隐藏自己VPS的真实IP,从而实现不被墙!搭建Trojan-Go面板-水木沙纪-发现藝术的更多面

2、点击页面中的 SSL/TLS 进入如下界面并设置如图所示:(重要

图片[5]-一键搭建Trojan-Go,Trojan-Go支持WebSocket,免费开启CDN隐藏自己VPS的真实IP,从而实现不被墙!搭建Trojan-Go面板-水木沙纪-发现藝术的更多面

7、设置Trojan-Go开机启动

首先  systemctl daemon-reload ,然后 systemctl enable trojan-go 设置为开机自启,在然后 systemctl start trojan-go 启动 Trojan-Go。systemctl status trojan-go 可以查看 Trojan-Go 状态

图片[6]-一键搭建Trojan-Go,Trojan-Go支持WebSocket,免费开启CDN隐藏自己VPS的真实IP,从而实现不被墙!搭建Trojan-Go面板-水木沙纪-发现藝术的更多面

8、验证Trojan-Go是否正常

以下引用官方文档:

当一个客户端试图连接Trojan-Go的监听端口时,会发生下面的事情:

  • 如果TLS握手成功,检测到TLS的内容非Trojan协议(有可能是HTTP请求,或者来自GFW的主动探测)。Trojan-Go将TLS连接代理到本地127.0.0.1:80上的HTTP服务。这时在远端看来,Trojan-Go服务就是一个HTTPS网站。
  • 如果TLS握手成功,并且被确认是Trojan协议头部,并且其中的密码正确,那么服务器将解析来自客户端的请求并进行代理,否则和上一步的处理方法相同。
  • 如果TLS握手失败,说明对方使用的不是TLS协议进行连接。此时Trojan-Go将这个TCP连接代理到本地127.0.0.1:1234上运行的HTTPS服务,返回一个展示400 Bad Reqeust的HTTP页面。fallback_port是一个可选选项,如果没有填写,Trojan-Go会直接终止连接。虽然是可选的,但是还是强烈建议填写。

你可以通过使用浏览器访问你的域名https://your-domain-name.com来验证。如果工作正常,你的浏览器会显示一个正常的HTTPS保护的Web页面,页面内容与服务器本机80端口上的页面一致。

9、连接Trojan-Go

Trojan-QT5 (支持WIN/MACOS)

因为此Trojan-QT5 项目已经停更,所以只有1.4.0版本的供大家下载。

Trojan-QT5  Windows下载

Trojan-QT5  MacOS 下载

图片[7]-一键搭建Trojan-Go,Trojan-Go支持WebSocket,免费开启CDN隐藏自己VPS的真实IP,从而实现不被墙!搭建Trojan-Go面板-水木沙纪-发现藝术的更多面
图片[8]-一键搭建Trojan-Go,Trojan-Go支持WebSocket,免费开启CDN隐藏自己VPS的真实IP,从而实现不被墙!搭建Trojan-Go面板-水木沙纪-发现藝术的更多面

10、设置伪装站点

PS:等部署完毕,确定没问题了在进行站点伪装,免做无用功。

找到VPS文件 /etc/nginx/nginx.conf 打开,并贴入一下代码,其中文字部分需替换 (一处替换)

user  root;
worker_processes  1;
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    keepalive_timeout  120;
    client_max_body_size 20m;
    #gzip  on;
    server {
        listen       80;
        server_name  你的域名;
        root /usr/share/nginx/html;
        index index.php index.html index.htm;
   	 }
}

然后找到网站根目录 /usr/share/nginx/html ,下载并解压源码。

cd /usr/share/nginx/html
wget https://github.com/V2RaySSR/Trojan/raw/master/web.zip
unzip web.zip
systemctl restart nginx

怕大家的伪装站点千篇一律,为大家准备以下模板下载地址:点击访问

11、自行安装BBR加速

BBR加速四合一脚本:点击直达

12、证书更新

命令为:./trojan-go -autocert renew

引用官方说明:

  • server.key 服务器私钥
  • server.crt 经过Let’s Encrypt签名的服务器证书
  • user.key 用户Email对应的私钥
  • domain_info.json 域名和用户Email信息

进行证书更新。更新之前请确保同目录下有上述的四个文件。如果你没有指定ACME challenge使用的端口,Trojan-Go将默认使用443和80端口,请确保这两个端口没有被Trojan-Go或者其他程序(nginx, caddy等等)占用。

简单来说,就是 systemctl stop nginx 、 systemctl stop trojan-go 、./trojan-go -autocert renew 、更新成功以后 systemctl start trojan-go 、 systemctl start nginx

13、如何关闭 websocket ,用其他客户端连接。

修改 /etc/trojan-go/server.json 服务器配置文件

{
    "run_type": "server",
    "local_addr": "0.0.0.0",
    "local_port": 443,
    "remote_addr": "127.0.0.1",
    "remote_port": 80,
    "password": [
        "你的密码"
    ],
    "ssl": {
        "cert": "/etc/trojan-go/server.crt",
        "key": "/etc/trojan-go/server.key",
        "sni": "你的域名",
        "fallback_port": 1234
    }
}

systemctl restart trojan-go 重启 Trojan-Go。systemctl status trojan-go 可以查看 Trojan-Go 状态

后记

其实步骤看起来很多,因为需要写的很多。写一篇博文真心不简单,若是帮到了你,请别吝啬你的赞!视频教程:点击播放

一键搭建Trojan-Go面板

更新系统安装环境

更新系统

yum update -y  #CentOS
apt update -y  #Debian

安装curl

yum install -y curl  #CentOS
apt install -y curl  #Debian

Jrohy的一键Trojan面板脚本

#安装/更新
source <(curl -sL https://git.io/trojan-install)
#卸载
source <(curl -sL https://git.io/trojan-install) --remove

Trojan 面板搭建完毕,按照提示网址登陆面板,并更改 Trojan 类型 为 Trojan-Go。

更改Trojan-Go配置文件

找到VPS目录文件 /usr/local/etc/trojan/config.json ,备份一份(若是把类型切换回来可以恢复使用Trojan)

下图是原本一键面板搭建完毕以后的配置文件截图,我们需要增加WS等其他Trojan-Go所支持的模块。

图片[9]-一键搭建Trojan-Go,Trojan-Go支持WebSocket,免费开启CDN隐藏自己VPS的真实IP,从而实现不被墙!搭建Trojan-Go面板-水木沙纪-发现藝术的更多面

如下图所示,请大家自行更改相应的参数。

图片[10]-一键搭建Trojan-Go,Trojan-Go支持WebSocket,免费开启CDN隐藏自己VPS的真实IP,从而实现不被墙!搭建Trojan-Go面板-水木沙纪-发现藝术的更多面

Trojan-Go官方完整配置文件:点击访问

具体增加参数如下 (请务必看清楚上面的提示,一定记得有一个英文的逗号
 "websocket": {
        "enabled": true,
        "path": "/DFE4545DFDED/",
        "host": "你的域名"
    },
    "mux": {
        "enabled": true,
        "concurrency": 8,
        "idle_timeout": 60
    }

增加完成后保存并在面板重启Trojan-GO服务

Trojan-Go客户端支持

Trojan-QT5 (支持WIN/MACOS)

因为此Trojan-QT5 项目已经停更,所以只有1.4.0版本的供大家下载。

Trojan-QT5  Windows下载

Trojan-QT5  MacOS 下载

QV2RAY(支持WIN/MACOS)

QV2RAY 下载地址

QV2RAY 内核下载地址

一个 Qv2ray 插件,技术上地说,是一个实现了 QvPlugin 接口、从而能扩展 Qv2ray 功能的共享库文件。

实际上,Qv2ray 插件是 Qv2ray 的扩展,能让你使用更多特性。

当前,Qv2ray 项目组共发布如下 6 个我们维护的插件:

Igniter-God (支持安卓平台)

直达下载   项目地址

© 版权声明
THE END
喜欢就支持一下吧
点赞1 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片