gitmyhub

goproxy

Go ★ 17k updated 9mo ago

🔥 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 feature-rich proxy server in a single binary that handles HTTP, SOCKS5, WebSocket, TCP, UDP, and shadowsocks protocols, with support for chaining nodes, encrypted tunneling, port forwarding, and exposing local services to the internet.

Gosetup: moderatecomplexity 3/5

GoProxy is a general-purpose proxy server: a program you run between two computers or networks so that traffic from one can reach the other in a controlled way. It handles the common proxy protocols in a single binary — HTTP and HTTPS, SOCKS5, WebSocket, raw TCP and UDP, and the SS (shadowsocks) format — and it can also act as a reverse proxy to expose a server behind a NAT or firewall to the public internet.

What makes it stand out is the breadth of features piled into one tool. You can chain it through another instance so traffic hops through multiple nodes, with the link between them encrypted using TLS (and optionally an extra custom AES256 layer or KCP, a protocol that lowers latency). It does TCP and UDP port forwarding, intranet penetration, SSH relay, transparent proxying when paired with iptables, smart HTTP/SOCKS5 that auto-detects whether a site is blocked and only routes through an upstream when needed, an anti-pollution DNS proxy, and protocol conversion that lets one port serve HTTP, SOCKS5 and SS at once. Upstream selection can be driven by an external API; per-user or per-IP rate limits, connection limits, IP black/whitelists, port-range listening, and load balancing are all built in.

GoProxy is written in Go, so the same binary runs on Windows, Linux, macOS, and even a Raspberry Pi. There is a web admin console called ProxyAdmin, an SDK, desktop and Android editions, and a free version alongside a paid commercial one. Typical reasons to reach for it: a personal VPN-like tunnel, exposing a local dev service for a webhook, remote access into an office LAN, or playing LAN-only games over the internet. The full README is longer than what was provided.

Where it fits