From 2fd536781fa29d53c422b0b1f2fc8c9e361f179d Mon Sep 17 00:00:00 2001 From: Vladimir Dubrovin <3proxy@3proxy.ru> Date: Mon, 13 Apr 2026 11:54:24 +0300 Subject: [PATCH] Add unix sockets to man --- doc/html/man3/3proxy.cfg.3.html | 31 +++++++++++++++++++++++++---- doc/html/man8/ftppr.8.html | 6 +++++- doc/html/man8/pop3p.8.html | 6 +++++- doc/html/man8/proxy.8.html | 6 +++++- doc/html/man8/smtpp.8.html | 6 +++++- doc/html/man8/socks.8.html | 6 +++++- doc/html/man8/tcppm.8.html | 16 ++++++++++++--- doc/html/man8/tlspr.8.html | 6 +++++- man/3proxy.cfg.3 | 35 +++++++++++++++++++++++++++++---- man/ftppr.8 | 5 +++++ man/pop3p.8 | 5 +++++ man/proxy.8 | 5 +++++ man/smtpp.8 | 5 +++++ man/socks.8 | 5 +++++ man/tcppm.8 | 17 ++++++++++++++-- man/tlspr.8 | 5 +++++ 16 files changed, 146 insertions(+), 19 deletions(-) diff --git a/doc/html/man3/3proxy.cfg.3.html b/doc/html/man3/3proxy.cfg.3.html index 6cdd3dc..c8bca2b 100644 --- a/doc/html/man3/3proxy.cfg.3.html +++ b/doc/html/man3/3proxy.cfg.3.html @@ -101,7 +101,13 @@ smtpp SMTP proxy (default port 25)
ftppr
FTP proxy (default port 21)
admin
Web interface (default port 80)
dnspr
caching DNS proxy (default port 53)
-tcppm
TCP portmapper
+tcppm
TCP portmapper. Destination address (DSTADDR) can +be a Unix domain socket using the syntax +unix:/path/to/socket (e.g., tcppm 8080 +unix:/var/run/app.sock 0). On Linux, abstract sockets use +unix:@socketname syntax. When using Unix socket +destination, the port number is ignored but must be +specified for syntax compatibility.
udppm
UDP portmapper

Options:
@@ -172,7 +178,9 @@ system will decide which address to use in accordance with the routing table.
-i
Internal address. IP address the proxy accepts connections to. By default, connections to any interface are -accepted.
+accepted. Unix domain sockets can be specified with +-iunix:/path/to/socket syntax. On Linux, abstract +sockets use -iunix:@socketname syntax.
-N
(for socks) External NAT address 3proxy reports to client for BIND and UDPASSOC By default external address is reported. It’s only useful in the case of IP-IP NAT @@ -447,7 +455,14 @@ connection.

sets ip address of internal interface. This IP address will be used to bind gateways. Alternatively you can use -i option for individual gateways. Since 0.8 version, IPv6 -address may be used.

+address may be used.
+Unix domain sockets are supported with the syntax +unix:/path/to/socket (e.g., internal +unix:/var/run/3proxy.sock). On Linux, abstract (fileless) +Unix sockets are supported with the syntax +unix:@socketname (e.g., internal unix:@3proxy). When +using Unix sockets, the socket file is automatically created +and removed on service start/stop.

external <ipaddr>
@@ -699,7 +714,15 @@ special case of local redirection, it works only with redirected to different service, ftp locally redirects to ftppr pop3 locally redirects to pop3p http locally redirects to proxy admin locally -redirects to the admin -s service.

+redirects to the admin -s service.
+Unix domain sockets can be used instead of IP address with +the syntax unix:/path/to/socket (e.g., parent 1000 +socks5 unix:/var/run/parent.sock 1080). On Linux, abstract +(fileless) Unix sockets are supported with +unix:@socketname syntax (e.g., parent 1000 http +unix:@parent.proxy 3128). When using Unix sockets, the port +number is ignored but must be specified for syntax +compatibility.

Main purpose of local redirections is to have the requested resource (URL or diff --git a/doc/html/man8/ftppr.8.html b/doc/html/man8/ftppr.8.html index 01b1d82..9485db6 100644 --- a/doc/html/man8/ftppr.8.html +++ b/doc/html/man8/ftppr.8.html @@ -128,7 +128,11 @@ accordance with the routing table.

Internal address. IP address the proxy accepts connections to. By default, connections to any -interface are accepted. It´s usually unsafe.

+interface are accepted. It´s usually unsafe. Unix +domain sockets can be specified with +-iunix:/path/to/socket syntax (e.g., +-iunix:/var/run/ftppr.sock). On Linux, abstract sockets use +-iunix:@socketname syntax.

diff --git a/doc/html/man8/pop3p.8.html b/doc/html/man8/pop3p.8.html index 8acfa7b..53d2963 100644 --- a/doc/html/man8/pop3p.8.html +++ b/doc/html/man8/pop3p.8.html @@ -128,7 +128,11 @@ accordance with the routing table.

Internal address. IP address the proxy accepts connections to. By default, connections to any -interface are accepted. It´s usually unsafe.

+interface are accepted. It´s usually unsafe. Unix +domain sockets can be specified with +-iunix:/path/to/socket syntax (e.g., +-iunix:/var/run/pop3p.sock). On Linux, abstract sockets use +-iunix:@socketname syntax.

diff --git a/doc/html/man8/proxy.8.html b/doc/html/man8/proxy.8.html index c3ef3c9..3f9aa9f 100644 --- a/doc/html/man8/proxy.8.html +++ b/doc/html/man8/proxy.8.html @@ -127,7 +127,11 @@ accordance with the routing table.

Internal address. IP address the proxy accepts connections to. By default, connections to any -interface are accepted. It´s usually unsafe.

+interface are accepted. It´s usually unsafe. Unix +domain sockets can be specified with +-iunix:/path/to/socket syntax (e.g., +-iunix:/var/run/proxy.sock). On Linux, abstract sockets use +-iunix:@socketname syntax.

diff --git a/doc/html/man8/smtpp.8.html b/doc/html/man8/smtpp.8.html index e2bc798..cb21849 100644 --- a/doc/html/man8/smtpp.8.html +++ b/doc/html/man8/smtpp.8.html @@ -128,7 +128,11 @@ accordance with the routing table.

Internal address. IP address the proxy accepts connections to. By default, connections to any -interface are accepted. It´s usually unsafe.

+interface are accepted. It´s usually unsafe. Unix +domain sockets can be specified with +-iunix:/path/to/socket syntax (e.g., +-iunix:/var/run/smtpp.sock). On Linux, abstract sockets use +-iunix:@socketname syntax.

diff --git a/doc/html/man8/socks.8.html b/doc/html/man8/socks.8.html index 3a462df..4012e95 100644 --- a/doc/html/man8/socks.8.html +++ b/doc/html/man8/socks.8.html @@ -162,7 +162,11 @@ and does not work with port translation.

Internal address. IP address the proxy accepts connections to. By default, connections to any -interface are accepted. It´s usually unsafe.

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

diff --git a/doc/html/man8/tcppm.8.html b/doc/html/man8/tcppm.8.html index a9ec6e4..3d0bd10 100644 --- a/doc/html/man8/tcppm.8.html +++ b/doc/html/man8/tcppm.8.html @@ -116,7 +116,11 @@ accordance with the routing table.

Internal address. IP address the proxy accepts connections to. By default, connections to any -interface are accepted. It´s usually unsafe.

+interface are accepted. It´s usually unsafe. Unix +domain sockets can be specified with +-iunix:/path/to/socket syntax (e.g., +-iunix:/var/run/tcppm.sock). On Linux, abstract sockets use +-iunix:@socketname syntax.

@@ -160,12 +164,18 @@ connections on

remote_host

- IP address of the host the -connection is forwarded to

+connection is forwarded to. Unix domain sockets can be +specified with the syntax unix:/path/to/socket (e.g., +unix:/var/run/app.sock). On Linux, abstract (fileless) Unix +sockets use the syntax unix:@socketname (e.g., +unix:@app.socket).

remote_port

- remote port the connection is -forwarded to

+forwarded to. Ignored when using Unix socket destination, +but must be specified (use any positive value) for syntax +compatibility.

CLIENTS diff --git a/doc/html/man8/tlspr.8.html b/doc/html/man8/tlspr.8.html index aead5cb..78e53e4 100644 --- a/doc/html/man8/tlspr.8.html +++ b/doc/html/man8/tlspr.8.html @@ -132,7 +132,11 @@ accordance with the routing table.

Internal address. IP address the proxy accepts connections to. By default, connections to any -interface are accepted. It´s usually unsafe.

+interface are accepted. It´s usually unsafe. Unix +domain sockets can be specified with +-iunix:/path/to/socket syntax (e.g., +-iunix:/var/run/tlspr.sock). On Linux, abstract sockets use +-iunix:@socketname syntax.

diff --git a/man/3proxy.cfg.3 b/man/3proxy.cfg.3 index 7c55c97..71be6cb 100644 --- a/man/3proxy.cfg.3 +++ b/man/3proxy.cfg.3 @@ -87,7 +87,7 @@ SOCKS 4/4.5/5 proxy (default port 1080) SNI proxy (destination address is taken from TLS handshake), may be used to redirect any TLS-based traffic .br .B auto -Proxy with protocol autoselection between proxy / socks / tlspr +Proxy with protocol autoselection between proxy / socks / tlspr .br .B pop3p POP3 proxy (default port 110) @@ -105,7 +105,13 @@ Web interface (default port 80) caching DNS proxy (default port 53) .br .B tcppm -TCP portmapper +TCP portmapper. Destination address (DSTADDR) can be a Unix domain socket +using the syntax +.I unix:/path/to/socket +(e.g., tcppm 8080 unix:/var/run/app.sock 0). On Linux, abstract sockets use +.I unix:@socketname +syntax. When using Unix socket destination, the port number is ignored +but must be specified for syntax compatibility. .br .B udppm UDP portmapper @@ -180,7 +186,12 @@ with the routing table. .br .B -i Internal address. IP address the proxy accepts connections to. -By default, connections to any interface are accepted. +By default, connections to any interface are accepted. +Unix domain sockets can be specified with +.I -iunix:/path/to/socket +syntax. On Linux, abstract sockets use +.I -iunix:@socketname +syntax. .br .B -N (for socks) External NAT address 3proxy reports to client for BIND and UDPASSOC @@ -513,6 +524,14 @@ http://dial.right.now/ from browser to set up connection. sets ip address of internal interface. This IP address will be used to bind gateways. Alternatively you can use -i option for individual gateways. Since 0.8 version, IPv6 address may be used. +.br +Unix domain sockets are supported with the syntax +.I unix:/path/to/socket +(e.g., internal unix:/var/run/3proxy.sock). On Linux, abstract (fileless) +Unix sockets are supported with the syntax +.I unix:@socketname +(e.g., internal unix:@3proxy). When using Unix sockets, the socket file +is automatically created and removed on service start/stop. .br .B external @@ -795,7 +814,7 @@ If port is zero, it\'s taken from original request, only IP is changed. If both IP and port are zero - it\'s a special case of local redirection, it works only with .B socks -proxy. In case of local redirection request is redirected to different service, +proxy. In case of local redirection request is redirected to different service, .B ftp locally redirects to .B ftppr @@ -807,6 +826,14 @@ locally redirects to .B proxy .B admin locally redirects to the admin -s service. +.br +Unix domain sockets can be used instead of IP address with the syntax +.I unix:/path/to/socket +(e.g., parent 1000 socks5 unix:/var/run/parent.sock 1080). On Linux, +abstract (fileless) Unix sockets are supported with +.I unix:@socketname +syntax (e.g., parent 1000 http unix:@parent.proxy 3128). When using Unix +sockets, the port number is ignored but must be specified for syntax compatibility. .br Main purpose of local redirections is to have the requested resource diff --git a/man/ftppr.8 b/man/ftppr.8 index 216855a..6d30664 100644 --- a/man/ftppr.8 +++ b/man/ftppr.8 @@ -36,6 +36,11 @@ with the routing table. .B -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 +.I -iunix:/path/to/socket +syntax (e.g., -iunix:/var/run/ftppr.sock). On Linux, abstract sockets use +.I -iunix:@socketname +syntax. .TP .B -h Default destination. It's used if the target address is not specified by the user. diff --git a/man/pop3p.8 b/man/pop3p.8 index 254bd27..de011c0 100644 --- a/man/pop3p.8 +++ b/man/pop3p.8 @@ -36,6 +36,11 @@ with the routing table. .B -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 +.I -iunix:/path/to/socket +syntax (e.g., -iunix:/var/run/pop3p.sock). On Linux, abstract sockets use +.I -iunix:@socketname +syntax. .TP .B -p Port. Port proxy listens for incoming connections. Default is 110. diff --git a/man/proxy.8 b/man/proxy.8 index a009015..c7dbf73 100644 --- a/man/proxy.8 +++ b/man/proxy.8 @@ -34,6 +34,11 @@ with the routing table. .B -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 +.I -iunix:/path/to/socket +syntax (e.g., -iunix:/var/run/proxy.sock). On Linux, abstract sockets use +.I -iunix:@socketname +syntax. .TP .B -a Anonymous. Hide information about client. diff --git a/man/smtpp.8 b/man/smtpp.8 index 189029c..1afb3f7 100644 --- a/man/smtpp.8 +++ b/man/smtpp.8 @@ -36,6 +36,11 @@ with the routing table. .B -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 +.I -iunix:/path/to/socket +syntax (e.g., -iunix:/var/run/smtpp.sock). On Linux, abstract sockets use +.I -iunix:@socketname +syntax. .TP .B -p Port. Port proxy listens for incoming connections. Default is 25. diff --git a/man/socks.8 b/man/socks.8 index ccaaea8..2d50d4c 100644 --- a/man/socks.8 +++ b/man/socks.8 @@ -49,6 +49,11 @@ of IP-IP NAT and does not work with port translation. .B -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 +.I -iunix:/path/to/socket +syntax (e.g., -iunix:/var/run/socks.sock). On Linux, abstract sockets use +.I -iunix:@socketname +syntax. .TP .B -p Port. Port proxy listens for incoming connections. Default is 1080. diff --git a/man/tcppm.8 b/man/tcppm.8 index 842b63a..d42dc36 100644 --- a/man/tcppm.8 +++ b/man/tcppm.8 @@ -31,6 +31,11 @@ with the routing table. .B -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 +.I -iunix:/path/to/socket +syntax (e.g., -iunix:/var/run/tcppm.sock). On Linux, abstract sockets use +.I -iunix:@socketname +syntax. .TP .B -l Log. By default logging is to stdout. If @@ -50,10 +55,18 @@ crashes. - port tcppm accepts connections on .TP .I remote_host -- IP address of the host the connection is forwarded to +- IP address of the host the connection is forwarded to. Unix domain sockets +can be specified with the syntax +.I unix:/path/to/socket +(e.g., unix:/var/run/app.sock). On Linux, abstract (fileless) Unix sockets +use the syntax +.I unix:@socketname +(e.g., unix:@app.socket). .TP .I remote_port -- remote port the connection is forwarded to +- remote port the connection is forwarded to. Ignored when using Unix socket +destination, but must be specified (use any positive value) for syntax +compatibility. .SH CLIENTS Any TCP-based application can be used as a client. Use .I internal_ip diff --git a/man/tlspr.8 b/man/tlspr.8 index 266191a..db1ab65 100644 --- a/man/tlspr.8 +++ b/man/tlspr.8 @@ -36,6 +36,11 @@ with the routing table. .B -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 +.I -iunix:/path/to/socket +syntax (e.g., -iunix:/var/run/tlspr.sock). On Linux, abstract sockets use +.I -iunix:@socketname +syntax. .TP .B -a Anonymous. Hide information about client.