Across the Great Wall, we can reach every corner in the world.
作为程序员,经常需要访问一些不存在的网站,之前已经写过两篇相关的内容了,分别是自建 shadowsocks 服务器教程和命令行下使用代理,不过随着形势的日益严峻,经常随着各种会议事件导致无法正常使用,现在甚至联通的 GitHub 都经常无法直连。
因为人们对自由的渴望,所以各种软件层出不穷,从早期的自由门、无界浏览,到后来的 GoAgent、蓝灯,再到如今的 shadowsocks、v2ray、Trojan,对抗在不断提升。ss 现在几乎就是透明的,每当重大事件时,大批 ss 等软件就无法使用,结束后会再继续开放。为了能更加稳定的提供服务,最重要的就是代理的流量不能被 GFW 所识别,因此,v2ray+websocket+tls 与 Trojan 就是将代理流量伪装为普通的 https 流量,从而避免被识别阻断。今天我们就使用 Trojan 来快速搭建一下。
准备域名
将域名与 VPS 的 IP 进行绑定,请勿使用 CDN!
申请证书
如果使用物理机安装,可跳过此步骤。
证书的申请可查看使用 Certbot 获取 TLS 证书
搭建服务端
物理机安装
建议 VPS 使用最新版系统,因为最新版本的内核内置了 BBR,该工具将改善网络状况,如果非最新版本,则推荐手动安装。
执行以下命令一键搭建
1 | $ curl -O https://raw.githubusercontent.com/atrandys/trojan/master/trojan_mult.sh && chmod +x trojan_mult.sh && ./trojan_mult.sh |
该脚本来自 https://www.atrandys.com/2019/1963.html ,该文章已被删除,但仍可通过存档查看https://web.archive.org/web/20200517094840/https://www.atrandys.com/2019/1963.html
安装完成后我们就可以通过systemctl start|stop|status trojan
来管理 Trojan 了,如果需要手动启动 trojan,可以在其配置目录下执行./trojan -c config.json &
Docker 安装
0. 配置 config.json
a. 创建 config.json
文件
1 | $ mkidr -p /etc/json |
b. 配置config.json
1 | { |
1. 秋水逸冰镜像
1 | docker run -d -p 443:443 --name trojan \ |
2. 官方镜像
通过查看 Dockerfile 文件,我们发现容器的工作目录是/config
,因此需要将配置文件映射到工作目录下
1 | docker run -d -p 443:443 --name trojan \ |
如果出现容器异常退出的情况,可以通过 docker ps
命令查看容器 ID,然后docker logs continer-id
查看失败原因。
由于容器无法绑定软连接文件,所以需要将 certbot 的 archive 中的真实文件绑定到容器中,容器中需要使用到的公私钥分别是fullchain2.pem
和privkey2.pem
,当 certbot 续期证书时,因为证书在运行时是加载到内存的,所以需要同事重启下 trojan 容器。
如果配置完以上内容后,仍然无法正常连接,有可能是 IP 或端口被墙,可用 https://ping.pe 检测一下。
Windows 客户端
Windows 客户端在 https://github.com/trojan-gfw/trojan/releases 获取即可。接下来Chrome 或 Firefox 需要配合 SwitchyOmega 插件使用,其配置内容如下:
设置全局代理
设置自动代理
自动代理模式中添加规则列表网址 https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt ,以实现智能分流。
macOS 系统代理设置
macOS 客户端
macOS 使用 brew 安装 Trojan
1 | brew tap trojan-gfw/homebrew-trojan |
下载搭建完成的下载地址,将其中的config.json
与fullchain.cer
两个文件移动至/usr/local/etc/trojan/
。
使用以下命令启动 Trojan
1 | $ brew services start trojan-gfw/trojan/trojan |
设置浏览器的 SwitchyOmega 同上。
iPhone 客户端
iPhone 需要安装 shadowrocket,该软件为美区付费软件,可使用以下共享账号下载。该账号仅在应用商店登录,请勿在 iCloud 登录。
账号:[email protected]
密码:Aa112211
该账号来自于 https://github.com/shadowrocketHelp/help/wiki/国外-appstore-id-账号分享
然后选择 Trojan 类型,并填写入服务配置信息即可。