利用GOST搭建游戏加速器

买了一台腾讯云轻量服务器,香港机房,24元/月,30M带宽,1TB流量。电信线路非常不错,双程CN2-GIA。

平时主要还是作为v2ray来看油管,毕竟流量有这么多。但这么好的线路不拿来干点别的,有点浪费了。

电信去程,直接上了成都的CN2起点
电信回程,同样是CN2

但是,如果使用校园网,会走联通的线路,导致延迟高,且存在丢包。这时就需要一台中转机器了。

而我正好一直有一台成都的腾讯云学生机,1M带宽拿来玩游戏完全够了。

测试一下连接效果:

成都腾讯云到香港腾讯云,同样是走电信CN2
成都->香港 udp测试
香港->成都 udp测试

非常稳定。jittet几乎没有,也没有丢包。非常优质的线路,卖那么便宜,tx这简直是赔本赚吆喝……


GOST

前段时间在研究V2ray的中转时接触到了gost,这是一款基于go语言的隧道程序。

安装

自行在github下载对应系统的gost的二进制文件后,放到/usr/bin里面

配置

以下,成都节点简称cd,香港节点简称hk

一开始,我参考了这篇文章,使用了一键脚本。配置为relay模式,接收12000端口,并尝试用sstap直接连接cd的接收端口,但并不能成功地连接hk的ss服务端。

然后是尝试手动搭建、并观察日志,调整转发模式。

先后尝试了在cd和hk间使用socks5+tls,socks5搭建隧道,但延迟十分感人。

cd <==socks5+tls==> hk
cd <==socks5==> hk

估计是链路上的socks5流量会被运营商识别出来,并进行了QoS,导致延迟非常高。


根据官方文档,gost支持shadowsocks的aead加密。或许可以试试用ss来打隧道,虽然加密多了点,但应该影响不大。

cd执行下面的命令:

$ nohup gost -L=ss://rc4-md5:password1@:21100 \
-F=ss://AEAD_CHACHA20_POLY1305:password2@[target_ip]:15999 \
>> /dev/null 2>&1 &

$ nohup gost -L=ssu://rc4-md5:password1@:21100 \
-F=ssu://AEAD_CHACHA20_POLY1305:password2@[target_ip]:15999 \
>> /dev/null 2>&1 &

在hk执行下面的命令

$ nohup gost -L=ss://AEAD_CHACHA20_POLY1305:password2@:13999 \
-L=ssu://AEAD_CHACHA20_POLY1305:password2@:13999 \
>> /dev/null 2>&1 &
链路示意图

重点:cd需要分别开监听ss和ssu的两个进程,并指定转发规则,分别发送至hk的ss和ssu两个监听进程。

在ss://协议中,gost只对tcp数据包进行了处理,而ssu://只对udp数据包进行处理。

此方案的加速效果:

47ms,已经很不错了

后记

大半年没写博客了,2020的前半年都因为疫情而在家里宅着,啥驱动力都没有,啥新技术都没学(俺就一懒狗…)

本来有买小伞云的5块钱深港IPLC,但他家前段时间似乎被搞了,导致服务全被暂停。10个人平摊下来,每个月只要5毛的加速器,就这样没了……

自建加速器的根本原因还不是要打游戏,而车翻了导致我不得不研究一点新的东西……也算是好事吧。

另外,我发现腾讯云的香港轻量服务器,会针对来自阿里云的ip的流量进行劣化。

这两跳之间……




2条评论

发表评论

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