Lightweight multithreaded proxy over TCP
Pure C++ implementation. Built for speed and minimalism.
VPN 2.0 is a TCP-level proxy that mimics basic VPN behavior through simple forwarding.
The client connects to the proxy server and requests a target destination. The server resolves the destination and forwards traffic accordingly.
No encryption. No external dependencies. Just sockets and threads.
- Multithreaded client handling
- IP + port forwarding with destination parsing
- Platform support for Windows & Linux
- Simple HTTP tunneling (default:
httpbin.org) - Flag structure for chaining/multi-routing (planned)
cl main.cpp vpn_client.cpp /I util ws2_32.lib
cl server.cpp /I util ws2_32.libg++ main.cpp vpn_client.cpp -o client -pthread
g++ server.cpp -o server -pthreadRequires C++17 or later
./server./client -ipv4 127.0.0.1 -p 5000| Flag | Description |
|---|---|
-ipv4 |
Proxy server IP (default: 127.0.0.1) |
-p |
Port to connect to (default: 5000) |
-pass |
Optional password (unused for now) |
-multi |
Enables multi-routing (WIP) |
./client -ipv4 127.0.0.1 -p 5000Prints your public IP by routing a GET /ip request through the proxy.
- Server listens on port 5000 by default
- Client requests are parsed line-by-line:
host:portfollowed by HTTP payload - Modular design with
Flags,Client, and server logic split
MIT — do whatever. No warranty. Use with caution.
Gojus1 and GreyClouds