The Lightweight Proxy
You've Been Waiting For

Single-file C11 implementation. Zero dependencies. RFC-compliant.

$ make
cc -std=c11 -O3 -pthread -o socks5 socks5.c $ ./socks5 --port 1080
[INFO] Starting SOCKS5 server on 0.0.0.0:1080 [INFO] Listening for connections... $

Why socks-proxy?

01.

Ultra Lightweight

Compiles to a tiny binary. Uses less than 5MB of memory under load. No external libraries required.

02.

RFC Compliant

Full implementation of SOCKS5 (RFC 1928) and Username/Password Authentication (RFC 1929).

03.

Cross Platform

Write once, compile anywhere. Native support for Linux, macOS, and Windows.

04.

Secure & Controlled

Built-in IP allowlisting and user authentication. Control exactly who uses your proxy.

05.

High Performance

Multi-threaded architecture using pthreads to handle concurrent connections efficiently.

06.

UDP Support

Supports UDP ASSOCIATE for applications requiring datagram transport.

<5MB
Memory Usage
0
Dependencies
100%
C11 Standard

Get Up and Running

# 1. Clone git clone https://github.com/InterlacedPixel/socks-proxy.git cd socks-proxy
# 2. Build make
# 3. Run (Default port 1080) ./socks5
# Advanced Usage: Auth + Specific Port ./socks5 --port 8080 --user admin:secret123