🎠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进程