// the find
snail007/goproxy
🔥 Proxy is a high performance HTTP(S) proxies, SOCKS5 proxies,WEBSOCKET, TCP, UDP proxy server implemented by golang. Now, it supports chain-style proxies,nat forwarding in different lan,TCP/UDP port forwarding, SSH forwarding.Proxy是golang实现的高性能http,https,websocket,tcp,socks5代理服务器,支持内网穿透,链式代理,通讯加密,智能HTTP,SOCKS5代理,黑白名单,限速,限流量,限连接数,跨平台,KCP支持,认证API。
goproxy is a single-binary proxy Swiss Army knife for Go: HTTP(S), SOCKS5, TCP/UDP forwarding, NAT traversal, SSH relay, KCP transport, and chained proxy support. It's aimed at developers and sysadmins who need to set up proxy chains, expose internal services, or route traffic through firewalls without deploying multiple specialized tools. The feature list is genuinely broad and most of it works.
Chain proxies with mixed transports actually work — you can chain TLS → KCP → SSH in one command line, which is rare. KCP transport support (via xtaci/kcp-go) is a real differentiator for high-latency or lossy links where TCP performs poorly. The domain black/white list with wildcard matching and the smart-routing mode (direct vs. upstream based on reachability) are both practically useful rather than checkbox features. Single static binary, cross-platform, and the built-in cert generation makes the TLS story actually usable without a separate PKI setup.
The source code delay release strategy (explicitly stated in the README) means you're auditing binaries, not code, for the current version — a significant trust problem for anything handling sensitive traffic. The free/commercial split is poorly documented and you'll hit 'err: unknown long flag' errors at runtime without knowing upfront which features require payment. The English documentation is clearly machine-translated in places, which obscures edge cases in the more complex configurations like protocol conversion and transparent proxy setup. No test suite visible in the tree — for a security-adjacent networking tool this is a real gap.