关于Trojan
Trojan是一种新型的科学上网工具,近期受到很多用户的欢迎。Trojan直译过来就是特洛伊木马的意思,作者起这个名字,就隐约暗示了这款工具的伪装欺骗功能。
Trojan可以将科学上网流量,伪装为HTTPS网页浏览。相比Shadowsocks/SSR/V2ray等其它工具,Trojan因为有真实的网页做为掩护,因此伪装效果更好,更不容易被封锁。从这一点来说,Trojan与V2ray的WS+TLS模式非常相似,两者的使用效果也很接近。
Trojan Github官方页面:https://github.com/trojan-gfw/trojan
Trojan科学上网的实现原理:
用户分别在服务器和本地设备搭建好Trojan后,Trojan和伪装网站,共同使用443端口。
- 用户通过Trojan客户端访问443端口时,会被服务器识别为科学上网流量,自动使用代理功能。
- 其它人直接访问服务器80/443端口时,会被服务器识别为网页请求,直接展示伪装网站。
通过以上伪装及分流,就可以让GFW防火墙认为我们在访问真实的网站,从而避开封锁和限速,提升科学上网的速度和稳定性。
Trojan的优点:
- 使用TLS协议加密,安全性有保证。
- 使用真实网站伪装流量,不容易被封锁。
- 由于被认为是网站流量,基本不会被QOS限速,科学上网速度更快、更稳定。
- 由于Trojan的开发目的很明确,所以参数更少,配置更简单。
- 目前使用人数相对较少,更不容易被墙针对。
Trojan的不足:
- 出于实现原理,Troian的搭建,需要购买一个域名指向伪装网站。
解决办法:可以在国外域名网站购买,比如namesilo、godaddy等,支持支付宝付款,买一个最便宜的后缀就可以了。如果在国内网站购买域名,需要实名认证,相对比较繁琐。
- 需要在VPS服务器建立一个伪装网站并申请SSL证书。
解决办法:这一点很好解决,本文介绍的一键脚本会自动完成。
以上两点不足,其实并不算缺点,而是实现Trojan伪装效果的必备途径。相对Trojan的优点来说,不足之处可以接受,也很好克服,就是一个域名的事。
安装Trojan前的准备工作
在搭建Trojan之前,我们需要提前做一点准备工作。
1.我们需要购买一台国外的VPS服务器,用于Trojan的搭建。在选择系统时,建议选择Debain 9 及以上,或者Ubuntu 16 及以上、又或者CentOS 7 及以上,以方便Trojan一键安装脚本的适配。
推荐口碑和性价比都不错的两家:
如果你觉得搭建流程太过繁琐,也可以考虑使用Justmysocks的代理服务,免搭建,速度和性价比也很不错。
2.购买一个便宜的域名,在后台设置DNS,将域名指向你的VPS服务器IP。
域名购买可以参考上文介绍的域名网站,购买成功后在设置DNS时,可以设置将根域名指向服务器IP,也可以设置二级域名。
比如域名是abc.com,那么可以随意设置 abc.com 或者 www.abc.com 又或者 ab.abc.com,以上三种形式都可以。
Trojan一键安装脚本使用教程
本文介绍的Trojan一键安装脚本,来自atrandys,在此表示感谢。
本一键脚本特点:
- 全自动配置伪装网站,网站位于/usr/share/nginx/html/目录,可自行修改替换。
- 全自动申请配置SSL证书用于https网站,使用的是let’s encrypt证书。
- SSL证书到期前会自动续期,免维护。
- 自动配置开放80、443端口。
- 自动配置好Trojan客户端文件及参数,下载即可使用。
- 暂不支持Cloudflare等CDN服务,建议不要使用CDN。
安装环境:
- 架构:KVM、OpenVZ(OVZ)
- 系统:CentOS 7+ 、Debian 9+ 、 Ubuntu 16+
Trojan一键安装脚本安装流程:
1.使用Putty连接至服务器,右键复制如下命令运行:
1 |
curl -O https://raw.githubusercontent.com/atrandys/trojan/master/trojan_mult.sh && chmod +x trojan_mult.sh && ./trojan_mult.sh |
如果以上命令运行时出现关于curl的错误提示,那么需要先为服务器安装curl后,再运行以上命令。如果没有错误提示,则忽略本段内容。
根据系统不同,curl的安装命令分别为
CentOS:
1 |
yum install curl -y |
Debian/Ubuntu:
1 |
apt-get install curl -y |
2.出现如下界面时,输入数字1回车,开始安装Trojan:
3.接下来会提示输入网站域名,在这里输入你申请好的域名,比如 www.abc.com 或者 abc.com。具体输入时,需要与你域名的DNS设置保持一致。
提示:少数情况下,如果这一步提示SELinux相关错误,那么按提示输入y回车,重启后重新运行本脚本。
4.如果域名的DNS设置正确,那么会继续安装过程。否则请检查你的DNS配置,修改正确后再安装。
5.Trojan安装完成后,会出现如下提示界面。
其中蓝色字体为Trojian Windows客户端及参数配置文件打包,保存在你的服务器上,鼠标选择链接会自动复制,然后通过浏览器或下载工具下载至本地电脑。
6.下载得到的Trojan Windows客户端,已经配置好连接参数,解压后运行其中的start.bat,就可以启动Trojan连接服务器了。
提示:Trojan客户端在后台运行,没有任何界面,如需停止,那么运行stop.bat即可。
Trojan Windows客户端使用教程:
Trojan Windows客户端下载及使用教程 配合V2ray实现全局代理
Trojan其它各平台客户端:
Trojan各平台客户端下载汇总 Windows/Mac/安卓/iOS/Linux/路由器
安装Trojan后的网络优化(可选)
以上各步骤完成后,Trojan服务器端已经搭建完成,可以直接使用了。
不过我们可以通过一些额外措施,进一步优化Trojan的连接速度,提高使用体验。
Trojan使用的是TCP流量,我们可以为服务器安装TCP加速工具,比如BBR或锐速,对Trojan进一步优化。这里我们更推荐安装BBR,因为锐速较容易安装失败。
BBR一键安装脚本汇总(任选其一):
关于Trojan客户端的代理模式
注意:
目前的Trojan客户端并没有全局代理功能,因此打开客户端后,并不能直接科学上网,而是要其它软件通过Socks协议,连接Trojan客户端的1080端口,连接成功后实现代理功能。
实现方法主要有两种:
- 可以通过火狐或Chrome浏览器,安装SwitchyOmega扩展插件,设置代理为Socks5 127.0.0.1:1080,实现浏览器科学上网。
- 也可通过V2ray Windows客户端连接Socks5 127.0.0.1:1080,实现全局科学上网。
具体可以参考:
Trojan Windows客户端下载及使用教程 配合V2ray实现全局代理
其它常见问题
1.如何修改Trojan的配置参数,比如连接密码?
直接修改Trojan服务器端和客户端的配置文件,两者保持一致,修改好后重启Trojan。
- Trojan服务器端配置文件路径:/usr/src/trojan/server.conf
- Trojan Windows客户端配置文件路径:在下载并解压的客户端目录中,找到config.json,用记事本打开后修改并保存。
2.如何重启Trojan服务器端?
运行如下命令:
1 |
systemctl restart trojan |
3.可以短时间内,用一键脚本频繁安装Trojan吗?
不建议太频繁,因为安装过程中需要申请SSL证书,对同一域名来说,SSL证书的申请次数是有限制的,建议一周不超过4次。
4.使用Trojan一段时间后,客户端连接失败,出现类似于证书验证失败的英文提示?
Let’s encrypt的SSL证书有效期为90天,部分情况下可能会续期失败。此时建议重新运行Trojan一键脚本,输入数字4修复证书,修复完成后即可重新连接。
5.Trojan Windows客户端运行出错,提示找不到vcruntime140.dll或msvcp140.dll?
这表示系统缺少运行库,安装VC++,点此进入下载页面。
6.如何卸载Trojan服务器端?
重新运行Trojan一键安装脚本,输入数字2回车,即可卸载。
其它常用代理工具 一键搭建脚本
可以多实现多端口吗