v2ray-agent/documents/Trojan.md

5.3 KiB
Raw Blame History

1.特点

  • 1.tls加密数据通过防火墙。
  • 2.无法使用CloudFlare代理。
  • 3.Trojan使用C++实现,较其他语言效率高。
  • 4.客户端少ios端表现不如V2RayQuantumult
  • 5.需要自己维护证书。

2.安装

1.生成TLS证书【Lets Encrypt】

主要步骤

  • 1.配置DNS解析
  • 2.安装Nginx
  • 3.Lets Encrypt生成证书
  • 4.参考此链接中【1.准备工作】和【2.vps配置Nginx、https】。

2.安装Trojan

1.执行下方命令

sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/trojan-gfw/trojan-quickstart/master/trojan-quickstart.sh)"

2.修改Trojan配置文件

  • 1.文件路径
/usr/local/etc/trojan/config.json
  • 2.修改证书和密钥
vi /usr/local/etc/trojan/config.json

# 找到下方两行 修改为自己的存放证书的路径
"cert": "/path/to/certificate.crt",
"key": "/path/to/private.key",

# 找到下方位置,有几个用户就要填写几个密码
"password":[
    "7f3a2df1-64e8-48bb-ebf8-3953ed699495",
    "b2cc18e3-e4b3-eff8-f24c-a4a4f80a9af9"
]

3.配置文件主要内容说明

  • local_port:监听的端口号默认443如果443封禁了可以更换其余端口。
  • remote_addr和remote_port非trojan协议时将请求转发处理的地址和端口。默认8080端口可以开放给Nginx来配置个人站点或者伪装其他网址也可以配置搭配V2Ray来实现一个VPS多种协议
  • password密码。需要几个填写几个可以使用v2ctl uuid生成也可以随便填写最后一行不可以有逗号。

4.详细配置文件说明

3.启动

  • 1.开机自启
systemctl enable trojan
  • 2.启动
systemctl start trojan
  • 3.关闭
systemctl stop trojan

4.配置与V2Ray并存【并保证网站伪装】

  • 1.需要配合CloudFlare
  • 2.需要使用【方法1】配置V2Ray点此查看

1.思路

  • 1.配置两个不同的二级域名
  • 2.CloudFlare对V2Ray的二级域名开启Proxy【☁️
  • 3.SSL/TLS mode 修改为Fiexible

2.示例

1.CloudFlare SSL/TLS mode

2.CloudFlare DNS Trojan&V2Ray

  • 1.blog2 指向Trojan的443
  • 2.blog 则通过CloudFlare指向VPS的80
  • 3.指向的ip是一样的一个通过CloudFlare代理一个则不代理。

3.Nginx config

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    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;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

   server {
       	listen       80;
       	# 这里是你的域名
       	server_name  blog.xxx.xyz;
       	root         /usr/share/nginx/html;

       	location / {

       	}
   	    location ~ /.well-known {
        	allow all;
        }
        # 这里是V2Ray
        location /main {
            proxy_redirect off;
            proxy_pass http://127.0.0.1:31290;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            # proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
   }
}

4.Trojan则不用修改