科学上网,搭建 trojan 代理环境

这里为什么没有再推荐使用 shadowsocks 了,因为经过实际的使用,shadowsocks 的标识太过于明显,很容易被识别拦截。

今天我给大家推荐 trojan-go 的代理环境及安装,请合理使用,科学上网!

服务端以 centos 为例,客户端以 unbuntu 为例

服务端

下载 trojan-go:

1
2
wget https://github.com/p4gefau1t/trojan-go/releases/download/v0.10.6/trojan-go-linux-amd64.zip
mkdir -p /root/trojan-go && unzip -d /root/trojan-go/ trojan-go-linux-amd64.zip

拷贝配置文件出 trojan 目录:

1
cp /root/trojan-go/example/server.json /root/trojan-go/config.json

修改配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"run_type": "server",
"local_addr": "0.0.0.0",
"local_port": 1443,
"remote_addr": "127.0.0.1",
"remote_port": 80,
"password": ["123456"],
"ssl": {
"cert": "/www/server/panel/vhost/ssl/trojan.webape.net/fullchain.pem",
"key": "/www/server/panel/vhost/ssl/trojan.webape.net/privkey.pem",
"sni": "trojan.webape.net"
},
"router": {
"enabled": true,
"block": ["geoip:private"],
"geoip": "/usr/share/trojan-go/geoip.dat",
"geosite": "/usr/share/trojan-go/geosite.dat"
}
}

其中 8043 是一个网站 http 地址,1443 也是一个 ssl 的站点,配置了 ssl 证书,需要注意该证书的过期后要重新申请

启动服务

1
/root/trojan-go/trojan-go -config /root/trojan-go/config.json

如果跳出了,则需要检测端口和配置是否正确

开机自启动

1
vi /usr/lib/systemd/system/trojan-go.service

写入内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[Unit]
Description=trojan-go
After=network.target nss-lookup.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/root/trojan-go/trojan-go -config /root/trojan-go/config.json
Restart=on-failure
RestartSec=10
RestartPreventExitStatus=23

[Install]
WantedBy=multi-user.target

启动

1
systemctl start trojan-go

关闭

1
systemctl stop trojan-go

设置开机自启动

1
systemctl enable trojan-go

客户端

安装 trojan

1
sudo apt install trojan

客户端配置

从服务端安装的文件中复制一份客户端示例配置 /root/trojan-go/example/client.json 到本地的 /etc/trojan/config.json 中新建配置文件

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
{
"run_type": "client",
"local_addr": "127.0.0.1",
"local_port": 1080,
"remote_addr": "192.168.3.1",
"remote_port": 2443,
"password": ["123456"],
"ssl": {
"sni": "trojan.webape.net"
},
"mux": {
"enabled": true
},
"router": {
"enabled": true,
"bypass": [
"geoip:cn",
"geoip:private",
"geosite:cn",
"geosite:private"
],
"block": ["geosite:category-ads"],
"proxy": ["geosite:geolocation-!cn"],
"default_policy": "proxy",
"geoip": "/usr/share/trojan-go/geoip.dat",
"geosite": "/usr/share/trojan-go/geosite.dat"
}
}

启动服务

启动

1
systemctl start trojan

关闭

1
systemctl stop trojan

设置开机自启动

1
systemctl enable trojan

验证

1
curl --socks5 127.0.0.1:1080 http://www.google.com -k

能正确返回则表示配置正常

使用

浏览器使用,配合 switchyOmega 浏览器插件,添加代理

  • 代理协议:socks5
  • 代理服务器:127.0.0.1
  • 代理端口:1080

简便应用

在上面的过程中,我们也看到了,还需要安装客户端,而用客户端还是基于 socks 的,如果想要 http 的代理,并且在像 windows 环境中,就不是那么好用了。

如何解决这个问题呢,有一款应用非常好用,适合 windowsubuntu 环境,就是nekoray,还有适合安卓环境的包。

安装后,新建配置并填写服务端的地址、端口、trojan 的密码后,这样默认本地就有了一个 2080 端口的代码服务

这样例如我们在使用 switchyOmega 浏览器插件中,就可以添加代理

  • 代理协议:http
  • 代理服务器:127.0.0.1
  • 代理端口:2080

而且在设置 gitnpm 等代理时,也更加方便好用,而且在 nekoray 面板上,也可以直接设置全局代理。