123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- .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 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, 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>
|