环境介绍

名称 版本
操作系统 Ubuntu 20.04

自动安装流程

前提是将伪装的域名解析到你服务器公网ip即可
1
wget https://raw.githubusercontent.com/putianhui/public/master/proxy/install_trojan.sh && bash install_trojan.sh

手动安装步骤

手动准备配置和证书

准备trojan配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 创建Trojan-go目录
sudo mkdir -p /etc/trojan-go

# 生成并修改Trojan-go配置文件
sudo cat > /etc/trojan-go/config.json<<EOF
{
"run_type": "server",
"local_addr": "0.0.0.0",
"local_port": 443,
"remote_addr": "127.0.0.1",
"remote_port": 80,
"password": [
"your_awesome_password"
],
"ssl": {
"cert": "/etc/trojan-go/trojan.crt",
"key": "/etc/trojan-go/trojan.key",
"sni": "your-domain-name.com"
}
}
EOF
"your_awesome_password"sni
trojan.keytrojan.crt/etc/trojan-go/

docker安装Trojan-Go

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 安装工具
apt-get install -y nginx curl wget

# 安装docker
curl -fsSL https://get.docker.com |sudo bash

# 生成docker配置文件
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://ub816mdv.mirror.aliyuncs.com"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

## 重启docker服务
systemctl daemon-reload && systemctl restart docker

# 启动nginx服务,将nginx及docker服务加入开机自启
systemctl start nginx && systemctl enable nginx && systemctl enable docker

# docker 启动Trojan服务
docker run -d --network host --name trojan-go --restart=always -v /etc/trojan-go:/etc/trojan-go teddysun/trojan-go

# 关闭防火墙
sudo ufw disable

systemctl stop firewalld

查看日志

1
2
# 出现下面日志即为成功
[INFO] 2022/09/16 10:36:42 trojan-go v0.10.6 initializing
snilocal_port

当想更换链接端口时,修改config.json配置文件,把local_port中的443修改为你自定义端口,重启下docker的trojan-go容器即可。

开启BBR加速

Ubuntu开启BBR加速的前提是内核高于4.9,所以先检查内核版本:

1
uname -a  

如果版本高于4.9,那就可以直接开启BBR,如果低于,则按照以下步骤先更新内核版本(root权限)~ 首先确定你的系统是32位还是64位的:

1
getconf LONG_BIT 

修改系统变量:

1
2
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

如果执行以上命令时显示拒绝访问则可以尝试使用如下命令:

1
2
sudo bash -c 'echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf'
sudo bash -c 'echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf'

保存生效:

1
sysctl -p

查看是否开启成功,执行如下命令:

1
sysctl net.ipv4.tcp_available_congestion_control

如果返回结果为:

1
net.ipv4.tcp_available_congestion_control = bbr cubic reno

那么恭喜你BBR开启成功了~

客户端使用配置

Clash当做Mac和win的客户端

对应系统安装包双击解压安装
1
2
3
# Mac下载地址:https://github.com/Fndroid/clash_for_windows_pkg/releases/download/0.20.5/Clash.for.Windows-0.20.5-arm64.dmg

# Win下载地址:https://github.com/Fndroid/clash_for_windows_pkg/releases/download/0.20.15/Clash.for.Windows.Setup.0.20.15.exe
# 代理服务器配置Trojan服务端信息自己部署信息一个随便的位置等下能找到导入即可
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 下载后打开文件修改下面的信息为你自己的,其他配置项默认即可
# 代理服务器配置
proxies:
- name: 'trojan-hk' # 起一个链接的名称,随意都可以
type: trojan # 这里是Trojan类型的服务器
server: hk.xxx.cn # Trojan服务地址
port: 1443 # Trojan服务端口
password: 123456 # Trojan服务端连接密码
# udp: true
sni: hk.xxx.cn # 填写Trojan伪装域名
alpn:
- h2
- http/1.1
skip-cert-verify: true # 跳过Trojan证书验证
Clash软件配置导入选择配置模板文件

导入成功选中时左边为绿色

点击代理Proxy选择你刚刚导入服务器名称

右击clash系统状态栏System Proxy开启代理

开启代理成功是否能打开
不需要域名或者ip段不走代理域名或ip段设置系统代理绕过域/网络编辑

Mac端

使用桌面软件配置

自己Trojan服务器配置信息
Trojan-Qt5配置服务器信息
1
链接: https://pan.baidu.com/s/1XEofv43pQsTzsEIKfgEWZA 提取码: aqem 

Trojan官方客户端命令行加Chrome插件

安装Trojan-Client

下载Trojan-go的二进制包并解压

1
2
3
4
5
6
# 下载
$ wget https://github.com/p4gefau1t/trojan-go/releases/download/v0.10.6/trojan-go-darwin-arm64.zip

# 解压
$ unzip trojan-go-darwin-arm64.zip
$ mv trojan-go-darwin-arm64 ~/trojan

修改客户端配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ cd ~/trojan
$ vim example/client.json
# 主要修改下面几个地方配置,其他默认即可。
{
"run_type": "client", # 修改为client类型
"local_addr": "0.0.0.0", # 服务本地监听所有ip地址
"local_port": 10887, # 本地代理服务器地址,后面在代理服务器端口里面用到
"remote_addr": "vpn.xxx.cn", # 你的Trojan服务器绑定域名
"remote_port": 1443, # 你的Trojan服务器使用的端口号
"password": [
"123456" # 你的Trojan服务器密码
],
"ssl": {
"verify": false, # 关闭https证书的验证
"verify_hostname": false, # 不验证主机名
"cert": "", # 空即可
"sni": "vpn.xxx.cn" # 你的Trojan服务器绑定域名
},
}

启动Trojan客户端服务

1
2
3
4
5
# 前台启动
./trojan-go -config ./example/client.json

# 丢到后台启动
nohup ./trojan-go -config ./example/client.json 2>&1 &
浏览器使用代理注意Trojan客户端运行状态
安装 SwitchyOmega
SwitchyOmega

安装完毕后应该会自动打开选项页面,之后按以下说明操作即可。

导入备份
跳过教程

从备份文件恢复随便指定
第三步会选择文件的对话框刚下载好的备份文件

设置代理服务器

比较简单“GFWed”Trojan-Client代理协议(HTTP)代理服务器地址(127.0.0.1)代理端口(local_port端口号)
更新规则列表
GFWList 项目经常更新规则列表定期下载更新SwitchyOmega 项目有提供自动下载

因为规则列表网址本身也有可能需要代理才能访问

如果成功了,大概会像是图中这样

代理规则的选择
自动切换默认GFW里面域名ip走代理即没在gfw列表又没在自定义规则里面的域名或ip时提示你将当前网站域名添加条件

走代理直接连接

此时你就可以愉快的上网了