socks(8)
π socks(8) β the SOCKS gateway page, bestie edition β¨
okay so you opened the socks manual page (section 8, system administration, we love a queen who manages the whole system π«Ά) and honestly? this one's a baddie. it's the manual for the Universal proxy server's SOCKS gateway service. let's get into it.
πΈ NAME πΈ
socks β the SOCKS 4/4.5/5 gateway service. that's the whole name. short, iconic, does exactly what it says on the tin. periodt.
β¨ SYNOPSIS β¨
socks [-d] [-l[[@]logfile]] [-pport] [-iinternal_ip] [-eexternal_ip]
yes bestie, that's a lot of little flags stacked up like charms on a bracelet. don't panic. we're going through every single one, no skips, no cuts. π
π¦ DESCRIPTION π¦
okay so socks is a SOCKS server. that's it, that's the gig.
it supports:
- SOCKSv4
- SOCKSv4.5 β which is literally just an extension to v4 for server side name resolution, glow-up behavior only β¨
- SOCKSv5 β and the SOCKSv5 specification allows both outgoing and reverse TCP connections and UDP portmapping. multitasking queen π
π OPTIONS π
every flag, right here, in order, no crumbs left behind:
-Iβ Inetd mode. Standalone service only. pick a lane, babe.-dβ Daemonize. detaches the service from the console and runs it in the background, like how i leave the group chat when it gets too loud π-tβ Be silenT. does not log start/stop/accept error records. she's mysterious. she's not telling you anything. π€«-uβ Never ask for username authentication. no questions, no interrogations, we're just vibing.-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 β so it's giving "i'll figure it out myself" energy.-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-neis also given. sneaky little namespace field trip, love that for us π§-nePATHβ (Linux only) Switch to the network namespace identified by PATH after the listening socket has been bound (and after restoring from-niif applicable). both options accept any namespace file path (e.g./var/run/netns/mynsor/proc/PID/ns/net) and requireCAP_SYS_ADMIN. yes, that capability. you need it. no cap.-Neβ External NAT address 3proxy reports to 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. very specific, very niche, we respect it.-Niβ Internal NAT address 3proxy reports to 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. again, it's only useful in the case of IP-IP NAT and does not work with port translation. twins π―-iβ Internal address. the IP address the proxy accepts connections to. by default, connections to any interface are accepted. it's usually unsafe. bestie, hear me: that default is giving "front door wide open, snacks on the counter" π Unix domain sockets can be specified with-iunix:/path/to/socketsyntax (e.g.,-iunix:/var/run/socks.sock). on Linux, abstract sockets use-iunix:@socketnamesyntax.-pβ Port. the port the proxy listens on for incoming connections. Default is1080. remember that number, it's the vibe.-lβ Log. by default logging goes to stdout. if logfile is specified, logging goes to file. under Unix, if@precedes logfile, syslog is used for logging. fancy. β¨-Sβ Increase or decrease stack size. you may want to try something like-S8192if you experience 3proxy crashes. (yes, it does both directions, it's a slider, not a button ποΈ)
π CLIENTS π
so, who's connecting to this thing?
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.
and here's the slay: 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). main character energy, truly.
if you need to control access, use 3proxy(8) instead. that's the one with the bouncer at the door. πͺ
π BUGS π
report all bugs to 3proxy@3proxy.org
(they want to hear from you, bestie. tell them everything. π«Ά)
π SEE ALSO π
the whole friend group, all linked up. iykyk π
π AUTHORS π
3proxy is designed by Vladimir Dubrovin <vlad@3proxy.org>
and that's the page, bestie! this is 3proxy 0.9, dated May 2026, and you just read the socks(8) manual β go forth, proxy responsibly, and don't leave your -i wide open. mwah ππΈ
π¦ where this page comes from
- epel 10: 3proxy 1.0.1-2.el10_3 Β· BSD-3-Clause OR Apache-2.0 OR GPL-2.0-or-later OR LGPL-2.1-or-later
- epel 9: 3proxy 1.0.1-1.el9 Β· BSD-3-Clause OR Apache-2.0 OR GPL-2.0-or-later OR LGPL-2.1-or-later
- fedora 43: 3proxy 1.0.0-1.fc43
- fedora 43: 3proxy 1.0.1-1.fc43 Β· BSD-3-Clause OR Apache-2.0 OR GPL-2.0-or-later OR LGPL-2.1-or-later
- fedora 44: 3proxy 1.0.0-1.fc44
- fedora 44: 3proxy 1.0.1-1.fc44 Β· BSD-3-Clause OR Apache-2.0 OR GPL-2.0-or-later OR LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms