An open API service indexing awesome lists of open source software.

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

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.