
GOST
A command-line proxy and tunnel tool that forwards traffic over many protocols, written in Go.
- Stars
- 18.3k
- Forks
- 2.6k
- Licence
- MIT
- Language
- Go
- Last update
- 2 months ago
- Type
- CLI
What it is
GOST (GO Simple Tunnel) is a command-line program that acts as a proxy and tunnel. It can listen on a port, accept traffic over protocols such as HTTP, SOCKS5, Shadowsocks, QUIC, KCP and SSH, and forward it directly or through a chain of other proxies. People use it to route network traffic through intermediate servers or to set up port forwarding. The README says this repository is in maintenance mode and has been superseded by go-gost/gost.
- Run a local HTTP/SOCKS5 proxy on port 8080 with gost -L=:8080
- Forward a local port to a remote host through an SSH tunnel
- Chain several proxies together so traffic passes through each in order
- Expose a remote TCP or UDP port locally with the rtcp or rudp forwarding modes
Great for
- Developers who want a single binary to run a local or remote SOCKS5 or HTTP proxy
- People setting up multi-hop proxy chains for testing network routing
- Users who need TCP or UDP port forwarding through a proxy or SSH tunnel
- Admins who want to try several tunnel protocols from one tool
Not ideal for
- People starting a new project: the README says this repo no longer receives new features and points to go-gost/gost (GOST v3) instead
- Non-technical users who want a point-and-click app, since it is configured with command-line flags
- Anyone needing a security audit guarantee: the README does not describe any audit
How to get it
- 1
Install with a package manager
You'll need: Go (only if building from source)
Clone the repository
git clone https://github.com/ginuerzh/gost.gitBuild from source
cd gost/cmd/gost go buildInstall with Homebrew
brew install gost - 2
Run it
- Install gost using one of the methods in the README
- Run gost -L=:8080 to start a local proxy on port 8080
- Point your browser or app at localhost:8080 as an HTTP or SOCKS5 proxy
- To add a chained upstream proxy, add -F=server_ip:port to the command
- 3
Get the most out of it
- Use -L=http2://:443 and -L=socks5://:1080 together to listen on several ports at once
- Add authentication with -L=admin:123456@localhost:8080 to restrict access
- Set up TLS certificates with cert.pem and key.pem in the working directory or with cert and key parameters
- Enable the secure parameter on clients to verify the server certificate and domain
- Use the ping parameter on SSH channels to send keepalive packets
Downloads
Strengths
- Supports many proxy and tunnel protocols in one program
- Configuration is done with short command-line flags, and examples are in the README
- Written in Go and distributed as release binaries for many platforms
Trade-offs
- The README says this version is in maintenance and no new features will be added; the successor is go-gost/gost
- Documentation is partly in Chinese and the main wiki is on external sites
- Some protocol modes have restrictions, such as QUIC and KCP only working as the first hop in a chain
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| gost (this) | 18.3k | CLI | intermediate | 2 months ago | Developers who want a single binary to run a local or remote SOCKS5 or HTTP proxy |
| v2ray-core | 46.9k | Other | advanced | 2 months ago | Developers who want to read the source of a Go proxy platform |
| kcp | 17k | Library | advanced | 5 months ago | Developers building their own UDP-based protocol who need reliable delivery |
| hysteria | 22.8k | App | intermediate | 10 days ago | People on networks with heavy packet loss who want a faster proxy connection |
| v2ray-core | 34.7k | Other | advanced | 5 days ago | Developers who want to build and configure their own proxy server |
| chisel | 16.7k | CLI | intermediate | 26 days ago | Developers who need to reach a service on a private machine from outside its network |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.