125 lines
4.0 KiB
Groff
125 lines
4.0 KiB
Groff
.TH SERVEFILE 1 "April 2012" "servefile 0.4.1" "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 web server. This server is optimized for running
|
|
a short time and to send files to other people, not for doing high-performance
|
|
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 transferring 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 key pair for you and display its
|
|
fingerprint.
|
|
|
|
In \fB--tar\fR mode the given file or directory will be packed on (each)
|
|
request and piped to the client through the HTTP connection, thus serving
|
|
always the latest content of the directory and preventing temporary file
|
|
creaton. Tar files will be created containing only the lowest directory name
|
|
from the full path, so using /path/to/dir/ as \fIfile/directory\fR argument
|
|
will create a tar file starting with the dir/ directory. When giving a file
|
|
as argument, only the file without any path will be in the tarfile.
|
|
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 a 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 upload size 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
|
|
Key file to use for SSL. If no cert is given with
|
|
\fB\-\-cert\fR the key file 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\-\-realm\fR REALM
|
|
Set a realm for HTTP basic authentication. This is an
|
|
arbitrary string which is displayed when doing 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.
|
|
.TP
|
|
\fB\-4\fR, \fB\-\-ipv4\-only\fR
|
|
Listen on IPv4 only
|
|
.TP
|
|
\fB\-6\fR, \fB\-\-ipv6\-only\fR
|
|
Listen on IPv6 only
|
|
.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 \-\-data-binary @foo
|
|
curl \-X POST http://ip:port/bar \-\-data-binary @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>
|