.\" Copyright 2019 Lars Wirzenius .TH FLING 1 .SH NAME fling \- quickly copy stdin over trusted network .SH SYNOPSIS .B fling .RB [ -vp ] .I host port .R output .br .B fling .RB [ -vp "] " -r .I port .BI -o output .SH DESCRIPTION .B fling transfers data quickly over a trusted network. It does not encrypt the data. It tries to avoid copying data between kernel and userspace where it can; you will see the most improvement over other tools like netcat on systems with low memory bandwidth. .PP The input is read from stdin, which can be a file or a pipe. .PP .B fling needs to be installed on both ends of the transfer. .SH OPTIONS .TP .BR \-r Receive instead of sending. The received file is written by default to stdout. .TP .BR \-v Be more verbose about what's happening. .TP .BR \-p Report progress during transfer. .TP .BR \-o Specify output file when receiving to be used instead of stdout. .SH EXAMPLE You need to run fling on both ends of the transfer. Run it first on the receiver: .PP .nf .RS fling -r 12756 > file.dat .RE .fi .PP Alternatively, you can run this to set the output file with an option: .PP .nf .RS fling -r 12756 -o file.dat .RE .fi .PP And then on the sender: .PP .nf .RS fling other.host.address 12756 < file.dat .RE .fi .PP You can also use the .I experimental support for ssh, and have .B fling run itself on the remote end, picking a port automatically. This avoids having to start it manually, in a different terminal. Note that the actual transfer is insecure and doesn't go via ssh. .PP .nf .RS fling other.host:data < data .RE .fi .SH ENVIRONMENT .B FLING_REMOTE_EXE .RS Name of command on the remote end for .B fling itself. Should include full path if not found via PATH. .RE .PP .B FLING_SSH .RS Name of command locally to use ssh. Defaults to "ssh" if not set. .RE .SS NOTES The SSH support in fling is experimental. It may have bugs. .PP 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. .PP 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.