FLING(1)
π FLING(1) π
okay bestie, welcome to the fling page β it's a General Commands Manual situation, section 1, and honestly? she's serving speed and nothing else. let's get into it π¦
β¨ NAME β¨
fling β quickly copy stdin over trusted network
like. that's the whole brand. no notes. π
πΈ SYNOPSIS πΈ
fling [-vp] host port
fling [-vp] [user@]host:/path/to/output
fling [-vp] -r port >output
fling [-vp] -r port -ooutput
four whole moods, pick your fighter π
π DESCRIPTION π
okay so here's the tea: fling transfers data quickly over a trusted network. and when we say trusted, we mean it β it does not encrypt the data. zero encryption. none. it's giving "we're all friends here" energy π
the way it gets fast is genuinely iconic: it tries to avoid copying data between kernel and userspace wherever it can. so on systems with low memory bandwidth, you're gonna see the most improvement over other tools like netcat. that's the whole flex. π₯
the input is read from stdin, which can be a file or a pipe. either one, she'll take it.
heads up bestie: fling needs to be installed on both ends of the transfer. both. no sneaking one side past the vibe check.
π OPTIONS π
-rβ receive instead of sending. the received file gets written by default tostdout. yes, by default. we'll get to-oin a sec.-vβ be more verbose about what's happening. she'll tell you the lore as it unfolds.-pβ report progress during transfer. little bar, little numbers, little serotonin boost. β-oβ specify output file when receiving, to be used instead ofstdout.
π EXAMPLE π
you need to run fling on both ends of the transfer, bestie. both. so run it on the receiver first:
fling -r 12756 > file.dat
alternatively, you can run this to set the output file with an option instead:
fling -r 12756 -o file.dat
and then on the sender:
fling other.host.address 12756 < file.dat
and now for the plot twist π«Ά β you can also use the experimental support for ssh, and have fling run itself on the remote end, picking a port automatically. this avoids having to start it manually in a different terminal, which, let's be honest, was giving "two tabs and a prayer". note that the actual transfer is insecure and doesn't go via ssh. the ssh is just the matchmaker, not the date. π
fling other.host:data < data
π§ ENVIRONMENT π§
FLING_REMOTE_EXEβ name of command on the remote end forflingitself. should include the full path if not found viaPATH.FLING_SSHβ name of command locally to usessh. defaults to"ssh"if not set.
β οΈ NOTES β οΈ
the SSH support in fling is experimental. it may have bugs. (she's trying her best, okay?!)
note that ssh is only used to set up the connection between the sending fling and the receiving fling. the actual connection through which data is transferred is still a separate cleartext connection. so like, don't let the ssh outfit fool you. π©·
you should not use fling if you mind that data is transferred over an unencrypted channel, or that an attacker may modify data as it is transferred.
fling aims to be fast, not secure. that's her whole personality. periodt. π
okay and that's the page, bestie!! π this was the FLING(1) page out of the General Commands Manual, section 1 β go forth and copy your stdin over a network you actually trust, and stay hydrated. mwah ππ¦β¨
π¦ where this page comes from
- debian bookworm: fling 1.1-3 Β· MIT
- debian trixie: fling 1.1-3 Β· MIT
- ubuntu jammy: fling 1.1-3 Β· MIT
- ubuntu noble: fling 1.1-3 Β· MIT
- ubuntu resolute: fling 1.1-3build1 Β· MIT
- ubuntu stonking: fling 1.1-3build1 Β· MIT
- Copyright 2019 Lars Wirzenius <liw@liw.fi>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms