Self-host PipeGate
0.1.0Lightweight self-hosted HTTP tunnel via WebSocket
- Stars
- 242
- Port
- 8000 (HTTP and WebSocket server)
What is PipeGate?
PipeGate is a lightweight HTTP tunneling proxy written in Python using FastAPI. It lets you make a local web server reachable from the internet by routing traffic through a single WebSocket link between a server on a public VPS and a client running beside your application. The WebSocket connection is secured with JWT tokens, while outside callers only need the connection identifier in the URL. Multiple simultaneous requests share one WebSocket by using correlation IDs to match responses. Binary data passes through via base64 encoding. If the WebSocket breaks, the client reconnects with exponential backoff. All coordination happens in memory using asyncio queues, so no database or Redis is needed. The tool is configured through environment variables and requires Python 3.12 or newer.
Should you self-host PipeGate?
PipeGate scores 43/100 on selfhost.directory (how scoring works) and ranks #24 of 31 in Networking. It has 242 GitHub stars.
There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.
Setup is moderate: expect some configuration beyond a single command. It is MIT-licensed and written mostly in Python.
Its closest alternative on selfhost.directory is Webhook.site (66/100, 6 785 stars). It scores higher overall, so compare the two before you pick. See PipeGate vs Webhook.site side by side.
Features
- Automatic reconnection
- Binary payload support
- Concurrent request handling
- Correlation ID injection
- Health check endpoint
- HTTP tunneling over WebSocket
- No external state requiredDoes not survive server restarts and does not scale horizontally
- Query parameter preservation
PipeGate README
More in Proxy
- PrivoxyPrivoxy is a non-caching web proxy with advanced filtering capabilities for enhancing privacy, modifying web page data and HTTP headers, controlling access, and removing ads and other obnoxious Internet content.
s3-encryption-gatewaySelf-hosted transparent HTTP proxy adding client-side encryption to any S3-compatible storage without code changes, with envelope encryption via local or external KMS.
ShadowsocksOpen-source, self-hosted Shadowsocks proxy in pure C (the renamed shadowsocks-libev) with AEAD and SIP003 obfuscation, static builds and Docker images.
Signal TLS ProxyOpen-source Docker Compose proxy that fronts Signal's servers with a Let's Encrypt certificate on your own domain, shareable with other users via signal.tube.
Smart-DNSSelf-hosted Smart DNS service that resolves whitelisted domains to a specified IP while forwarding other queries normally, using a Python DNS server and Nginx SNI proxy.
spoofdpiSelf-hosted, open-source anti-censorship proxy that beats Deep Packet Inspection via TLS fragmentation, fake packets and DoH, in HTTP, SOCKS5 and TUN modes.
squidSelf-hosted web proxy caching server reducing bandwidth usage and improving response times by caching frequently-requested web pages. Supports HTTP, HTTPS, FTP.
TinyproxyCompact proxy server software handling web traffic on POSIX systems through buffering technology designed to minimize delays on shared internet links.
tnnltnnl is a self-hosted, open-source ngrok alternative exposing local HTTP servers via subdomains with a single binary, no account needed.
tobabtobab is a self-hosted, open-source identity-aware proxy using passkeys for authentication, designed as a forward auth target for Caddy, nginx, or Traefik in homelabs.
towoneltowonel is an open-source, self-hosted tunnel exposing HTTP(S), TCP, and UDP services behind NAT or CGNAT without inbound ports, using a persistent QUIC tunnel.
traefik-geoip-filterSelf-hosted Docker container adding GeoIP filtering to Traefik, allowing or blocking traffic by country, region, or city via MaxMind GeoLite2.
0 comments