111 lines
3.5 KiB
Groff
111 lines
3.5 KiB
Groff
.TH SERVEFILE "20" "April 2012" "servefile 0.4.0" "User Commands"
|
|
|
|
.SH NAME
|
|
servefile \- small HTTP-Server for temporary file transfer
|
|
|
|
.SH SYNOPSIS
|
|
.B servefile
|
|
[\fI\-h\fR\fR] [\fI\-\-version\fR] [\fI\-p PORT\fR] [\fI\-u\fR] [\fI\-s MAX_UPLOAD_SIZE\fR] [\fI\-l\fR]
|
|
.IP
|
|
[\fI\-\-ssl\fR] [\fI\-\-key KEY\fR] [\fI\-\-cert CERT\fR] [\fI\-a user:password\fR]
|
|
\fIfile/directory\fR
|
|
|
|
.SH DISCLAIMER
|
|
Do not use this as a normal webserver. This server is optimized for running
|
|
a short time and to send files to other people, not for doing performant
|
|
static file serving.
|
|
|
|
.SH DESCRIPTION
|
|
servefile is a small HTTP-server intended for temporary file transfer mostly
|
|
in the local network. It aims to make transfering single files as painless as
|
|
possible and to replace tar/netcat solutions.
|
|
|
|
With just a file as argument servefile serves just that one file and redirects
|
|
all HTTP requests to that file.
|
|
|
|
Uploads can be done with curl, wget (see EXAMPLES) or a normal browser.
|
|
In upload mode with \fB\-u\fR servefile creates a directory and saves all
|
|
uploaded files into that directory. When uploading with curl or wget the
|
|
filename is extracted from the path part of the url used for the upload.
|
|
|
|
For SSL support python-openssl (pyssl) needs to be installed. If no key and
|
|
cert is given, servefile will generate a keypair for you and display its
|
|
fingerprint.
|
|
|
|
In \fB--tar\fR mode the given file or directory will be on the fly and on
|
|
request packed and, through the HTTP connection, piped to the client. Tar files
|
|
will be created only containing the top directory given to servefile, so using
|
|
path/to/dir/ as \fIfile/directory\fR argument will create a tar file starting
|
|
with the dir/ directory. Symlinks will not be dereferenced.
|
|
|
|
.SH COMMAND SUMMARY
|
|
.SS "positional arguments:"
|
|
.TP
|
|
\fIfile/directory\fR
|
|
file or directory (with \fB\-l\fR or \fB\-u\fR) which should be served or uploaded to
|
|
.SS "optional arguments:"
|
|
.TP
|
|
\fB\-h\fR, \fB\-\-help\fR
|
|
Show this help message and exit
|
|
.TP
|
|
\fB\-\-version\fR
|
|
Show program's version number and exit
|
|
.TP
|
|
\fB\-p\fR PORT, \fB\-\-port\fR PORT
|
|
Port to listen on
|
|
.TP
|
|
\fB\-u\fR, \fB\-\-upload\fR
|
|
Enable uploads to a given directory
|
|
.TP
|
|
\fB\-s\fR MAX_UPLOAD_SIZE, \fB\-\-max\-upload\-size\fR MAX_UPLOAD_SIZE
|
|
Limit uploadsize in kb. Size modifiers are allowed,
|
|
e.g. 2G, 12Mb, 1b.
|
|
.TP
|
|
\fB\-l\fR, \fB\-\-list\-dir\fR
|
|
Show directory indexes and allow access to all
|
|
subdirectories
|
|
.TP
|
|
\fB\-\-ssl\fR
|
|
Enable SSL. If no key/cert is specified one will be
|
|
generated.
|
|
.TP
|
|
\fB\-\-key\fR KEY
|
|
Keyfile to use for SSL. If no cert is given with
|
|
\fB\-\-cert\fR the keyfile will also be searched for a cert
|
|
.TP
|
|
\fB\-\-cert\fR CERT
|
|
Certfile to use for SSL
|
|
.TP
|
|
\fB\-a\fR user:password, \fB\-\-auth\fR user:password
|
|
Set user and password for HTTP basic authentication
|
|
.TP
|
|
\fB\-t\fR, \fB\-\-tar\fR
|
|
Enable on the fly tar creation for given file or
|
|
directory. Note: Download continuation will not be
|
|
available.
|
|
.TP
|
|
\fB\-c\fR method, \fB\-\-compression\fR method
|
|
Set compression method, only in combination with
|
|
\fB\-\-tar\fR. Can be one of none, gzip, bzip2.
|
|
.SH EXAMPLES
|
|
Serving a single file with SSL and HTTP Basic auth:
|
|
.IP
|
|
servefile \-\-ssl \-\-auth foo:bar the_file
|
|
.PP
|
|
Enabling uploads to a directory:
|
|
.IP
|
|
servefile \-u dir/
|
|
.PP
|
|
Uploading file foo as bar to servefile via command line:
|
|
.PP
|
|
curl \-X PUT http://ip:port/bar \-d @foo
|
|
curl \-X POST http://ip:port/bar \-d @foo
|
|
wget http://ip:port/bar \-\-post-file=foo
|
|
.PP
|
|
serving a on the fly generated tar.gz file of a directory:
|
|
.IP
|
|
servefile --tar -c gzip path/to/dir
|
|
.PP
|
|
.SH AUTHOR
|
|
servefile is developed by Sebastian Lohff <seba@someserver.de>
|