国庆期间墙威力大增,长期没出问题的v2ray直接走tcp传输协议下我也损失了一个ip。后来又用ws传输协议,但是ws下v2ray的速度总是不让人满意。这时了解到还有一个trojan代理,试用了下,发现比v2ray+ws+tls要快点。对于追求速度的我决定改用trojan了。
Trojan监听443端口,把合法的trojan代理数据伪装成正常的 HTTPS 通信,并完全真正的 TLS 握手。对于其他访问数据则直接转发到80端口,通过caddy、Nginx等web服务器提供网页访问服务,这样vps更像一个正常的web服务器。
本文主要通过caddy+trojan+debian10的方式提供上网服务。
1、相关软件准备
putty下载地址 https://www.putty.org/ xshell官网下载地址(需验证邮箱)https://www.netsarang.com/zh/free-for-home-school/ winscp下载地址 https://winscp.net/eng/docs/lang:chs 。putty和xshell任选一种即可,协议为ssh。winscp 文件协议选为scp 。
2、你需要一个域名和vps服务器。
如果你没有域名的话可以进入https://www.namesilo.com/注册一下,再购买一个域名,找最便宜的域名即可。top、xyz、icu等等域名只要0.99美元。建议不要在国内域名注册商处购买。可以用cloudflare解析,也可以直接在namsilo处解析。解析地址直接指向你的vps服务器IP。cloudflare解析的话一定要选DNS Only,可参见本网站前面关于v2ray的文章。注意trojan不支持cdn加速。解析域名后用ping一下你的域名,如果ping到你的vps ip则进行下面的操作。域名购买及解析见NameSilo域名购买及解析。
3、安装bbr和打开fastopen
可以用秋水的一键脚本,debian10内置有bbr。只需要用脚本开通下。putty中进入vps
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh
执行后bbr和fastopen都打开了。
不想用一键脚本手工开启bbr也简单,只需要运行
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf sysctl -p
手工开启fastopen也简单。
echo 3 > /proc/sys/net/ipv4/tcp_fastopen
并用winscp软件在vps的/etc/sysctl.conf中添加
net.ipv4.tcp_fastopen = 3
4、安装caddy
安装caddy主要目的是让他做web服务和自动生成tls证书。
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install
安装结束后,我们用winscp软件登陆vps进行相关修改。第一次我们来申请个tls证书,winscp进入/usr/local/caddy/ 下新建Caddyfile文件(注意大小写 )并写入配置文件。下面我用cloud.cctv.com域名、demo@cctv.com邮箱为例,进行相关配置。请换成自己的域名邮箱。
cloud.cctv.com { tls demo@cctv.com log /var/log/caddy.log }
完成后再putty中输入
service caddy start
再执行
tail -f /tmp/caddy.log
查看有没有申请成功tls证书。如出现日志文件出现 Serving HTTPS on port 443 https://xxxxx.xxx,即表示证书创建成功。不成功的话检查你的ip是否解析好,有没有套用cdn,套用cdn、短时间多次执行申请都是不会成功的。
也可以在winscp里面按ctrl+alt+H键,看是否有隐藏文件夹.caddy,没有的话说明申请不成功。浏览器输入https://你的域名 ,应该出现404 not found。
5、安装trojan并配置Caddyfile
我们用Trojan的官方一键脚本
bash -c "$(curl -fsSL https://raw.githubusercontent.com/trojan-gfw/trojan-quickstart/master/trojan-quickstart.sh)"
如果出错说明可能没有curl,我们需要下载curl程序
debian用下面命令
apt-get install -y curl
然后再运行上述一键脚本。
由于caddy也占用了443端口,这时我们需要修改下caddy的配置文件,让caddy监视80端口
先关闭caddy
service caddy stop
然后用winscp进入/usr/local/caddy 修改Caddyfile文件,把原来的所有内容改为下面的:
:80 { root /var/www/site gzip browse }
其中root /var/www/site是你网页放置的位置。
再运行
service caddy start
6、修改trojan的配置文件
winscp登录vps服务器,进入/usr/local/etc/trojan/config.json
只需要修改2处
6.1把 “password1″,”password2” 处改为“密码”修改成你的密码,注意该字段双引号。
6.2把证书及密钥文件位置修改成刚才申请到到密钥位置。在 “cert”: “/path/to/certificate.crt”,”key”: “/path/to/private.key”,分别替换成
“cert”: “/.caddy/acme/acme-v02.api.letsencrypt.org/sites/你的域名/你的域名.crt”,
“key”: “/.caddy/acme/acme-v02.api.letsencrypt.org/sites/你的域名/你的域名.key”,
具体证书密钥路径可以在winscp查看 .caddy 在这个隐藏文件里面
7、运行trojan
执行
systemctl start trojan
查看是否成功运行执行
systemctl status trojan
如果正常运行,我们加入开机自启,运行
systemctl enable trojan
查看错误日志
journalctl -fu trojan
8、以上我们就成功的搭建了trojan平台。我们还需在客户端上使用。
Windows客户端下载地址https://github.com/trojan-gfw/trojan/releases,找到新版本的win.zip压缩包。下载成功之后解压。
然后修改目录中的config.json配置文件中的local_port、remote_addr和password即可。要启用fastopen,修改fastopen为true,”fast_open”: true,其中,remote_addr填写自己的域名,local_port开启本地端口,用来接收本地数据,如果有其它代理工具建议修改为不常用端口,否则容易冲突。本例就使用1080端口。Trojan不需要安装就可以直接运行,拷贝Trojan文件夹到电脑里面,双击即可运行。如果启动报错,那么说明你的系统里面没有C++运行环境,需要安装VC++运行环境(1.12.3及以前版本安装x86环境,1.13.0及以后版本安装x64环境,或者两个版本都安装也行),然后重新启动Trojan,确认Trojan没有报错即可。如果启动Trojan会一闪而过,那么应该是你配置文件有错误,请仔细检查。
浏览器开启trojan代理
打开电脑cmd命令,输入
start chrome路径 –proxy-server=”socks5://127.0.0.1:1080″ –host-resolver-rules=”MAP * ~NOTFOUND, EXCLUDE 127.0.0.1″
在打开的chrome浏览器里就可以上一些不存在的网站了,chrome路径改为自己电脑的。
由于trojan目前比较小众,没有图形客户端,使用不方便,我主要使用路由器作为客户端,下篇将会讲如何在openwrt路由器上增加trojan客户端。
9、其他说明
需要网站内容的话,可winscp上传网站内容至/var/www/site/ 里面,这样在浏览器里输入域名网址即可访问你你放的网站。
浏览过一些墙外网站,想查看fastopen是否启用 可以用这个命令,注意客户端和服务端都要开启fastopen
grep '^TcpExt:' /proc/net/netstat | cut -d ' ' -f 85-92 | column -t
如果 TCPFastOpenPassive 在增长,表示接受到了fast open的tcp连接。
由于caddy申请的证书只有3个月有效期,到期后我们需要先关闭caddy和trojan,再执行本教程中的第4步,修改下Caddyfile文件,让caddy获取到新证书,然后继续按下面的步骤运行。
用了一段时间trojan,速度还是比较快的,比v2ray的ws快,但貌似没有v2ray 的tcp快。我用trojan在google play上下载游戏目前达到最快24M/s,达到了200Mbps的速度,这是以前没有过的。
技术不断升级,请注意文章时效性。
本站文章,欢迎转发。转载请注明出处:https://www.bandwh.com/kxsw/50.html
评论列表(8条)
23年了还能用吗
大佬,caddy这个软件好像不能下载了?
感谢分享,顺便推荐个目前自用的V2ray+Trojan梯子,不限流量免费试用三天能刷奈飞,还有高质量IPLC线路,客服售后给力
https://xbsj4621.fun/i/ask09911
大家可以试试
首先,感谢分享
请问博主有没有遇到,用一会就断开网络,过一会就没事了
apt-get install -y curl 用不了
apt-get update -y
为什么我的https://域名 只有翻墙才能打开(显示连接安全),但http://域名 就可以直连打开。(ps:按教程操作后trojan无法科学上网)
Loaded: loaded (/etc/systemd/system/trojan.service; disabled; vendor preset: disabled)
改用nginx可解决三个月需重新申请证书问题。亲测可用