RTMPSUCK(1)
β¨ RTMPSUCK(1) β¨
okay bestie, gather round, because we're talking about rtmpsuck β it's a transparent RTMP proxy and honestly? she's serving. this is a General Commands Manual page, section 1, and it's about to be your new obsession π
πΈ NAME πΈ
rtmpsuck β a transparent RTMP proxy π¦
π SYNOPSIS π
rtmpsuck [-z]
that's it. that's the whole vibe. one optional flag, no notes β¨
π DESCRIPTION π
so here's the tea, bestie: rtmpsuck is a transparent RTMP proxy. she parks herself on port 1935 and just waits for RTMP sessions to roll up, but lowkey you can also redirect other ports to her if that's what you need. flexible queen πββοΈ
first she does an RTMP handshake with the client, then she sits there like "go ahead, send your connect request, i'm listening" and waits for the client to actually send that connect request. once it lands, she parses it, prints the connect parameters (yes, all of them, she's nosy in the best way), and then makes an outbound connection to the real RTMP server.
then she does an RTMP handshake with that server too β because she's polite like that β forwards the connect request over, and from that point on? she's just relaying packets back and forth between the two endpoints. main character energy, carrying the whole conversation fr fr π₯
but wait, there's more β¨ she also keeps an eye out for a few packets that she treats ~specially~:
- a
playpacket coming from the client gets parsed, so the playpath can be displayed π - she also handles SWF Verification requests from the server, and does it without forwarding them to the client. sneaky? maybe. iconic? absolutely π
and once the play command is processed, every single bit of audio/video data that comes rolling in from the server gets written to a file, and delivered back to the client. both. she can do both π«Ά
now, the whole point of doing all this β instead of just using a sniffer like some people β is that since rtmpsuck has performed real handshakes with both the client and the server, she can negotiate whatever encryption keys are needed and therefore record the unencrypted data. no cap. that's the entire flex. π
β OPTIONS β
-zβ debug level output. and when we say debug level output, we mean extremely verbose. like, extremely. she will tell you everything. every last detail. buckle up π
π SEE ALSO π
π AUTHORS π
Andrej Stepanchuk, Howard Chu <http://rtmpdump.mplayerhq.hu>
ok so that's the whole page, bestie π go forth, proxy transparently, and remember: she negotiated those keys herself so you get the unencrypted goods. periodt. πβ¨
this was brought to you by RTMPDump v2.4, dated 2016-04-27 β vintage but still slaying, as always πΈπ¦
π¦ where this page comes from
- debian bookworm: rtmpdump 2.4+20151223.gitfa8646d.1-2+b2
- debian trixie: rtmpdump 2.4+20151223.gitfa8646d.1-2+b5
- ubuntu jammy: rtmpdump 2.4+20151223.gitfa8646d.1-2build4
- ubuntu noble: rtmpdump 2.4+20151223.gitfa8646d.1-2build7
- ubuntu questing: rtmpdump 2.4+20151223.gitfa8646d.1-2build8
- ubuntu resolute: rtmpdump 2.4+20151223.gitfa8646d.1-3 Β· GPL-2.0-or-later
- ubuntu stonking: rtmpdump 2.6-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms