🎠Trojan如何绕过🔥GFW🧱
与Shadowsocks相反,🎠Trojan不使用自定义的加密协议来隐藏自身。相反,使用特征明显的TLS协议(TLS/SSL),使得流量看起来与正常的HTTPS网站相同。TLS是一个成熟的加密体系,HTTPS即使用TLS承载HTTP流量。使用正确配置的加密TLS隧道,可以保证传输的
- ☑️保密性(GFW无法得知传输的内容)
- ☑️完整性(一旦GFW试图篡改传输的密文,通讯双方都会发现)
- ☑️不可抵赖(GFW无法伪造身份冒充服务端或者客户端)
- ☑️ 前向安全(即使密钥泄露,GFW也无法解密先前的加密流量)
对于被动检测,🎠Trojan协议流量与HTTPS流量的特征和行为完全一致。而HTTPS流量占据了目前互联网流量的一半以上,且TLS握手成功后流量均为密文,几乎不存在可行方法从其中分辨出🎠Trojan协议流量。 对于主动检测🔍,当🧱防火墙🔥主动连接🎠Trojan服务器进行检测时,🎠Trojan可以正确识别非Trojan协议的流量。与Shadowsocks等代理不同的是,此时🎠Trojan不会断开连接,而是将这个连接代理到一个正常的Web服务器。在GFW看来,该服务器的行为和一个普通的HTTPS网站行为完全相同,无法判断是否是一个🎠Trojan代理节点。这也是🎠Trojan推荐使用合法的域名、使用权威CA签名的HTTPS证书📄的原因: 这让你的服务器完全无法被GFW使用主动检测判定是一个🎠Trojan服务器。
🔨搭建教程
1、关闭防火墙或放行80、443端口
关闭防火墙 ufw disable
放行80端口 ufw allow 80
放行443端口 ufw allow 443
2、开启BBR加速
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
3、更新软件源
apt update
apt upgrade
apt full-upgrade
4、安装组件
apt install wget
apt install unzip
apt install socat
5、创建一个文件夹
mkdir /etc/trojan-go
6、进入trojan-go文件夹
cd /etc/trojan-go/
7、下载trojan-gotrojan-go文档地址:https://github.com/p4gefau1t/trojan-gotrojan-go 完整配置文件地址:https://p4gefau1t.github.io/trojan-go/basic/full-config/ 8、解压trojan-go unzip trojan-go文件 9、创建config.json文件
touch config.json
复制如下代码(#和中文说明删掉)
{
"run_type": "server",
"local_addr": "0.0.0.0",
"local_port": 443,
"remote_addr": "127.0.0.1",
"remote_port": 80,
"password": [
"your_awesome_password" #密码
],
"disable_http_check": false,
"udp_timeout": 60,
"ssl": {
"verify": true,
"verify_hostname": true,
"cert": "/etc/trojan-go/server.crt",
"key": "/etc/trojan-go/server.key",
"cipher": " ",
"curves": " ",
"prefer_server_cipher": false,
"sni": "your-domain-name.com", #你的域名
"alpn": [
"http/1.1"
],
"session_ticket": true,
"reuse_session": true,
"plain_http_response": " ",
"fallback_addr": "127.0.0.1",
"fallback_port": 80,
"fingerprint": "firefox"
},
"tcp": {
"no_delay": true,
"keep_alive": true,
"prefer_ipv4": false
},
"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": "/ray123", #路径
"host": "your-domain-name.com" #你的域名
}
}
10、退出trojan-go目录 11、安装acme:
curl <https://get.acme.sh> sh
12、添加软链接:
ln -s /root/.acme.sh/acme.sh /usr/local/bin/acme.sh
13、切换CA机构
acme.sh --set-default-ca --server letsencrypt
14、申请证书:
acme.sh --issue -d 你的域名 --standalone -k ec-256 --webroot /home/wwwroot/html
15、安装证书:
acme.sh --install-cert -d 你的域名 --ecc --key-file /etc/trojan-go/server.key --fullchain-file /etc/trojan-go/server.crt
16、安装Nginx
apt install nginx
17、修改nginx配置文件 配置文件路径:/etc/nginx/nginx.conf 示例关键字:intext:登录 Cloudreve 替换http内容
http {
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name your-domain-name.com; #你的域名
location / {
proxy_pass <https://www.bing.com>; #伪装网址
proxy_ssl_server_name on;
proxy_redirect off;
sub_filter_once off;
sub_filter "www.bing.com" $server_name; #伪装网址
proxy_set_header Host "www.bing.com"; #伪装网址
proxy_set_header Referer $http_referer;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header User-Agent $http_user_agent;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Accept-Encoding "";
proxy_set_header Accept-Language "zh-CN";
}
}
}
18、重新加载nginx
systemctl reload nginx
19、查看nginx进程
systemctl status nginx.service
20、设置trojan-go开机自启 21、进入/etc/systemd/system文件夹创建trojan-go.service文件
touch 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/config.json
Restart=on-failure
RestartSec=10
RestartPreventExitStatus=23
[Install]
WantedBy=multi-user.target
22、重新加载守护进程
systemctl daemon-reload
23、设置开机自启
systemctl enable trojan-go
24、启动trojan-go
systemctl start trojan-go
25、查看trojan-go进程


...