socks(8)

πŸ“¦ version 1.0.2, in nixos 26.05, nixpkgs unstable

πŸ’… socks(8): the SOCKS gateway service πŸ’…

okay bestie, welcome to the socks(8) manual page β€” this is the whole vibe for the SOCKS gateway. it's giving "universal proxy server" energy, and we're gonna go through it together, no cap ✨


🌸 NAME 🌸

socks β€” the SOCKS 4/4.5/5 gateway service. literally what it says on the tin πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

socks [-d] [-l[[@]logfile]] [-pport] [-iinternal_ip] [-eexternal_ip]

✨ DESCRIPTION ✨

so socks is a SOCKS server, periodt. it supports:

  • SOCKSv4
  • SOCKSv4.5 β€” which is an extension to v4 for server side name resolution, iykyk
  • SOCKSv5

and the SOCKSv5 spec? it allows both outgoing and reverse TCP connections and UDP portmapping. iconic behavior tbh πŸ”₯


πŸ’– OPTIONS πŸ’–

  • -I β€” Inetd mode. Standalone service only. that's the whole thing 🫢
  • -d β€” Daemonize. Detach the service from the console and run it in the background. main character energy, no terminal required πŸ’…
  • -t β€” Be silenT. Do not log start/stop/accept error records. shhh 🀫
  • -u β€” Never ask for username authentication. not me skipping the username check 😭
  • -e β€” External address. this is the IP address of the interface the proxy should initiate connections from. External IP must be specified if you need incoming connections. by default, the system will decide which address to use in accordance with the routing table. slay, let the routing table cook 🌈
  • -niPATH β€” (Linux only) switch to the network namespace identified by PATH before opening the listening socket. the current namespace is saved and restored immediately after binding, so outgoing connections run in the original namespace unless -ne is also given. namespace gymnastics, but make it cute 🧚
  • -nePATH β€” (Linux only) switch to the network namespace identified by PATH after the listening socket has been bound (and after restoring from -ni if applicable). Both options accept any namespace file path (e.g. /var/run/netns/myns or /proc/PID/ns/net) and require CAP_SYS_ADMIN. fancy permissions, bestie πŸ‘‘
  • -Ne β€” External NAT address that 3proxy reports to the client for CONNECT/BIND. this is the external address of the NAT between 3proxy and the destination server. by default, the external address is reported. it's only useful in the case of IP-IP NAT and does not work with port translation. read that again, fr fr πŸ’€
  • -Ni β€” Internal NAT address that 3proxy reports to the client for UDPASSOC. this is the external address of the NAT between 3proxy and the client, which the client uses to connect to 3proxy. by default, the internal address is reported. it's only useful in the case of IP-IP NAT and does not work with port translation. same energy, different NAT 😌
  • -i β€” Internal address. the IP address the proxy accepts connections to. by default, connections to any interface are accepted. It's usually unsafe. ⚠️ Unix domain sockets can be specified with -iunix:/path/to/socket syntax (e.g., -iunix:/var/run/socks.sock). on Linux, abstract sockets use -iunix:@socketname syntax. we love a flexible queen πŸŽ€
  • -p β€” Port. the port the proxy listens for incoming connections on. default is 1080. the classic πŸ’…
  • -l β€” Log. by default logging is to stdout. if logfile is specified, logging is to file. under Unix, if @ precedes logfile, syslog is used for logging. choose your fighter ✨
  • -S β€” Increase or decrease stack size. you may want to try something like -S8192 if you experience 3proxy crashes. stack size said "let me help" 🫢

🌟 CLIENTS 🌟

you should use a client with SOCKS support, or use some socksification support (for example SocksCAP or FreeCAP). configure the client to use internal_ip and port.

SOCKS allows you to use almost any application protocol without limitation. this implementation also allows you to open privileged ports on the server (if socks has sufficient privileges). if you need to control access, use 3proxy(8) instead. iykyk πŸ‘‘


πŸ™ˆ BUGS πŸ™ˆ

report all bugs to 3proxy@3proxy.org β€” they're waiting, bestie πŸ’Œ


πŸŽ€ SEE ALSO πŸŽ€

3proxy(8), proxy(8), ftppr(8), pop3p(8), tcppm(8), udppm(8), syslogd(8), https://3proxy.org/


πŸ’œ AUTHORS πŸ’œ

3proxy is designed by Vladimir Dubrovin <vlad@3proxy.org> β€” we stan the architect 🫢


this has been your socks(8) moment. go forth and proxy responsibly, bestie πŸ’–

3proxy 0.9 Β· May 2026 Β· socks(8) β€” that's the sign-off, mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from