socks(8)

NAME
socks - SOCKS 4/4.5/5 gateway service

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

DESCRIPTION
socks is SOCKS server. It supports SOCKSv4, SOCKSv4.5 (extension to v4 for server side name resolution) and SOCKSv5. SOCKSv5 specification allows both outgoing and reverse TCP connections and UDP portmapping.

OPTIONS

-I  Inetd mode. Standalone service only.

-d  Daemonize. Detach service from console and run in the background.

-t  Be silenT. Do not log start/stop/accept error records.

-u  Never ask for username authentication

-e  External address. 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.

-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.

-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.

-Ne External NAT address 3proxy reports to client for CONNECT/BIND. This is external address of NAT between 3proxy and 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.

-Ni Internal NAT address 3proxy reports to client for UDPASSOC. This is external address of the NAT between 3proxy and the client, 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.

-i  Internal address. 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.

-p  Port. Port proxy listens for incoming connections. Default is 1080.

-l  Log. By default logging is to stdout. If logfile is specified logging is to file. Under Unix, if '@' preceeds logfile, syslog is used for logging.

-S  Increase or decrease stack size. You may want to try something like -S8192 if you experience 3proxy crashes.

CLIENTS
You should use a client with SOCKS support or use some socksification support (for example SocksCAP or FreeCAP). Configure 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.

BUGS
Report all bugs to 3proxy@3proxy.org

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>