You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
124 lines
4.0 KiB
124 lines
4.0 KiB
.TH SERVEFILE 1 "September 2020" "servefile 0.5.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 pyopenssl (python3-openssl) 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, xz. |
|
.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>
|
|
|