前言
群里很多人跟作者反应,一键安装Trojan脚本,申请SSL证书老是报错,或是SSL证书根本申请不下来。这样就暴露了一些一键安装脚本的缺点。今天作者给大家详细的讲解一下,手动的Trojan应该怎么配置,手动的SSL证书应该怎么申请。步骤比较多,请详细阅读。别跳过。
好的,我们开始!
视频教程:点击观看
准备工作
VPS一台,提前重置你钟爱的系统!(CentOS/Debian都可以,但是今天教程做的是Debian的,我会把CentOS的代码一并贴上)
域名一个,解析到VPS的IP并等待生效(收费免费均可)!
在此网页(点击下载)下载适合你的 KeyManager 并安装!
安装VPS环境
安装wget
yum -y install wget ##ContOS Yum 安装 wget apt-get install wget ##Debian Ubuntu 安装 wget
安装curl
apt-get update -y && apt-get install curl -y ##Ubuntu/Debian 系统安装 Curl 方法 yum update -y && yum install curl -y ##Centos 系统安装 Curl 方法
安装XZ压缩工具
apt-get install xz-utils #Debian/Ubuntu 安装 XZ 压缩工具命令 yum install xz #CentOS 安装 XZ 压缩工具
更新
apt-get update #Debian更新 yum update #CentOS更新
安装NGINX
下面根据你的系统自由选择Nginx的安装方式
apt-get -y install nginx wget unzip zip curl tar #Debian安装 yum -y install nginx wget unzip zip curl tar #CentOS安装 systemctl enable nginx.service #设置Nginx开机启动
配置Nginx
找到 路径 /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 $your_domain; root /usr/share/nginx/html; index index.php index.html index.htm; } }
设置伪装站点
rm -rf /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.service
到这里,你访问http://你的域名 ,应该可以打开网站了。(不是https://)
下载Trojan服务器
Trojan服务端的最新地址如下(若是有更新,请自行替换下面https://后面的内容)
点击访问 (文件名为)trojan-x.x.x-linux-amd64.tar.xz
cd /usr/src #进入该目录 wget https://github.com/trojan-gfw/trojan/releases/download/v1.14.0/trojan-1.14.0-linux-amd64.tar.xz #下载官方Trojan服务器 tar xf trojan-1.* #解压该文件
创建Trojan服务器配置文件
找到 /usr/src/trojan/
目录,创建并打开server.conf
文件,写入以下内容
{ "run_type": "server", "local_addr": "0.0.0.0", "local_port": 443, "remote_addr": "127.0.0.1", "remote_port": 80, "password": [ "00000000" ], "log_level": 1, "ssl": { "cert": "/usr/src/trojan-cert/fullchain.cer", "key": "/usr/src/trojan-cert/private.key", "key_password": "", "cipher_tls13":"TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384", "prefer_server_cipher": true, "alpn": [ "http/1.1" ], "reuse_session": true, "session_ticket": false, "session_timeout": 600, "plain_http_response": "", "curves": "", "dhparam": "" }, "tcp": { "no_delay": true, "keep_alive": true, "fast_open": false, "fast_open_qlen": 20 }, "mysql": { "enabled": false, "server_addr": "127.0.0.1", "server_port": 3306, "database": "trojan", "username": "trojan", "password": "" } }
创建Trojan自启服务
Debian系统找到/lib/systemd/system/
目录,并创建trojan.service
文件
CentOS系统找到/usr/lib/systemd/system/
目录,并创建trojan.service
文件
打开trojan.service
文件,并写入以下代码
[Unit] Description=trojan After=network.target [Service] Type=simple PIDFile=/usr/src/trojan/trojan/trojan.pid ExecStart=/usr/src/trojan/trojan -c "/usr/src/trojan/server.conf" ExecReload= ExecStop=/usr/src/trojan/trojan PrivateTmp=true [Install] WantedBy=multi-user.target
开始申请SSL证书
申请证书
打开网页 https://freessl.cn/ ,填入你需要申请证书的二级域名。点击创建免费的SSL证书
,可以选择 Let’s Encrypt
与 TrustAsia CA
的两种证书,一个有效期是一年,一个是三个月!推荐一年的。
输入邮箱(理论上随意输入,注意格式,但是真实的邮箱证书到期会提醒),选择 文件验证
,点击创建
刚才的准备工作完成的小伙伴应该会提示如下图,点击打开KeyManager
,刚才安装的软件会弹出来
输入你创建的主密码,进入KeyManager
软件,提示如下图
按照提示返回浏览器继续。现在开始认证域名所有权。
截图实在太麻烦了,大家还是看视频吧。太NMD累了。
验证完成以后。在软件里面找到域名证书,并下载证书。
下载并解压证书
得到两个文件。
一个是xxx.xxx.xxx_chain.crt
文件
一个是xxx.xxx.xxx_key.key
文件
把xxx.xxx.xxx_chain.crt
改名为fullchain.cer
备用
把xxx.xxx.xxx_key.key
改名为private.key
备用
移动证书文件
创建存放证书的文件夹trojan-cert
完整路径为 /usr/src/trojan-cert
把刚才改名的2个文件(fullchain.cer
和private.key
)放到VPS /usr/src/trojan-cert
目录下面
启动Trojan服务
设置启动Trojan服务
systemctl start trojan.service #启动Trojan systemctl enable trojan.service #设置Trojan服务开机自启
验证SSL证书
访问 https://你的域名
,检查证书和Trojan是否正常运行(有小锁成功)。记得是访问 https://
不是 http://
下载Trojan客户端软件
Trojan项目地址:点击访问
Trojan快速下载:点击下载(Win) 点击下载(MacOS)
Win系统不想要Trojan的小黑窗,可以创建如下批处理运行Trojan.exe文件
命令如下
start.bat
启动Trojan服务
@ECHO OFF %1 start mshta vbscript:createobject("wscript.shell").run("""%~0"" ::",0)(window.close)&&exit start /b trojan.exe
stop.bat
停止Trojan服务
@ECHO OFF taskkill /im trojan.exe /f ping -n 2 127.1 >nul
把上述两个.bat
文件,放在Trojan文件夹根目录下面,保证和Trojan.exe位于同一目录。
配置Trojan客户端
找到Trojan文件夹里面的config.json
文件
修改下面两项参数,其余参数保持不变。
好的,搭建完毕,开始你的表演
监听本地1080端口数据。完毕。
我申请证书输入的域名是“xinghe.monster”,点击“点击创建”后,就变成了“xinghe.monster,www.xinghe.monster”两个域名了,这样我就没办法正常创建,有什么解决的办法吗
好不容易全部都按照做好后,部署玩后没有显示小锁,逗我玩呢?既然提到了这个为什么不讲清楚会出现这种情况以及如何解决?
按照教程一步一步来,检测文件路径始终不通过,检测永远是不通
按这个教程用CentOS安装Nginx有问题,不成功。
crt证书文件为啥非要改成cer后缀呢,我没有改这个后缀,把server.conf的第十二行改成了crt。