Skip to content

博客

GOST v3动态分流功能的一种实现方式

原文地址:https://groups.google.com/g/go-gost/c/b9Z0BcqUArw

分流是指根据一定的规则让需要通过转发链的请求走转发链,不需要走转发链则绕过转发链。分流在GOST v3中通过分流器来实现(bypass),具体的使用方式可以参考https://gost.run/concepts/bypass/。

GOST v3中新增了一个记录器模块(https://gost.run/concepts/recorder/),可以看作是另外一种日志记录方式,有别于日志的是记录器可以针对特定的数据进行记录,例如记录服务的所有访问用户IP,所有访问的目标地址等。

分流器和记录器在GOST v3版本中都增加了对redis服务的支持,对于分流器可以从redis中动态加载规则,对于记录器则可以将数据记录到redis服务中。

利用以上的特性,就可以实现类似与COW(https://github.com/cyfdecyf/cow)所提供的自动分流功能,默认情况下请求不使用转发链,当请求失败后切换为使用转发链。

利用gost访问内网HTTP服务

原文地址:https://groups.google.com/g/go-gost/c/ouzBXF0Fqk8

gost在2.1中增加了远程端口转发功能,可以将内网的端口直接映射到外网的一个指定端口。不过TCP的远程端口转发有一些限制,每当有连接连到了外网的映射端口上时,这个监听端口就会关闭,等待内网的gost再主动建立连接重新开启外网端口监听。

这样就使得此功能的使用受限,只能用来转发类似于SSH这种使用单连接的服务,而像HTTP这种需要建立很多连接的服务就不可用了。

gost 2.2中增加了对HTTP2的支持,由于HTTP2可以多路复用,特别是针对HTTP,可以用单一连接来传输多组请求。那么我们就可以利用HTTP2来实现在外网也能访问到内网的HTTP服务。

gost 2.1本地端口转发功能的使用说明

原文地址:https://groups.google.com/g/go-gost/c/_Bn0oDKants

2.1版本正在开发中,主要增加端口转发功能,这里主要说一下本地端口转发的使用。

gost的本地端口转发功能类似于ssh中 -L参数的功能(ssh端口转发的使用可以参考这篇文章),而与ssh的区别在于:

  1. gost支持UDP端口的转发。
  2. gost支持通过转发链进行端口转发。

linux下利用redsocks+iptables实现全局socks5代理上网

原文地址:https://groups.google.com/g/go-gost/c/c7QCorgZiLU

之前写过一个类似的文档,不过因为参杂了vpn配置,所以略微复杂,下面是简化版。

在linux下的应用若要使用socks5代理,一般都需要在应用内手动设置,而且有些应用不支持设置代理功能。 其实可以通过redsocks+iptables来实现类似于vpn功能,将所有tcp流量重定向到socks5代理(也支持https代理)。

GOST的起源以及应用场景

原文地址:https://groups.google.com/g/go-gost/c/Cnh_4aeRVcg

gost的想法是在2013年产生的,那一年也是我来到当前这家公司的第一年,进入公司后发现公司对网络的限制已经到了极限:只能通过公司的代理访问网络,并且在未申请更高权限的情况下只能访问baidu搜索,其他网站一律被封,然而我们的小组又是搞移动互联网的,所以平时开发和查资料很不方面。