A high-performance HTTP/HTTPS forward proxy server written in Rust with full tunneling support and comprehensive logging.
- Full HTTP/HTTPS Proxy Support - Intercepts HTTP requests, tunnels HTTPS via CONNECT
- High Performance - Built with Hyper and Tokio for async networking
- Production Logging - Clean INFO logs for monitoring, verbose DEBUG for development
- Modular Architecture - Clean separation of concerns with utility modules
# Install dependencies
cargo build
# Run the proxy (INFO logging)
cargo run
# Run with verbose logging
RUST_LOG=debug cargo run
# Test HTTP request
curl -x http://127.0.0.1:8080 http://httpbin.org/get
# Test HTTPS request
curl -x http://127.0.0.1:8080 https://httpbin.org/get
The proxy runs on 127.0.0.1:8080
by default.
- Architecture Overview - System design and component structure
- Usage Guide - How to use the proxy with examples
- Deployment Guide - Production deployment instructions
- Performance Guide - Optimization and benchmarking
- API Documentation - Codebase structure and modules
- Middleware Documentation - Authentication, rate limiting, logging
- Upstream Documentation - Connection pooling and health checks
- HTTP Requests → Fully intercepted, logged, and forwarded to upstream servers
- HTTPS Requests → CONNECT method establishes encrypted tunnel, raw TCP forwarding
- Logging → All transactions logged with clean INFO output and detailed DEBUG data
Set environment variables:
# Logging level
export RUST_LOG=info # Clean logs for production
export RUST_LOG=debug # Verbose logs for development
# Custom port (modify src/main.rs)
MIT License