Skip to content

c0d-0x/sm3tproxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sm3tproxy

A lightweight programmable TCP proxy server.

Note

This project is experimental, developed to explore C23 features and network programming concepts.

Quick Start

1. Build

make

2. Create proxy group

sudo groupadd sm3tproxy
sudo usermod -aG sm3tproxy $USER

3. Setup iptables

sudo make setup-nat

4. Run

sudo make run

Or manually:

sudo sg sm3tproxy bin/sm3tproxy

5. Test

curl http://example.com

## Test in theory
## curl → iptables REDIRECT → sm3tproxy (port 8080) → real server

6. Cleanup

# Stop the proxy (Ctrl+C)

# Remove iptables rules
sudo make clean-nat

# Clean build files
make clean

Roadmap

  • Event driven processing with epoll.
  • Transparent TCP proxy.
  • HTTP request and response parsing.
  • Logging of requests, headers, and payloads.
  • Rule-based traffic filtering (domain, keyword, method) with cli/ a config file.
  • Optional HTTPS interception using OpenSSL.
  • Lua scripting support for dynamic filtering rules.