tcppm(8)
π tcppm(8) β like, the TCP port mapper era
okay so real talk, this is a page from the Universal proxy server manual set, and the star of the show is tcppm β the TCP port mapper. she's simple, she's iconic, she forwards your connections. let's go π
β¨ NAME β¨
tcppm β TCP port mapper. that's it, that's her whole job, and she does it flawlessly π
πΈ SYNOPSIS πΈ
tcppm [-d] [-l[[@]logfile]] [-iinternal_ip] [-eexternal_ip] local_port
remote_host remote_port
no cap, that's the whole vibe. three positional args, a handful of flags, done π¦
π DESCRIPTION π
tcppm forwards connections from local to remote TCP port. bestie it's literally in the name β she takes a connection knocking on your local port and walks it over to the remote side. main character energy, zero drama β¨
π OPTIONS π
-Iβ Inetd mode. Standalone service only. (yes, inetd, we love a vintage queen π)-dβ Daemonize. Detaches the service from the console and runs it in the background, so she's out there living her life without you watching π-tβ Be silenT. Do not log start/stop/accept error records. quiet luxury fr fr π-eβ External address. the IP address of the interface the proxy should initiate connections from. by default, the system decides which address to use, in accordance with the routing table. she lets the routing table choose her outfit π-niPATHβ (Linux only π§) switch to the network namespace identified by PATH before opening the listening socket. the current namespace gets saved and restored immediately after binding, so outgoing connections run in the original namespace β unless-neis also given. so specific, so intentional β¨-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 you need the capability, no you can't skip it, periodt π-iβ Internal address. the IP address the proxy accepts connections to. by default, connections to any interface are accepted. it's usually unsafe β οΈ (like, genuinely β listen up). Unix domain sockets can be specified with-iunix:/path/to/socketsyntax (e.g.,-iunix:/var/run/tcppm.sock). on Linux, abstract sockets use-iunix:@socketnamesyntax π§-lβ Log. by default logging goes tostdout. if logfile is specified, logging goes to that file. under Unix, if@precedes logfile,syslogis used for logging. fancy β¨-Sβ Increase or decrease stack size. you may want to try something like-S8192if you experience 3proxy crashes. mama's little stability hack π«Ά
π¦ ARGUMENTS π¦
local_portβ the porttcppmaccepts connections on. this is the front door πremote_hostβ the IP address of the host the connection is forwarded to. Unix domain sockets can be specified with the syntaxunix:/path/to/socket(e.g.,unix:/var/run/app.sock). on Linux, abstract (fileless) Unix sockets use the syntaxunix:@socketname(e.g.,unix:@app.socket) π§remote_portβ the remote port the connection is forwarded to. ignored when using a Unix socket destination, but must still be specified (use any positive value) for syntax compatibility. yeah you have to type a number that does nothing. she's quirky like that π
π₯ CLIENTS π₯
Any TCP-based application can be used as a client. use internal_ip and local_port as the destination in the client application. the connection is then forwarded to remote_host:remote_port. that's the whole flow, iykyk β
π BUGS π
Report all bugs to 3proxy@3proxy.org. be nice about it, she's trying π₯Ί
π SEE ALSO π
3proxy(8), proxy(8), ftppr(8), socks(8), pop3p(8), udppm(8), syslogd(8), and https://3proxy.org/ β go read the whole family, they're all serving π
π AUTHORS π
3proxy is designed by Vladimir Dubrovin <vlad@3proxy.org> β thank you for your service, king π«Ά
ngl, the safest move is to always pin down your internal address with -i. "accepts connections to any interface" is usually unsafe and that's straight from the page, not me being dramatic π
k bye bestie π this was tcppm from 3proxy 0.9, dated May 2026, section 8 of the manual β slay, go forward some ports β¨
π¦ where this page comes from
- nixos 26.05: 3proxy 1.0.2
- nixpkgs unstable: 3proxy 1.0.2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms