Simple ad-hoc static web page server with basic auth and https support
Project description
python-tiny-http-server
A simple ad-hoc HTTP server for serving static pages,
similar to python -m http.server
.
This supports:
- Basic authentication, for one or more user:password pairs, which can be specified from the command line and/or be read in from a file.
- Support for HTTPS using a cert and key file
- Support to run as CGI server, but without basic auth / HTTPS for now
Installation
pip install -U tiny-http-server
Usage
usage: tiny-http-server [-h] [--cgi] [--bind ADDRESS] [--directory DIRECTORY]
[--port PORT] [--authfile AUTHFILE]
[--auth USERNAME:PASSWORD] [--cert CERT] [--key KEY]
Tiny HTTP server with optional basic authentication and https support.
optional arguments:
-h, --help show this help message and exit
--cgi Run as CGI Server
--bind ADDRESS, -b ADDRESS
Specify alternate bind address [default: 127.0.0.1]
--directory DIRECTORY, -d DIRECTORY
Specify alternative directory [default: current
directory]
--port PORT Specify alternate port [default: 8000]
--authfile AUTHFILE, -f AUTHFILE
If specified, a file with lines username:password
--auth USERNAME:PASSWORD, -a USERNAME:PASSWORD
Add username:password to accepted authentication
--cert CERT, -c CERT If specified, the cert-file to use, enables https
--key KEY, -k KEY Key file, needed if --cert is specified
Using Basic Authentication
Whenever at least one user/password pair is added through
either the --auth
option or as line in the file specified
via --authfile
, basic authentication is enabled.
This can be combined with HTTPs (see below).
Using HTTPS
This is experimental. It requires a cert and key file.
This gets enabled whenever the --cert
option is specified.
For testing this can be created for localhost
using the command:
openssl req -x509 -out localhost.crt -keyout localhost.key -newkey rsa:2048 -nodes -sha256 -subj '/CN=localhost' -extensions EXT -config <( printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
tiny-http-server-0.1.tar.gz
(4.8 kB
view hashes)
Built Distribution
Close
Hashes for tiny_http_server-0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbb04e26eb1c8f455258cb8ecc981835c5f31e840efc87a080c47bfe74bc5f35 |
|
MD5 | de387823da292c0e521481adb9e46c1a |
|
BLAKE2b-256 | 7a73e5b5052cac52b42f5e7991bc925a3059bbd5e3309f779ef5080b29b97dfd |