Self-hosted reverse tunnels for putting private HTTP services behind a public URL you control.
Documentation · Getting Started · 한국어 · 日本語
Proxer is a small CLI for the familiar problem where a service runs on a laptop, mini PC, NAS, or office box, and you need a stable public URL without opening inbound ports into that private network. You run one public Proxer server, and each private machine dials out to it with a WebSocket tunnel.
- HTTP, SSE, and WebSocket traffic forwarded through a single client-initiated tunnel
- Host-based routing with named subdomains, auto-assigned subdomains, or the root domain
- Cluster mode for round-robin load balancing across multiple clients on one route
- Basic Auth protection for public access to a tunnel
- Self-hosted on your own VPS or homelab edge — a single binary or container, no managed service
winget install tinyrack.proxerbrew install tinyrack-net/tap/proxerdocker run --rm tinyrack/proxer --versionPrebuilt binaries for all supported platforms are also available on the GitHub Releases page.
Start the public server:
proxer server --listen 0.0.0.0:8080 --domain proxy.example.com --token dev-tokenExpose a local service from a private machine:
proxer http 3000 --server wss://proxy.example.com --subdomain demo --token dev-tokenRequests for https://demo.proxy.example.com/ now reach 127.0.0.1:3000 on that machine.
For guides, command reference, and deployment notes, visit the Proxer documentation site.