Anzu Proxy
A small, fast, multi-protocol proxy server.
Features
- SOCKS5 — username/password auth, CONNECT, BIND, UDP ASSOCIATE, optional TLS (
socks5+tls://)
- HTTP/HTTPS — HTTP/1.1 and HTTP/2 (ALPN), optional TLS listener, optional response cache
- HTTPS MITM — transparent TLS interception with auto-generated CA and response caching
- Telegram MTProto — fake-TLS camouflage, indistinguishable from real HTTPS to DPI
- Shadowsocks AEAD — ChaCha20-Poly1305 or AES-256-GCM, TCP + UDP relay
- Trojan — real TLS listener with SHA-224 auth and optional HTTPS fallback backend
- VLESS — lightweight UUID-authenticated proxy over TLS or XTLS Reality; UDP over TCP supported
- Multi-user authentication via Apache htpasswd files
- Prometheus metrics endpoint
- Single binary, no runtime dependencies
Installation
Snap (Recommended for Linux)
sudo snap install anzu-proxy
Building From Source
make build # build for current system
make build-all # cross-compile all supported platforms
Quick Start
# SOCKS5 → :1080 and HTTP → :8080 (default)
./anzu-proxy
Enable specific protocols
# SOCKS5 only
./anzu-proxy -protocols=socks
# SOCKS5 with TLS (socks5+tls://)
./anzu-proxy -protocols=socks \
-socks-tls-cert=socks.crt \
-socks-tls-key=socks.key
# HTTP with cache
./anzu-proxy -protocols=http -cache
# Shadowsocks AEAD
./anzu-proxy -protocols=shadowsocks -ss-password=mypassword
# MTProto (fake-TLS, DPI resistant)
./anzu-proxy -protocols=mtproto \
-mtproto-secret=$(./anzu-proxy -mtproto-gen-faketls-secret=www.cloudflare.com)
# Trojan (requires a TLS cert — Let's Encrypt or self-signed for testing)
./anzu-proxy -protocols=trojan \
-trojan-cert=fullchain.pem -trojan-key=privkey.pem \
-trojan-password=mypassword
# VLESS with XTLS Reality (no certificate required)
PRIV=$(./anzu-proxy -vless-reality-gen-keys | grep Private | awk '{print $NF}')
./anzu-proxy -protocols=vless \
-vless-uuid=550e8400-e29b-41d4-a716-446655440000 \
-vless-reality-private-key="$PRIV" \
-vless-reality-server-name=www.cloudflare.com
# Everything at once
./anzu-proxy -protocols=all \
-mtproto-secret=$(./anzu-proxy -mtproto-gen-faketls-secret=www.cloudflare.com) \
-ss-password=mypassword \
-trojan-cert=fullchain.pem -trojan-key=privkey.pem -trojan-password=mypassword \
-vless-uuid=550e8400-e29b-41d4-a716-446655440000 \
-vless-reality-private-key="$PRIV" \
-vless-reality-server-name=www.cloudflare.com
Documentation
For complete usage instructions, deployment examples, and operational guidance,
see the full user guide:
User Guide
License
Licensed under GPLv3 — see LICENSE