v-proxy: Minimal Rust HTTP/HTTPS Tunnel Proxy
Table of Contents

Lightweight proxy, high-speed forwarding.
v-proxy is a minimal HTTP/HTTPS proxy developed by vtoollab.com using Rust + Tokio + Hyper.
It provides standard HTTP proxy functionality with support for normal HTTP request forwarding and HTTPS CONNECT tunneling. Once a tunnel is established, v-proxy transparently forwards TCP traffic between the client and the destination server.
Designed for simplicity and performance, v-proxy focuses on:
- Small footprint
- High concurrency
- Low latency
- Zero runtime dependencies
It is suitable for development testing, internal network gateways, debugging tools, and lightweight proxy relay scenarios.
Key Features#
Full HTTP Proxy Support#
v-proxy supports standard HTTP proxy forwarding:
Client
|
|
v-proxy
|
|
HTTP ServerHTTP requests such as GET and POST are automatically forwarded through the proxy.
HTTPS CONNECT Tunnel#
HTTPS traffic uses the standard CONNECT method:
Browser
|
| CONNECT example.com:443
|
v-proxy
|
| TCP Tunnel
|
HTTPS ServerAfter establishing the connection, v-proxy does not decrypt HTTPS traffic. It simply provides a transparent TCP tunnel.
High Performance Async Architecture#
Built on modern Rust asynchronous networking:
- Tokio async runtime
- Hyper HTTP engine
- hyper-util network adapter layer
Architecture:
TCP Connection
|
Tokio Runtime
|
Hyper HTTP
|
Async TCP TunnelThe event-driven design allows v-proxy to handle many simultaneous connections efficiently.
Bidirectional TCP Forwarding#
After an HTTPS tunnel is created:
Client
|
| io::copy()
|
Upstream
Upstream
|
| io::copy()
|
ClientTwo asynchronous tasks handle:
- Client → Remote server
- Remote server → Client
This creates a full duplex TCP relay.
No HTTPS Decryption#
v-proxy does not inspect encrypted HTTPS traffic.
The data path remains:
Browser
|
| TLS
|
v-proxy
|
| TLS
|
ServerThe proxy only forwards encrypted bytes.
Single Binary Deployment#
Built with Rust:
- No Python installation
- No Java runtime
- No Node.js environment
- No external dependencies
Compile once and run anywhere.
v-proxy.exeHow It Works#
HTTP Forward Proxy#
Normal HTTP requests:
Client
|
| GET [http://example.com/](http://example.com/)
|
v-proxy
|
| Forward Request
|
Remote Serverv-proxy receives the request and uses Hyper Client to fetch the remote resource, then returns the response to the client.
HTTPS Tunnel Flow#
HTTPS clients first create a CONNECT request:
Client
|
| CONNECT example.com:443
|
v-proxy
|
| TCP connect
|
example.com:443After the connection succeeds:
HTTP/1.1 200 OKThe connection becomes a transparent tunnel:
Client <===============> ServerEncrypted TLS Tunnel
Technical Architecture#
v-proxy
+-------------------+
| Hyper HTTP Server |
+-------------------+
|
|
+-------------------+
| Request Handler |
+-------------------+
/ \
/ \
HTTP Forward CONNECT Tunnel| |
Hyper Client Tokio TCP Stream| |
Remote HTTP Async TCP RelayCore components:
| Component | Purpose |
|---|---|
| Tokio | Async networking runtime |
| Hyper | HTTP server and client engine |
| hyper-util | Tokio integration layer |
| TcpStream | TCP tunnel connection |
| io::copy | High-speed bidirectional forwarding |
Usage#
Start:
v-proxy.exeDefault listening address:
0.0.0.0:18000Console output:
listening on http://0.0.0.0:18000Configure your browser or application proxy:
HTTP Proxy:
Host:
127.0.0.1
Port:
18000The proxy is ready to use.
Examples#
HTTP Request#
Request:
http://example.comTraffic flow:
Browser
|
v-proxy:18000
|
example.com:80HTTPS Request#
Request:
https://example.comTraffic flow:
Browser
|
CONNECT example.com:443
|
v-proxy
|
example.com:443Use Cases#
v-proxy is designed for:
- HTTP proxy testing
- Internal network gateways
- Cloud server relay
- API debugging
- Network troubleshooting
- HTTPS tunnel forwarding
- Cloudflare Tunnel front proxy
- Small team shared proxy services
Example:
Office Network
|
|
v-proxy
|
|
Cloud Server Exit
|
|
InternetWhy Rust?#
Traditional proxy solutions often rely on:
- Nginx
- Squid
- Java proxy servers
- Node.js proxy frameworks
v-proxy uses a lightweight Rust networking stack:
Rust
|
|
Tokio Async Runtime
|
|
Hyper HTTP Engine
|
|
Native TCP NetworkingBenefits:
- Low memory usage
- High concurrent connection capacity
- No garbage collector pauses
- Single executable deployment
Build#
Install Rust:
rustup install stableBuild release version:
cargo build --releaseOutput:
target/release/v-proxy.exeCopy the binary and run directly.
Download#
⬇️ Download v-proxy.zip#
Version: 0.1.0 | Platform: Windows / Linux (x64)
There are no articles to list here yet.