finds.dev← search

// the find

go-gost/gost

★ 6,951 · Go · MIT · updated Jun 2026

GO Simple Tunnel - a simple tunnel written in golang

GOST is a multi-protocol tunnel and proxy tool written in Go that supports an unusually wide range of transport protocols — SOCKS5, HTTP(S), SSH, QUIC, KCP, WebSocket, gRPC, and more — chainable in arbitrary combinations. It targets developers and sysadmins who need flexible traffic forwarding, NAT traversal, or censorship circumvention without stitching together multiple tools. The v3 rewrite added a Web API and plugin system, making it scriptable beyond just config files.

The protocol chaining model is genuinely powerful — you can stack QUIC over WebSocket over TLS without writing any code, just config. The Web API for dynamic reconfiguration is a real differentiator over most tunnel tools where you'd need to restart on config change. Plugin system with gRPC hooks means you can intercept auth, routing, and admission at runtime without forking the binary. E2E test coverage is present and uses real Python echo servers rather than mocked connections.

The README is Chinese-first with a secondary English doc — not a dealbreaker, but the English docs lag and the official wiki (gost.run) has some machine-translated sections that obscure subtle config behavior. The core logic lives in a separate repo (go-gost/x) which makes reading the actual implementation non-trivial from the main repo alone. E2E test coverage is thin — only Shadowsocks and parallel selector are tested; the other dozen protocols have no automated tests. No unit tests visible at all, so protocol edge cases are catch-as-catch-can.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →