GO Simple Tunnel - a simple tunnel written in golang
 
 
 
 
 
Go to file
ginuerzh e2447ce578 fix(e2e): use host network for Docker image builds in DinD environments
Docker-in-Docker containers cannot reach the internet via the default
bridge network, causing 'apk add' in the Dockerfile to hang indefinitely
and e2e tests to timeout after 10 minutes.

Add BuildOptionsModifier with NetworkMode=host to all FromDockerfile
definitions so the build step uses the host's network stack. This has
no negative impact on non-DinD environments where bridge networking
already works.

Also move GostBinPath flag and init() from main_test.go to utils.go
(non-test file) so the symbol is accessible across the package.
2026-06-06 20:34:24 +08:00
.github/workflows go1.26 2026-04-21 23:59:31 +08:00
cmd/gost add masque connector, dialer, and handler registrations; update x to v0.10.0 2026-05-21 23:03:49 +08:00
tests/e2e fix(e2e): use host network for Docker image builds in DinD environments 2026-06-06 20:34:24 +08:00
.gitignore bump x to v0.10.1, go-shadowsocks2 to v0.1.3; add gost binary to .gitignore 2026-05-22 23:21:30 +08:00
.goreleaser.yaml fix: disable UPX compression to resolve #863 startup regression 2026-05-31 22:25:57 +08:00
CLAUDE.md add CLAUDE.md with build, CLI, and lifecycle documentation 2026-05-23 00:00:56 +08:00
Dockerfile fix: disable UPX compression in Dockerfile to resolve #863 startup regression 2026-06-03 00:13:58 +08:00
LICENSE add license 2021-07-06 09:52:51 +08:00
Makefile add support for linux/amd64v3, windows/amd64v3 2022-10-07 09:27:22 +08:00
README.md add proxyProtocol support for dialer 2025-08-03 15:38:57 +08:00
README_en.md add context for conn 2025-08-04 19:34:54 +08:00
go.mod fix(e2e): use host network for Docker image builds in DinD environments 2026-06-06 20:34:24 +08:00
go.sum fix(e2e): use host network for Docker image builds in DinD environments 2026-06-06 20:34:24 +08:00
gost.yml add hop 2022-09-22 18:59:56 +08:00
install.sh Update install.sh 2026-04-26 22:16:06 +08:00

README_en.md

GO Simple Tunnel

A simple security tunnel written in golang

en zh

Features

Overview

Overview

There are three main ways to use GOST as a tunnel.

Proxy

As a proxy service to access the network, multiple protocols can be used in combination to form a forwarding chain for traffic forwarding.

Proxy

Port Forwarding

Mapping the port of one service to the port of another service, you can also use a combination of multiple protocols to form a forwarding chain for traffic forwarding.

Forward

Reverse Proxy

Use tunnel and intranet penetration to expose local services behind NAT or firewall to public network for access.

Reverse Proxy

Installation

Binary files

https://github.com/go-gost/gost/releases

install script

# install latest from [https://github.com/go-gost/gost/releases](https://github.com/go-gost/gost/releases)
bash <(curl -fsSL https://github.com/go-gost/gost/raw/master/install.sh) --install
# select version for install 
bash <(curl -fsSL https://github.com/go-gost/gost/raw/master/install.sh)

From source

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

Docker

docker run --rm gogost/gost -V

Tools

GUI

go-gost/gostctl

WebUI

go-gost/gost-ui

Shadowsocks Android

hamid-nazari/ShadowsocksGostPlugin

Support

Wiki: https://gost.run

YouTube: https://www.youtube.com/@gost-tunnel

Telegram: https://t.me/gogost

Google group: https://groups.google.com/d/forum/go-gost

Legacy version: v2.gost.run