前言
最近V2RAY是闹了不少的新闻,其实真心没有什么大不了的。因为这个漏洞被墙掉的IP还是很稀少的。说正题。
不得不说,用Trojan套用CDN是很多人的想法。因为这样可更好的隐藏自己的VPS IP,并且可用Trojan拯救你被墙的VPS。
Trojan-Go,相信大家最近都不陌生,今天就和大家详细的做一期教程,包括各种小细节的处理,往往是这些小细节,导致Trojan无法运行,而且很多小伙伴并不知道排查。
担心VPS被墙?永不被墙IP的Trojan搭建教程!Trojan-Go套用CDN、隐藏VPS真实IP、开启websocket、多路复用提升网页打开速度!Trojan-Go保姆级安装脚本(可拯救被墙的VPS)
以下是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-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 ,(有证书的亲,请您随意!)
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
./trojan-go -autocert request
分别输入:y/你的域名/你的邮箱(不需要验证)/y ,申请完毕如下图(请比对文件夹里面的文件)
/etc/trojan-go/domain_info.json
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": ""
"mux""enabled": false,
"double_tls":"double_tls": false,
6、开启CDN,并设置CDN
1、点亮小云朵,开启CDN,如下图:
2、点击页面中的 SSL/TLS 进入如下界面并设置如图所示:(重要)
7、设置Trojan-Go开机启动
systemctl daemon-reloadsystemctl enable trojan-gosystemctl start trojan-gosystemctl status trojan-go
8、验证Trojan-Go是否正常
以下引用官方文档:
当一个客户端试图连接Trojan-Go的监听端口时,会发生下面的事情:
fallback_port
https://your-domain-name.com
9、连接Trojan-Go
Trojan-QT5 (支持WIN/MACOS)
因为此Trojan-QT5 项目已经停更,所以只有1.4.0版本的供大家下载。
Trojan-QT5 Windows下载
Trojan-QT5 MacOS 下载
10、设置伪装站点
PS:等部署完毕,确定没问题了在进行站点伪装,免做无用功。
/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 nginxsystemctl stop trojan-go./trojan-go -autocert renewsystemctl start trojan-gosystemctl 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-gosystemctl status trojan-go
后记
其实步骤看起来很多,因为需要写的很多。写一篇博文真心不简单,若是帮到了你,请别吝啬你的赞!视频教程:点击播放