sc0tfree/updog
sc0tfree/updog has 3,427 GitHub stars and 340 forks. GitHot measured +1 stars in 24 hours. Last checked 2026-11-06 18:37 UTC. Last push 2025-11-16.
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.
Measured star growth
- in 24h
- +1
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Original
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.
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,541 starspublic-apis/public-apis
A collective list of free APIs
496,818 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
438,945 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,094 stars