如何搭建梯子(Trojan-Go方法)

The Great Firewall(GFW),是国内大陆的网络审查系统,所有的内外网络交互数据都会被审查。如果访问的数据包含敏感内容,访问会被强制中断。合法合规的访问必须备案,而未经备案的访问方式被称为VPN、翻墙、梯子。

Virtual Private Network(VPN),虚拟私有网络。一般指相对于公开网络的,只有指定方式才能访问的,利用内外穿透的方式实现公网访问内网的是VPN。可以看到VPN是提供外网访问内网的一种方式,但是因为GFW的存在,中国大陆的网络可以算作一种大范围的内网。

除了内网、公网,还有一种网络叫做暗网(Dark Web),是深网(Deep Web)的一部分,暗网的内容无法用搜索引擎查找,甚至VPN都没有用,需要特定的浏览器,特别的网址。大部分不合法的内容都在里面。我们可以通过搜索引擎找到的内容、甚至不用搜索引擎找到的内容大概只有暗网的1/400。

现在网上的VPN服务商很难找,找到的不知道稳不稳定,会不会随时跑路,会不会被封。

最大的问题,大部分服务商不支持Linux平台,这就让只使用linux的人很难受(比如我)。

本文介绍如何用国外服务器搭建一个VPN。

网络安全一直是大问题,如果数据直接是明文,到达GFW时会立刻被查出来,所以需要加密。

加密方式

Shadowsocks

ShadowsocksR

V2Ray

V2Ray使用了新的自行研发的VMess协议,改正了Shadowsocks一些已有的缺点,更难被墙检测到。V2Ray 的节点可以伪装成正常的网站(HTTPS),将其流量与正常的网页流量混淆,以避开第三方干扰。

Trojan

Trojan只使用HTTPS

搭建VPN

我使用的是Trojan,安全第一。

1、首先准备一台国外的服务器,服务商最好也是国外的。

server

然后登录到服务器中

htop

512MB + 1 CPU + Ubuntu 20.04 LTS

2、到国外的域名服务商网站(name或者godaddy)购买一个域名。

在DNS控制台,添加一个A记录,并指向服务器IP地址

dns

3、从腾讯或者阿里或者freessl申请一个对应域名的证书。

4、在服务器中安装Apache2或者Nginx,根据自己喜好。确保服务器的80端口可以访问,443即https端口无法访问。

5、从https://github.com/p4gefau1t/trojan-go下载对应服务器平台的安装包

解压上传到服务器上(或者可以直接下载到服务器,在服务器中解压)

files

在使用之前需要配置一下

6、将example文件夹中的文件复制到程序所在文件夹

先看一下server.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
"run_type": "server",
"local_addr": "0.0.0.0",
"local_port": 443,
"remote_addr": "127.0.0.1",
"remote_port": 80,
"password": [
"your_password"
],
"ssl": {
"cert": "your_cert.crt",
"key": "your_key.key",
"sni": "your-domain-name.com"
},
"router": {
"enabled": true,
"block": [
"geoip:private"
],
"geoip": "/usr/share/trojan-go/geoip.dat",
"geosite": "/usr/share/trojan-go/geosite.dat"
}
}

password字段改为自己想要的,最好复杂一些。

ssl字段下的cert、key字段填写申请的SSL证书位置,sni填写证书对应的域名。

7、运行命令,这里推荐使用Screen

执行命令

1
./trojan-go -config server.json

运行效果为

running

如果443端口被占用,则自动退出。

8、检查一下是否运行正常,在浏览器中输入https格式的域名,应该会看见默认的Apache2页面

https

Apache2并没有配置SSL,而443端口被trojan-go程序占用,证明运行正常。

服务器搭建完毕

Windows

v2rayN

v2rayN下载最新的版本,当前版本为4.20(需要安装依赖.net 环境)。

运行程序,点击菜单栏最左侧的服务器菜单

server

然后弹出配置界面

config

点击确定,在状态栏找到软件的图标,设置自动设置代理模式,然后软件图标会变为红色

icon

使用Firefox时,要设置浏览器的代理设置

firefox

这样就可以访问外网了

done

Trojan-Qt5

经过测试,可以使用

Linux

随便下载一个客户端,我用的是Manjaro Linux仓库提供的V2Ray Desktop

v2ray

设置trojan,把之前保存的地址、端口、密码填入

setup

ALPN Protocols字段就填写它提供的示例。

在setting页面,将模式修改为全局

global

然后可以看到软件默认页面信息变了

dashboard

经过测试并不能用。

然后我尝试了另一个客户端,qv2ray。当然,还有trojan插件

默认界面为:

default

点击下方的New创建新的链接

New

然后就可以了,当然浏览器的代理需要设置一下

done

优化

启动BBR

先安装依赖

1
apt install ca-certificate

运行脚本

1
wget "https://github.com/chiakge/Linux-NetSpeed/raw/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh

sh

依次选择1/2/3,试一下哪个可以正常安装或者喜欢哪个。

经过测试,内核没有选,加速选择了4,也就是使用系统BBR。

bbr