Loading...

文章背景图

gost:GO 语言实现的安全隧道与端口转发工具安装使用指南

2026-10-27
0
- 字
- 分钟
|

gost:GO 语言实现的安全隧道与端口转发工具安装使用指南

一、项目官方信息

项目 信息
GitHub 仓库 https://github.com/ginuerzh/gost
v2 文档 https://v2.gost.run
新版本 https://github.com/go-gost/gost(v3,https://gost.run)
开源协议 MIT
主要语言 Go(约 99.4%)
Star 数 约 18k

GOST(GO Simple Tunnel) 是用 Go 语言实现的安全隧道工具。

现状:本仓库(ginuerzh/gost,即 v2)已进入维护阶段,不再增加新功能,已被新仓库 go-gost/gost 取代,新功能在 v3 开发。本文按 v2 README 记录其安装与隧道用法。

特性:

  • 多端口监听;
  • 可设置转发代理,支持多级转发(代理链);
  • 支持标准 HTTP/HTTPS/HTTP2/SOCKS4(A)/SOCKS5 代理协议;
  • 支持多种隧道类型:TCP/UDP 端口转发、Shadowsocks、SNI、HTTP2、QUIC、KCP、SSH 等;
  • TCP/UDP 透明代理、权限控制、负载均衡、路由控制、DNS 解析与代理、TUN/TAP 设备。

gost 仓库封面

二、官方图片

上图为 gost 仓库在 GitHub 上的社交预览图。

三、环境要求

  • 单一 Go 二进制,无运行时依赖;
  • 服务端:一台有公网 IP 的服务器;
  • 客户端:需要通过隧道出网的机器;
  • 可选:Docker、Homebrew、Snap 环境用于快速安装。

四、安装步骤

1. 二进制文件(推荐)

从 Releases 下载对应平台的预编译二进制:https://github.com/ginuerzh/gost/releases

2. 源码编译

git clone https://github.com/ginuerzh/gost.git
cd gost/cmd/gost
go build

3. Docker

docker run --rm ginuerzh/gost -V

4. Homebrew / Snap

brew install gost

sudo snap install core
sudo snap install gost

五、使用方法

1. 不设置转发代理(标准代理)

作为标准 HTTP/SOCKS5 代理:

gost -L=:8080

设置代理认证:

gost -L=admin:123456@localhost:8080

多端口监听(HTTP2 + SOCKS5 + Shadowsocks):

gost -L=http2://:443 -L=socks5://:1080 -L=ss://aes-128-cfb:123456@:8338

2. 设置转发代理(客户端经中转)

gost -L=:8080 -F=192.168.1.1:8081

带转发认证:

gost -L=:8080 -F=http://admin:123456@192.168.1.1:8081

3. 多级转发代理(代理链)

gost -L=:8080 -F=quic://192.168.1.1:6121 -F=socks5+wss://192.168.1.2:1080 -F=http2://192.168.1.3:443 ... -F=a.b.c.d:NNNN

gost 按 -F 顺序把请求经代理链最终转发到末端,每个节点可以是任意 HTTP/HTTPS/HTTP2/SOCKS4/SOCKS5/Shadowsocks 代理。

4. 本地 TCP/UDP 端口转发

# 本地 TCP 2222 -> 192.168.1.1:22
gost -L=tcp://:2222/192.168.1.1:22

# 本地 UDP 5353 -> 192.168.1.1:53,超时 60 秒
gost -L=udp://:5353/192.168.1.1:53?ttl=60

5. 远程端口转发

gost -L=rtcp://:2222/192.168.1.1:22 -F=socks5://172.24.10.1:1080

6. HTTP2 / QUIC / KCP / SSH

# HTTP2 代理模式
gost -L=http2://:443          # 服务端
gost -L=:8080 -F=http2://server_ip:443   # 客户端

# QUIC
gost -L=quic://:6121          # 服务端
gost -L=:8080 -F=quic://server_ip:6121

# KCP
gost -L=kcp://:8388
gost -L=:8080 -F=kcp://server_ip:8388

7. Shadowsocks

gost -L=ss://chacha20:123456@:8338
gost -L=:8080 -F=ss://chacha20:123456@server_ip:8338

六、常见问题 FAQ

  1. ginuerzh/gost 和 go-gost/gost 什么关系? 前者是 v2(本仓库),已停止加新功能;v3 在 go-gost/gost 开发,文档见 gost.run。

  2. 最简单启动一个代理? gost -L=:8080 即可,客户端把 HTTP/SOCKS5 代理指向该端口。

  3. 怎么转发到中间服务器? 用 -F 指定转发代理,可多级串联成代理链。

  4. UDP 转发有什么注意? 若有代理链,末端必须是 gost SOCKS5 代理,用 UDP over TCP 转发;可用 ttl 设置空闲超时。

  5. KCP/QUIC 有什么限制? 二者只能作为代理链的第一个节点。

  6. 自定义 TLS 证书怎么放? 在运行目录放 cert.pem 和 key.pem,或用参数 ?cert=...&key=... 指定。

七、跳转链接

评论交流

文章目录