Skip to content

Gojus1/VPN-2.0

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VPN 2.0

Lightweight multithreaded proxy over TCP
Pure C++ implementation. Built for speed and minimalism.


Overview

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.


Features

  • 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)

Usage

Build

Windows (MSVC)

cl main.cpp vpn_client.cpp /I util ws2_32.lib
cl server.cpp /I util ws2_32.lib

Linux (g++)

g++ main.cpp vpn_client.cpp -o client -pthread
g++ server.cpp -o server -pthread

Requires C++17 or later


Run

Start the server:

./server

Connect with client:

./client -ipv4 127.0.0.1 -p 5000

Flags

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)

Example

./client -ipv4 127.0.0.1 -p 5000

Prints your public IP by routing a GET /ip request through the proxy.


Notes

  • Server listens on port 5000 by default
  • Client requests are parsed line-by-line: host:port followed by HTTP payload
  • Modular design with Flags, Client, and server logic split

License

MIT — do whatever. No warranty. Use with caution.


Authors

Gojus1 and GreyClouds

About

Multithreaded proxy over TCP with C++. Built for speed and minimalism.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages