SkillAgentSearch skills...

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/Updog
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Version 2.0.1 Python 3.11+ MIT License sc0tfree Twitter

<p> <img src="https://raw.githubusercontent.com/sc0tfree/updog/master/assets/updog.png" width=85px alt="updog"/> </p>

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

View on GitHub
GitHub Stars3.3k
CategoryDevelopment
Updated14h ago
Forks332

Languages

Python

Security Score

100/100

Audited on Mar 19, 2026

No findings