Production-Ready · Open Source

Your traffic, routed through
encrypted tunnels.

PipeProxy is a distributed HTTP/HTTPS proxy that multiplexes thousands of connections over a single AES-256-GCM encrypted WebSocket. No port forwarding, no VPN complexity — lightweight enough to run on a Raspberry Pi Zero.

Terminal
# Traffic exits from your Raspberry Pi's IP, not the VPS
$ curl -U admin:pass -x http://YOUR_VPS:3128 https://api.ipify.org
→ 82.193.xx.xx

# Start the server on your VPS
$ node server/proxyServer.js
✓ Proxy listening on :3128
✓ Tunnel listening on :8080
⟳ Waiting for client…
2,000+
Concurrent streams per tunnel
9 bytes
Binary frame header overhead
Zero
Heavy runtime dependencies
31+
Extreme test scenarios

Everything you need,
nothing you don't.

Built from scratch in raw Node.js. No bloated frameworks, no hidden complexity — just fast, secure tunneling.

Multiplexed WebSocket Tunnel

Thousands of concurrent proxy connections share a single WebSocket using a custom binary protocol. Each frame carries only a 9-byte header — type, connection ID, and payload length — delivering near-zero overhead even under massive parallelism.

AES-256-GCM Encryption

Native zero-dependency encryption layer with integrity verification, replay attack prevention, and strict sequence tracking.

No Port Forwarding

The client connects outbound to the VPS. No firewall rules needed, no exposed ports on your home network.

Raspberry Pi Ready

Only ws and dotenv as dependencies. Minimal memory footprint — runs smoothly even on the most constrained single-board computers like the Raspberry Pi Zero.

Happy Eyeballs IPv6

Dual-stack connectivity with automatic IPv6 → IPv4 fallback in 250ms. Dead or broken routes are instantly bypassed to ensure zero connection hangs in unpredictable network environments.

Backpressure & OOM Protection

Dynamic flow control pauses fast senders when the tunnel is saturated. Frame size limits and buffer caps prevent memory exhaustion attacks.

A reverse tunnel, not a VPN.

The client initiates all connections outbound. Your VPS never reaches back into your private network — it simply relays multiplexed traffic.

01

Proxy Client

HTTP / HTTPS

Any browser, app, or script configured with a standard HTTP proxy connects to your VPS on port 3128. Supports both HTTP CONNECT tunneling and plain HTTP forwarding with optional Basic authentication.

TCP stream multiplexed into binary frames
02

VPS Tunnel Server

WebSocket + AES-256

The proxy server assigns each incoming connection a 4-byte ID and encodes it into a 9-byte binary frame — type, connection ID, payload length. All frames are multiplexed over a single persistent WebSocket to the client node.

Encrypted WS/WSS over a single outbound socket
03

Raspberry Pi / Client

Outbound TCP

Decodes the binary frames, opens the actual TCP connection to the target host using your home IP, and pipes data back through the tunnel. Supports IPv6 with Happy Eyeballs fallback and built-in SSRF protection.

Defense in depth,
by default.

Multiple independent security layers from the transport level to the application level.

HMAC Challenge-Response

The tunnel secret never crosses the wire. Cryptographic handshake prevents credential sniffing and replay attacks.

Native TLS Proxy

Enable HTTPS directly on the proxy endpoint to fully encrypt proxy authentication credentials.

WSS Stealth Mode

Wrap the tunnel in TLS on port 443 — DPI firewalls see normal HTTPS traffic, not a custom protocol.

Anti-Smuggling

Forces Connection: close on proxied HTTP requests to prevent keep-alive routing confusion attacks.

Sequence Tracking

Strict per-stream packet ordering within encrypted frames. Replayed or dropped packets trigger instant disconnect.

SSRF Protection

Blocks connections to private/local IP ranges by default, preventing server-side request forgery into your LAN.

Three steps to your first tunnel.

01

Clone & install

Only two runtime dependencies — ws and dotenv.

# git clone https://github.com/TommasoRonchin/PipeProxy.git
# cd PipeProxy && npm install
02

Configure environment

Copy the example env files and set your tunnel secret, ports, and optional encryption settings.

# On the VPS
cp .env.server.example .env

# On the Raspberry Pi
cp .env.client.example .env
03

Launch both nodes

Start the server on your VPS and the client on your Pi. Also works with Docker out of the box.

node server/proxyServer.js   # VPS
node client/raspberryClient.js   # Client

Start tunneling today.

Star the project, read the docs, and deploy your first encrypted proxy tunnel in under five minutes.