-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathfling.1
116 lines (116 loc) · 2.35 KB
/
fling.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
.\" Copyright 2019 Lars Wirzenius <liw@liw.fi>
.TH FLING 1
.SH NAME
fling \- quickly copy stdin over trusted network
.SH SYNOPSIS
.B fling
.RB [ -vp ]
.I host port
.R <input
.br
.B fling
.RB [ -vp ]
.RI [ user@ ] host:/path/to/output
.R <input
.br
.B fling
.RB [ -vp "] " -r
.I port
.B >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.