3proxy/man/imapp.8
2026-07-22 16:15:50 +03:00

125 lines
4.1 KiB
Groff

.TH imapp "8" "July 2026" "3proxy 0.9" "Universal proxy server"
.SH NAME
.B imapp
\- IMAPv4 proxy gateway service
.SH SYNOPSIS
.BR "imapp " [ -d ]
.IB \fR[ -l \fR[ \fR[ @ \fR] logfile \fR]]
.IB \fR[ -p port\fR]
.IB \fR[ -i internal_ip\fR]
.IB \fR[ -e external_ip\fR]
.IB \fR[ -h default_ip[:port]\fR]
.IB \fR[ -x ]
.SH DESCRIPTION
.B imapp
is IMAPv4 (IMAP4rev1) gateway service to allow internal users to access external
IMAP servers.
.SH OPTIONS
.TP
.B -I
Inetd mode. Standalone service only.
.TP
.B -d
Daemonize. Detach service from console and run in the background.
.TP
.B -t
Be silenT. Do not log start/stop/accept error records.
.TP
.B -u
Never look for username authentication.
.TP
.B -e
External address. IP address of the interface the proxy should initiate connections
from.
By default, the system will decide which address to use in accordance
with the routing table.
.TP
.B \-ni\fIPATH\fR
(Linux only) Switch to the network namespace identified by
.I 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
.B \-ne
is also given.
.TP
.B \-ne\fIPATH\fR
(Linux only) Switch to the network namespace identified by
.I PATH
after the listening socket has been bound (and after restoring from
.B \-ni
if applicable). Both options accept any namespace file path
(e.g.\& \fI/var/run/netns/myns\fR or \fI/proc/PID/ns/net\fR)
and require \fBCAP_SYS_ADMIN\fR.
.TP
.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/imapp.sock). On Linux, abstract sockets use
.I -iunix:@socketname
syntax.
.TP
.B -p
Port. Port proxy listens for incoming connections. Default is 143.
.TP
.B -h
Default destination. It's used if the target address is not specified by the user.
.TP
.B -x
Disable STARTTLS support. STARTTLS is not announced in the CAPABILITY
response and the STARTTLS command is not accepted.
.TP
.B -l
Log. By default logging is to stdout. If
.I logfile
is specified logging is to file. Under Unix, if
.RI \' @ \'
precedes
.IR logfile ,
syslog is used for logging.
.TP
.B -S
Increase or decrease stack size. You may want to try something like -S8192 if you experience 3proxy
crashes.
.SH CLIENTS
You can use any MUA (Mail User Agent) with IMAPv4 support. Set the client to use
.I internal_ip
and
.IR port
as an IMAP server. The address of the real IMAP server must be configured as a part of
the IMAP username. The format for the username is
.IR username @ server ,
where
.I server
is the address of the IMAP server and
.I username
is the user\'s login on this IMAP server. The login itself may contain an \'@\' sign.
Supported client authentication methods are the LOGIN command, AUTHENTICATE PLAIN
and AUTHENTICATE LOGIN. With the server, the proxy authenticates using the method
chosen by the client if the server supports it (as advertised in the CAPABILITY
response); otherwise it falls back to AUTHENTICATE LOGIN, AUTHENTICATE PLAIN or
the LOGIN command, in this order of preference. Challenge-response authentication
(CRAM-MD5, etc.) is not supported, because it requires a challenge from the server
before we know which server to connect to.
When running as a 3proxy service (not as a standalone binary), STARTTLS is
supported and announced in the CAPABILITY response unless disabled with
.BR -x .
After the client issues STARTTLS, the connection is handled by
.BR tlspr (8):
the destination host is taken from the SNI of the client TLS handshake (or from
the -h option), the proxy performs STARTTLS negotiation with the destination
server, and then transparently passes TLS traffic between the client and the
server. If the destination server does not support STARTTLS, the TLS handshake
with the client fails.
.SH BUGS
Report all bugs to
.BR 3proxy@3proxy.org
.SH SEE ALSO
3proxy(8), ftppr(8), pop3p(8), proxy(8), smtpp(8), socks(8), tcppm(8), tlspr(8), udppm(8), syslogd(8),
.br
https://3proxy.org/
.SH AUTHORS
3proxy is designed by Vladimir Dubrovin <vlad@3proxy.org>