GOST is a tunnel and proxy tool written in Go that supports multiple protocols and forwarding chains for secure network communication.
GOST addresses the need for flexible network tunneling and proxying by implementing a multi-protocol architecture that allows chaining different protocols together. It works by accepting connections on multiple ports and forwarding traffic through configurable chains that can combine protocols like SOCKS5, HTTP, HTTPS, SSH, QUIC, KCP, WebSocket, and others. The tool supports three primary usage patterns: forward proxying for accessing networks through proxy chains, port forwarding to map services between different endpoints, and reverse proxying with tunneling for exposing internal services to public networks.
Developers should choose GOST if they need flexible protocol composition for tunneling scenarios. It suits projects requiring transparent proxy capabilities, DNS resolution and proxying, TUN/TAP device integration, or load balancing across multiple routes. The tool includes traffic control features like rate limiting and flow control, admission control for access management, and routing control with bypass rules. It also provides operational features such as Prometheus metrics, dynamic configuration through Web API, and both GUI and WebUI management interfaces. The plugin system allows extending functionality for specific use cases.
The project maintains active development with regular updates to its core tunneling and protocol support. Documentation is comprehensive and available through an extensive wiki. The tool is distributed as precompiled binaries, Docker images, and source code, making it accessible across different deployment scenarios. Community support is organized through multiple channels including discussion forums and messaging platforms.