科学上网trojan的安装和使用

Life is short , play more!
本文来自lihao's Blog,转载请注明。

最近无意中看到youtube推荐了后端关于v2ray,trojan的介绍,最早一直用goagent+套cdn的方式,虽然速度并不快看视频不太合适,但上网还是完全能够胜任的。 昨天尝试部署了trojan,可以正常使用,但是科学上网的网速并没有比goagent快多少(网速的问题后续我们再解释,定位中发现是digitalocean sfo location的vps的问题,这个待切换location后验证)。好了,我们就开始部署trojan 服务罢。

1) 首先你要有一个vps服务或者。 我使用digitalocean,是因为最早提供的ssd vps比较便宜容易瞎折腾,所以方便还是继续哟用了。 但因为do没有日本,香港的节点。亚洲只有新加坡(实测ping值比较高,但下载速度还是不错的)。 如果不做建站的话,目前的vps或者iaas的平台非常多了, 大家完全可以看看其他大厂的。有的还免费一年。

2) vps的系统选择linux服务器。 因为我的一台vps 5年前就已经存在, 所以这次就在centos上做了实验。

3) 安装server端的trojan服务。

首先我们简单的介绍一下大概的拓扑图。

browser -> trojan(client) server -> trojan server -> 被墙的网站

所以我们需要安装有个trojan 服务(最少), trojan(client) server 是作为你本地使用的proxy服务, trojan (client) server 是一个socks5 服务, 然后收到browser的请求后, 封装成trojan的协议,发送给trojan server, trojan server 再请求被墙的网站。

trojan安装方法非常简单, github上有详细的介绍,照着安装通常不会有问题。
快速安装的文档: https://github.com/trojan-gfw/trojan/wiki/Binary-&-Package-Distributions

这个是配置文档: https://trojan-gfw.github.io/trojan/config

4) 配置项注意项。

trojan(client) server 的配置,注意#的备注,其他不用修改。
{
"run_type": "client",
"local_addr": "127.0.0.1", # 如果和你的browser在同一台机器, 这里就默认还是 127.0.0.1
"local_port": 1080, #本地的监听的端口配置,可以改一个无使用的端口就行。 (1080无使用,默认即可)
"remote_addr": "example.com", #这里配置trojan server的地址 (这里用请用域名,该域名最好有个网站可以提供服务,减少被墙的概率 )
"remote_port": 443, # 建议使用 默认 443
"password": [
"password1" #密码
],
"log_level": 1,
"ssl": {
"verify": true,
"verify_hostname": true,
"cert": "",
"cipher": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:AES128-SHA:AES256-SHA:DES-CBC3-SHA",
"cipher_tls13": "TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384",
"sni": "",
"alpn": [
"h2",
"http/1.1"
],
"reuse_session": true,
"session_ticket": false,
"curves": ""
},
"tcp": {
"no_delay": true,
"keep_alive": true,
"reuse_port": false,
"fast_open": false,
"fast_open_qlen": 20
}
}

trojan server 的配置

{
"run_type": "server",
"local_addr": "0.0.0.0", #监听的端口, 这里可以监听ipv6,但因为笔者的ipv6地址反而比ipv4慢,所以我放弃了,还是用ipv4.
"local_port": 443,
"remote_addr": "127.0.0.1", # 这个如果不是默认的trojan协议会访问这个地址。 保证这个地址有效可访问即可。 保证一个服务是可使用的。
"remote_port": 80, #
"password": [
"password1" #密码和client端的一致
],
"log_level": 1,
"ssl": {
"cert": "/path/to/certificate.crt", #需要改, 怎么生成网站证书, 和私钥请网上搜索教程 或者 访问这里
"key": "/path/to/private.key", #同上需要生成后,并指定位置
"key_password": "",
"cipher": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384",
"cipher_tls13": "TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384",
"prefer_server_cipher": true,
"alpn": [
"http/1.1"
],
"reuse_session": true,
"session_ticket": false,
"session_timeout": 600,
"plain_http_response": "",
"curves": "",
"dhparam": ""
},
"tcp": {
"prefer_ipv4": false,
"no_delay": true,
"keep_alive": true,
"reuse_port": false,
"fast_open": false,
"fast_open_qlen": 20
},
"mysql": {
"enabled": false,
"server_addr": "127.0.0.1",
"server_port": 3306,
"database": "trojan",
"username": "trojan",
"password": ""
}
}

5) 启动 trojan client, trojan server 后, 打开浏览器,将代理设置为localhost 1080端口,那么我们就能科学上网了。

备注: trajon无法套CDN,但后面可以伪装网站。

这里有2篇更详细的图文教程(可能你需要先翻才能访问,没办法先有鸡还是先有蛋):
https://www.johnrosen1.com/trojan/
https://trojan-tutor.github.io/2019/04/10/p41.html


发表评论

电子邮件地址不会被公开。 必填项已用*标注