Trojan客户端
介绍
- Trojan是一个代理软件,它分为Trojan服务端和Trojan客户端,本文介绍使用Trojan客户端,其服务端需要提前准备好,并且服务端不在本文讨论范畴
- 本文整理Linux下和Win下的Trojan客户端,也就是代理服务端的配置
- 本文内容需要搭配socks5代理客户端进行使用,以便于达到最终代理目的
- 搭建Trojan客户端需要提前准备好Trojan服务端,需要如下信息
- Trojan服务端的域名或者IP
- Trojan服务配置的端口
- Trojan服务配置的密码
- 本文使用的Linux环境是Ubuntu
这里有必要说明一个概念:
假设这样一个场景,当前需要代理去访问Google网站,那么如果使用Trojan来做解决方案,则需要三个内容
第一个是Trojan服务端,真正提供代理网络服务的
第二个是Trojan客户端,它是Trojan客户端,但是是代理服务端,这里说明的就是这个概念,可能不太好理解,慢慢来
第三个是代理客户端,这是让设备可以代理的客户端软件,它连接Trojan客户端
整个模型是:你的浏览器 –> 代理客户端 –> Trojan客户端 –> Trojan服务端
Linux环境搭建Trojan客户端
软件链接:github trojan
下载并解压
根据对应Linux的架构下载对应编译好的包,或者可以自行下载源码进行编译,我这里用x86_64
架构举例
- 首先获取对应的压缩包,要么浏览器下载上传,要么用
wget
获取,例如wget https://github.com/trojan-gfw/trojan/releases/download/v1.16.0/trojan-1.16.0-linux-amd64.tar.xz
- 解压
tar -xf trojan-1.16.0-linux-amd64.tar.xz
解压出的文件夹放到你环境软件安装的目录,我这里放在/usr/local/share/
目录下mv trojan /usr/local/share/
配置
- 因为这里需要用的是Trojan的客户端,所以复制一份客户端的配置模板
1
2cd /usr/local/share/trojan
cp examples/client.json-example client.json - 然后修改client.json进行配置,这里不配置ssl,所以只需要修改以下几个参数即可,其他默认不动
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15{
"run_type": "client",
"local_addr": "127.0.0.1", //这里是本地监听的ip,127.0.0.1代表本地所有
"local_port": 1080, //本地监听端口
"remote_addr": "example.com", //这是远端Trojan服务器的地址或者域名
"remote_port": 443, //这是远端Trojan服务器的端口
"password": [
"password1" //这是远端Trojan服务链接的密码
],
"ssl": { //因为不用ssl证书,所以这里两个选项均改成false
"verify": false,
"verify_hostname": false,
...
}
}
使用
通过二进制直接拉起并且使用上面改好的配置文件./trojan -c ./client.json
不出意外一般没有什么问题,有问题会打印对应日志
使用systemd管理
上述手动拉起是一个方式,这里可以通过systemd进行管理,编写服务文件trojan.service
,内容如下
1 | [Unit] |
然后将其放入/usr/lib/systemd/system/
目录下并且执行如下命令进行启动即可
1 | systemctl daemon-reload |
通过systemd管理的日志可以通过这个命令查看journalctl -u trojan
灵活使用
到这里算是Linux上部署了Trojan的客户端,也就是代理服务端,然后需要搭配代理客户端进行代理使用,可以参考这一篇socks5代理客户端
如果该Linux是作为服务器使用的,那么只要其他设备能够连接到该服务器,就可以实现任何设备通过对应的代理客户端进行代理访问!
尤其是局域网内,可以实现多个设备连接这里监听的IP和端口!
Windows环境搭建Trojan客户端
软件链接:github trojan
因为是相同的软件,所以配置文件是一样的,区别就是下载对应的Windows版本
trojan-1.16.0-win.zip
解压后操作
- 双击
VC_redist.x64
进行安装 - 修改配置文件,这部分参考上面Linux的配置,但是有个区别就是,复制出来的名字必须是
config.json
也就是将目录下的进行覆盖掉,因为双击打开的时候默认使用的是config.json
作为配置文件 - 双击打开
trojan.exe
程序即可,没有问题的话可以直接使用
Mac环境搭建Trojan客户端
软件链接:github trojan
使用的相同软件,搭建方式大同小异,本人没有mac,这里不讨论!