搭建Hysteria2版本gost实现高速中转
Leslie
GOST可以中转流量,无论是直接转发还是加密隧道转发,都是一个非常好的工具,能够解决我们日常某些节点无法访问的情况。但是GOST由于加密解密以及协议,速度不甚理想,已知hysteria基于UDP,速度非常的快。那么是否可以两者相结合?
happyharryh/gost该项目就解决了这个问题。
使用方法
[Connector/Transporter] WireGuard
用法
./gost -L :8080 -F wg://?c=proxy.conf
- 仅支持作为WireGuard客户端,且只能作为代理链的第一级。
- proxy.conf配置请参考 wireproxy。
[Listener/Transporter] Hysteria-QUIC
使用Apernet魔改的quic-go加快QUIC传输速度
其他参数
- send_mbps: 数据发送速率,等于0则使用BBR(默认),大于0则使用Brutal
- recv_window_conn: 流接收窗口大小
- recv_window: 连接接收窗口大小
- max_conn_client (仅服务端): 单客户端最大活跃连接数
- cipher: 考虑到QUIC本身自带TLS加密,这里将原版gost的cipher算法简化,提升性能
[Handler/Connector] Zero
极简化连接逻辑,实现0-RTT连接
用法 服务端
./gost -L zero://:1234
客户端
./gost -L :8080 -F zero://server_ip:1234
其他参数
- mitm (仅客户端): 使用中间人(MITM)协助握手的地址列表,可缩减端到端TLS握手产生的RTT,格式同路由控制
- mitm_caroot (仅客户端): 根证书路径,默认为~/.mitmproxy,需要将该目录下的mitmproxy-ca-cert.cer添加为受信任的根证书颁发机构证书
- mitm_insecure (仅客户端): 是否跳过网站证书验证
[其他]
添加 -R 命令行参数,用于指定重试次数
添加 LOGFLAGS 环境变量,用于自定义日志输出格式
修复单独使用 0.0.0.0 或 [::] 时会同时监听两者的问题
Bypass 添加 resolve 选项,用于使IP/CIDR规则匹配解析后的域名
克隆说明 本 Fork 包含 git 子仓库,克隆时需要增加 --recursive 选项
git clone --recursive https://github.com/happyharryh/gost.git
在 Windows 平台克隆后,还需要手动重建一次软链接
cd gost
git -c core.symlinks=true checkout .
实例:本地软路由和国外静态IP互通
我自己将本地软路由和国外静态IP通过gost互通,使用如下指令:
本地命令:
nohup ./gost -L=socks5://:6666 -F='quic://xxxx:port?send_mbps=50&keepalive=true' > gost_client.log 2>&1 &
将本地和日本服务器连接到一起。
日本服务器命令:
/root/gost_hy/gost/gost -L=quic://:port?send_mbps=100 -F socks5://156.xxxx:port
通过以上配置,能够实现高速稳定的中转,解决某些节点无法访问的问题,同时利用Hysteria-QUIC的大幅提升传输速度。