Updog is a replacement for Python's SimpleHTTPServer. It allows uploading and downloading via HTTP/S, can set ad hoc SSL certificates and use HTTP basic auth.
Project description
Updog is a replacement for Python's SimpleHTTPServer.
It allows uploading and downloading via HTTP/S,
can set ad hoc SSL certificates and use HTTP basic auth.
Installation
Install using pip:
pip install updog
Or using pipx (recommended for CLI tools):
pipx install updog
For development:
git clone https://github.com/sc0tfree/updog.git
cd updog
poetry install
poetry run updog
Usage
updog [-d DIRECTORY] [-b ADDRESS] [-p PORT] [--password PASSWORD] [--ssl | --ssl-cert CERT --ssl-key KEY] [--cors] [--hide-base-path]
| Argument | Description |
|---|---|
| -d DIRECTORY, --directory DIRECTORY | Root directory [Default=.] |
| -b ADDRESS, --bind ADDRESS | Bind to specific address [Default=0.0.0.0] |
| -p PORT, --port PORT | Port to serve [Default=9090] |
| --password PASSWORD | Use a password to access the page. (No username) |
| --ssl | Enable SSL with ad-hoc certificate |
| --ssl-cert CERT | Path to custom SSL certificate |
| --ssl-key KEY | Path to custom SSL private key |
| --cors | Enable CORS headers |
| --hide-base-path | Hide full directory path (show relative paths) |
| --version | Show version |
| -h, --help | Show help |
Examples
Serve from your current directory:
updog
Serve from another directory:
updog -d /another/directory
Serve from port 1234:
updog -p 1234
Password protect the page:
updog --password examplePassword123!
Please note: updog uses HTTP basic authentication. To login, you should leave the username blank and just enter the password in the password field.
Use an SSL connection (ad-hoc certificate):
updog --ssl
Use an SSL connection with custom certificates:
updog --ssl-cert /path/to/cert.pem --ssl-key /path/to/key.pem
Bind to a specific IP address:
updog -b 192.168.1.10 -p 8080
Enable CORS for web application testing:
updog --cors
Hide full directory paths (OpSec):
updog --hide-base-path
What's updog?
Not much, how about you?
Thanks
A special thank you to Nicholas Smith for designing the updog logo.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file updog-2.0.1.tar.gz.
File metadata
- Download URL: updog-2.0.1.tar.gz
- Upload date:
- Size: 1.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.13.9 Darwin/25.1.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d66cf4e0cd34d2df71ba4f6012f085a6eee7ebc674851d23b7c13a8a0487269
|
|
| MD5 |
b6c6e3d315ffb70bb306ecc08bf0d2c4
|
|
| BLAKE2b-256 |
790ca948269a6489b3d99f0fa732285d83644c526617c14bb3ad761615765390
|
File details
Details for the file updog-2.0.1-py3-none-any.whl.
File metadata
- Download URL: updog-2.0.1-py3-none-any.whl
- Upload date:
- Size: 1.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.13.9 Darwin/25.1.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bf1c6b22fcf6e0e9b8bb8690342178dc0a94552e113c1e495c220fdc8a4989a
|
|
| MD5 |
a88730eeeddb554ee30630a243f81fb7
|
|
| BLAKE2b-256 |
a14f2891f6c2ec14876330c15dc0525c97fe7a84da79267151dc3be53e6a8090
|