https://github.com/bok1c4/http-proxy
Forward proxy
https://github.com/bok1c4/http-proxy
cpp socket
Last synced: 16 days ago
JSON representation
Forward proxy
- Host: GitHub
- URL: https://github.com/bok1c4/http-proxy
- Owner: bok1c4
- Created: 2024-12-14T19:15:19.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-06-14T14:53:04.000Z (about 1 year ago)
- Last Synced: 2025-06-14T15:41:50.792Z (about 1 year ago)
- Topics: cpp, socket
- Language: C++
- Homepage:
- Size: 28.3 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# HTTP Forward Proxy
A C++ HTTP forward proxy server that routes traffic through multiple hops for anonymous communication. Currently implementing multi-hop encryption similar to Tor's onion routing.
## Current Status
**Phase 1-2 Complete:**
- Basic HTTP server with GET/POST request handling
- Single-hop proxy forwarding
- Multi-hop proxy chain routing (Proxy A → Proxy B → Destination)
**Phase 3 In Progress:**
- AES symmetric encryption between proxy nodes
- RSA public key cryptography for key exchange
- Layered encryption/decryption at each hop
## Features
- **Multi-hop forwarding**: Route traffic through multiple proxy nodes
- **Socket-based networking**: Built with native C++ sockets
- **HTTP request/response parsing**: Full HTTP protocol support
- **Modular architecture**: Separate components for server, proxy, and utilities
## Quick Start
```bash
# Build
make
# Run proxy server
./http_proxy
```
## Architecture
```
Client → Proxy Node 1 → Proxy Node 2 → Destination Server
(encrypt) (decrypt/ (serve content)
re-encrypt)
```
Each proxy node decrypts the layer intended for it and forwards the remaining encrypted traffic to the next hop.
## Roadmap
- [x] HTTP server with static file serving
- [x] Single-hop proxy forwarding
- [x] Multi-hop proxy chain
- [ ] AES-256 encryption between nodes
- [ ] Onion routing with layered encryption
- [ ] SOCKS5 protocol support
## Tech Stack
- **Language**: C++
- **Networking**: BSD sockets
- **Encryption**: OpenSSL (in progress)
## Use Case
Building a Tor-like anonymous communication system where traffic is encrypted in layers and routed through multiple proxy nodes to ensure privacy and anonymity.
---
**Note**: Educational project exploring proxy servers, encryption, and anonymous networking protocols.