Skip to content

Quick Start

Run a server and a client locally, then send TCP traffic through the client's SOCKS5 ingress.

bash
# Server — listens for MPQUIC on UDP :4433, uses the bundled test cert by default.
./build/mqproxy server --listen 0.0.0.0:4433 --token secret123

# Client — connects to the server, exposes a local SOCKS5 listener on :1080.
./build/mqproxy client \
  --server 127.0.0.1:4433 \
  --token  secret123 \
  --socks5 127.0.0.1:1080
bash
# Send traffic through the proxy
curl --socks5-hostname 127.0.0.1:1080 https://example.com/

WARNING

The bundled test certificate is for local testing only. For real deployments, pass your own --cert/--key and a strong --token.

Multipath aggregation

Bind additional local IPs as MPQUIC paths (e.g. WiFi + LTE) by repeating --path; the stream is then aggregated across them:

bash
./build/mqproxy client \
  --server <server-ip>:4433 --token secret123 \
  --socks5 127.0.0.1:1080 \
  --path 192.168.1.50 \
  --path 10.20.0.30

You can also expose an HTTP CONNECT ingress with --http-connect <ip:port> (use it via curl --proxy http://127.0.0.1:<port> https://...).

Next steps

Released under the Apache License 2.0