↓ Skip to main content

v-proxy: Minimal Rust HTTP/HTTPS Tunnel Proxy

v-proxy

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 Server

HTTP 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 Server

After 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 Tunnel

The 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()
|
Client

Two 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
|
Server

The 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.exe

How It Works
#

HTTP Forward Proxy
#

Normal HTTP requests:


Client

|
| GET [http://example.com/](http://example.com/)
|

v-proxy

|
| Forward Request
|

Remote Server

v-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:443

After the connection succeeds:


HTTP/1.1 200 OK

The connection becomes a transparent tunnel:


Client  <===============>  Server
Encrypted TLS Tunnel

Technical Architecture
#

            v-proxy


  +-------------------+
  | Hyper HTTP Server |
  +-------------------+

            |
            |

  +-------------------+
  | Request Handler   |
  +-------------------+

      /             \

     /               \

HTTP Forward          CONNECT Tunnel
|                     |

Hyper Client          Tokio TCP Stream
|                     |

Remote HTTP        Async TCP Relay

Core components:

ComponentPurpose
TokioAsync networking runtime
HyperHTTP server and client engine
hyper-utilTokio integration layer
TcpStreamTCP tunnel connection
io::copyHigh-speed bidirectional forwarding

Usage
#

Start:

v-proxy.exe

Default listening address:

0.0.0.0:18000

Console output:

listening on http://0.0.0.0:18000

Configure your browser or application proxy:

HTTP Proxy:

Host:
127.0.0.1

Port:
18000

The proxy is ready to use.

Examples
#

HTTP Request
#

Request:

http://example.com

Traffic flow:

Browser

   |

v-proxy:18000

   |

example.com:80

HTTPS Request
#

Request:

https://example.com

Traffic flow:

Browser

   |
 CONNECT example.com:443

   |

v-proxy

   |

example.com:443

Use 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

      |
      |

 Internet

Why 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 Networking

Benefits:

  • Low memory usage
  • High concurrent connection capacity
  • No garbage collector pauses
  • Single executable deployment

Build
#

Install Rust:

rustup install stable

Build release version:

cargo build --release

Output:

target/release/v-proxy.exe

Copy 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.