GFW

什么是 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

一键安装脚本

感谢 johnrosen1 提供的一键脚本:https://github.com/johnrosen1/trojan-gfw-script

sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/johnrosen1/trojan-gfw-script/master/vps.sh)"

注:
开发者更新后删除了 v2ray 等,我 fork 后回退了一下版本,想安装多个应用的用这个吧:

sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/harry3633/trojan-gfw-script/master/trojangui.sh)"
  1. 方向键选择,回车确定安装。提示 VPS 打开 80,443 端口,一般服务器都是开的吧,我还没碰到过没打开这两端口的。
  2. 可安装项目有很多,我是把下载相关的都取消了,没这方面需求。

  3. 输入已经解析成功的域名。
  4. 输入用户密码阵列两个,可输不同的密码,一样也可以。

  5. 输入访问 natdata 访问路径,随便填。
  6. 是否使用 API ,支持 cloudflare,aliyun,dnspod 等几家,当然也可以选否,不用去输入 key,更简单。


    如果是 cloudflare,在 My Profile 里选择 Global API Key:
  7. 回车开始自动安装,等一袋烟的功夫出结果。

  8. 访问域名会出现一个网站

注:更多请看 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 使用。

  1. 如果使用 Chrome 浏览器,可在 SwitchOmeaga 新增情景模式,代理协议填入 SOCKS5,代理伺服器填 127.0.0.1,端口填 1080 或者配置已经修改的端口。
  2. 在 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

Pay by WeChat

Pay by WeChat

Comment

  1. Jeason Jeason
    Chrome 63

    感谢。哪里有打赏,我想感谢一下你。

    1. harry harry
      Chrome 79

      不客气,能帮到就好

  2. joki joki
    QQ 10

    谢谢分享,拯救我的bwg,用v2ray速度只有2m,现在用trojan能看4k了。谢谢。。。

  3. Sam.Z Sam.Z
    Firefox 72

    这么明文写,小心域名直接黑名单哦~ 不过,给你点赞~ 我还是一直用的free梯子

    1. harry harry
      Chrome 79

      反正没放国内,访问量也不大还好了。
      现在还能找到免费的?以前我是一直薅 google 的羊毛,但也买一个备用,以防万一

      1. Sam.Z Sam.Z
        Firefox 72

        嗯,这个免费的我用了有1年多,靠淘宝和其他APP推荐买东西回流量,相当于别人拿收益然后给你流量用,而你买东西是本来就要买的,所以持久。

This is just a placeholder img.