5.3 KiB
5.3 KiB
1.特点
- 1.tls加密数据通过防火墙。
- 2.无法使用CloudFlare代理。
- 3.Trojan使用C++实现,较其他语言效率高。
- 4.客户端少,ios端表现不如V2Ray(Quantumult)。
- 5.需要自己维护证书。
2.安装
1.生成TLS证书【Let’s Encrypt】
主要步骤
- 1.配置DNS解析
- 2.安装Nginx
- 3.Let’s 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协议时,将请求转发处理的地址和端口。默认80,80端口可以开放给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 {
}
}
}