Updog
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.
Install / Use
/learn @sc0tfree/UpdogREADME
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.
Related Skills
node-connect
326.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
80.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
326.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
80.4kCommit, push, and open a PR
