A minimal SOCKS5 proxy that routes traffic through the Penum protocol, allowing existing applications to use Penum for network privacy.
Penum-SOCKS is a lightweight SOCKS5 proxy server that enables applications to route their TCP traffic through the Penum privacy network without any modifications to the applications themselves. It acts as a bridge between standard SOCKS5 clients (like web browsers and command-line tools) and the Penum protocol.
- Not a VPN: Does not tunnel all system traffic
- Not full anonymity: Relies entirely on Penum's privacy guarantees
- Not a general-purpose proxy: Supports only TCP CONNECT commands
- No DNS protection: Does not handle DNS resolution through Penum
- SOCKS5 compliant proxy server
- Supports TCP CONNECT commands only
- No authentication required
- Integrates with existing Penum infrastructure
- Fail-silent error handling
- No logging of destinations, IPs, or payloads
- Rust 1.56 or higher
- Access to a running Penum network (entry relays, middle relays, gateways)
git clone <repository-url>
cd penum-socks
cargo build --releaseStart the proxy server:
./target/release/penum-socksBy default, the proxy listens on 127.0.0.1:1080.
curl --socks5 127.0.0.1:1080 https://httpbin.org/ip- Open Firefox Settings
- Go to Network Settings
- Enable "Manual proxy configuration"
- Set SOCKS Host to
127.0.0.1and Port to1080 - Select SOCKS v5
- Click OK
Chrome uses system proxy settings on Windows/macOS. Configure your system's SOCKS proxy to:
- Host:
127.0.0.1 - Port:
1080 - Type: SOCKS v5
The proxy requires a valid Penum configuration with entry relays, middle relays, and gateways. This configuration is currently hardcoded in main.rs and should be updated to match your Penum network setup.
See docs/limitations.md for a complete list of limitations.
See docs/threat-model.md for security considerations.
MIT