Trojan一键搭建教程
什么是 Trojan
Trojan 是一个比较新的翻墙软件,它模仿了互联网上最常见的HTTPS协议,以诱骗 GFW 认为它就是 HTTPS,从而不被识别。所谓魔高一尺道高一丈,墙在不断往上砌,那工具也得跟着变了。
Trojan 工作在 443 端口,并且处理来自外界的 HTTPS 请求,如果是合法的 Trojan 请求,那么为该请求提供服务,否则将该流量转交给 WEB 服务器 Nginx,由 Nginx 为其提供服务。基于这个工作过程可以知道,Trojan 的一切表现均与 Nginx 一致,不会引入额外特征,从而达到无法识别的效果。当然,为了防止恶意探测,我们需要将 80 端口的流量全部重定向到 443 端口,并且服务器只暴露 80 和 443 端口,这样可以使得服务器与常见的 WEB 服务器表现一致。
项目地址: https://github.com/trojan-gfw
搭建前准备
域名申请
目前免费顶级域名我知道的只有 http://www.freenom.com/zh/index.html 可申请。另外,在一些域名商家也可购买几块钱一年的,我看阿里云现在有 6 元一年的,一年一换也不费事。
VPS 购买
还是建议 VULTR.COM,主要是因为在同价位 VPS 中比较稳定,IP 虽然日本经常有被墙的,但可以随时换啊,无论是换地区还是换 IP。论小时计费,如果用 IPV6 的话最低 $2.5/月,IPV4 的最低有美区 $3.5/月,我觉得还是比较合适的。
DNS 解析
免费解析网站有很多,首先域名申请机构一般都会解析,如腾讯云,阿里云,godaddy 等,还有:
- cloudflare.com
- dns.he.net
- dnsever.com
将域名解析设置到购买的 VPS 对应 IP,并确认已成功。使用 cloudflare 的记得将 DNS only 灰掉。
一键安装 Trojan
系统建议:
- Debian 9,10(推荐)
- Ubuntu 14,16,18
- CentOS 7,8
安装依赖包
安装依赖包(Debian/Ubuntu):apt-get update && apt-get install sudo whiptail curl locales -y && sudo -i
安装依赖包(Centos):yum update -y && yum install sudo newt curl -y && sudo -i
一键安装脚本
现在还是使用下面这个脚本吧:
https://github.com/mack-a/v2ray-agent
见我的原文V2Ray最新协议VLESS一键安装脚本感谢 johnrosen1 提供的一键脚本:https://github.com/johnrosen1/trojan-gfw-script
注:
开发者更新后删除了 v2ray 等,我 fork 后回退了一下版本,想安装多个应用的用这个吧:sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/harry10086/trojan-gfw-script/master/trojangui.sh)"
方向键选择,回车确定安装。提示 VPS 打开 80,443 端口,一般服务器都是开的吧,我还没碰到过没打开这两端口的。
可安装项目有很多,我是把下载相关的都取消了,没这方面需求。
输入已经解析成功的域名。
输入用户密码阵列两个,可输不同的密码,一样也可以。
输入访问 natdata 访问路径,随便填。
是否使用 API ,支持 cloudflare,aliyun,dnspod 等几家,当然也可以选否,不用去输入 key,更简单。
如果是 cloudflare,在 My Profile 里选择 Global API Key:回车开始自动安装,等一袋烟的功夫出结果。
访问域名会出现一个网站
注:更多请看 Github 详情。如域名已有证书,请放置于 /etc/trojan/trojan.crt
处,脚本会自动跳过域名解析验证,申请证书以及 acme.sh 安装
客户端及配置
Windows,Linux,MacOS
开发者有发布三大系统客户端:
https://github.com/trojan-gfw/trojan/releases
只说下 Windows 下使用,下载解压缩,如果启动 trojan.exe 报错,说明系统没有 C++ 运行环境,需要安装 VC++ 运行环境,压缩包里已经有了:VC_redist.x64.exe。
修改配置文件 config.json,很简单,就下面两个地方,本地端口默认 1080,可选修改:{
"run_type": "client",
"local_addr": "127.0.0.1",
"local_port": 1080,
"remote_addr": "example.com #改为解析的域名",
"remote_port": 443,
"password": [
"password1 #改为服务器端安装时设置的第一密码"
],
"log_level": 1,
"ssl": {
"verify": true,
"verify_hostname": true,
"cert": "",
"cipher": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:AES128-SHA:AES256-SHA:DES-CBC3-SHA",
"cipher_tls13": "TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384",
"sni": "",
"alpn": [
"h2",
"http/1.1"
],
"reuse_session": true,
"session_ticket": false,
"curves": ""
},
"tcp": {
"no_delay": true,
"keep_alive": true,
"reuse_port": false,
"fast_open": false,
"fast_open_qlen": 20
}
}
目前 Trojan 客户端没有全局代理而且仅支持 socks5,因此得配合 Chrome 的 SwitchOmeaga 插件或者用 V2rayN 客户端把 socks5 转换成 http 使用。
- 如果使用 Chrome 浏览器,可在 SwitchOmeaga 新增情景模式,代理协议填入 SOCKS5,代理伺服器填 127.0.0.1,端口填 1080 或者配置已经修改的端口。
- 在 V2rayN 客户端点击服务器->添加 SOCKS 服务器->填写服务器地址:127.0.0.1 端口:1080。即可实现国内分流了。
Android
下载安装,填上域名,密码就可以使用了,目前没过多选项,而且仅支持一个节点连接:
https://github.com/trojan-gfw/igniter/releases
支持 IPV6 和大陆白名单,不过我发现大陆白名单的使能开关需要关闭再打开一次才起作用。
如果运营商支持 IPV6,可在 DNS 解析设置 IPV6 ,我这没法测试,不知道速度会不会更好。
iOS
因为已经很多年没用过 iOS 了,所以就知道目前 Shadowrocket 俗称小火箭最新版是支持 Trojan 的。
路由器
目前仅有 Openwrt 系统有支持 Trojan 的插件,可根据路由器型号选择刷机。
在 LuCI 里有 SSR-Plus 和 passwall 插件,都支持 SS,SSR,V2ray,Trojan 等,就体验来讲,我个人更喜欢 passwall 插件。
后记
因为手动安装复杂很多,涉及到的知识面也更多,所以不想写了,一键安装确实方便了我这样的懒汉。
Trojan 似乎和 V2Ray+WS+TLS 机理差不多,从安全性来说两者稍有点差异但不大,而速度 Trojan 更有优势。就我测试的美国主机,本身速度就比较慢,V2Ray+WS+TLS 平均下载 1M 左右,最高 1.5M,而 Trojan 平均下载速度 2M 以上,最高可以到 3.5M。
参考:
Trojan-GFW —一把通往自由互联网世界的万能钥匙:https://www.johnrosen1.com/trojan/
自建梯子教程 —Trojan版本:https://trojan-tutor.github.io/2019/04/10/p41.html
奖励链接: 欢迎使用推荐链接,新用户充值有奖励 https://www.vultr.com/?ref=7342510