(原) Gost GO语言实现的安全隧道

原创文章,请后转载,并注明出处。

官方网址

多端口监听
多级转发链
多协议支持
TCP/UDP端口转发
反向代理和隧道
TCP/UDP透明代理
DNS解析和代理
TUN/TAP设备
Unix域套接字重定向
串口重定向
负载均衡
路由控制
限速限流
准入控制
插件系统
Prometheus监控指标
动态配置
Web API

看起来功能很多,官方文档乍一看,有点头晕。其实通过实例来讲解更让人懂。

这个需求是内网穿透,例如把本机的端口服务(Web9000)开放给公网用户。

注意我使用的版本是3.0.0-rc8,与官网的文档(版本2)不同,据说3.0的文档还在完善中。所以与网上搜索到的不同。

  1. 公网服务器上:./gost -L socks5:://4433?bind=true
    将显示绑定的具体端口,内网客户机需要绑定此端口,而非4433。(这有点怪异,百思不得其姐。)
  2. 内网客户机: ./gost -L rtcp://:2999/:9000 -F socks5://1.1.1.1:34771
    34771为公网服务器上绑定的具体端口,1.1.1.1为公网服务器IP
  3. 访问:1.1.1.1:2999即可
  4. 使用Caddy绑定域名a.scwy.net为127.0.0.1:2999,即可使用https://a.scwy.net来访问内网客户机的9000端口

因为使用golang开发,所以在termux下也可以用。也就让手机上的Web服务能分享到外网。