Skip to main content

Version 1.0 Python 3.12 MIT License felmoltor Twitter sc0tfree Twitter

updog3 is a for of Sc0tfree's Updog tool, which was a replacement for Python's SimpleHTTPServer. It allows uploading and downloading via HTTP/S, can set ad hoc and custom SSL certificates, use HTTP basic auth, and disable upload and download functionality when required.

updog3 Logo

Installation from pypi

The easiest way:

pip install updog3
updog3 --version && updog3 -h

Installation from source with pipenv

You need Python3.12.

git clone https://github.com/felmoltor/updog3
cd updog3
pipenv install .
pipenv shell
which updog3 # to verify you are using the module installed with pipenv
updog --version

After this, you do not use python setup.py install as it has some errors that prevents copying the Flask templates and the server will not run. Use pipenv install . instead to install updog as a module.

Docker

Use docker:

# If you are not logged in:
docker login ghcr.io -u <youruser> 
# Pull latest
docker pull ghcr.io/felmoltor/updog3:latest
# If you are using Mac: 
# docker pull --platform linux/amd64 ghcr.io/felmoltor/updog3:latest
# Tag it as updog3:
docker tag ghcr.io/felmoltor/updog3:latest updog3
docker run updog3 -h

# Run from docker mapping port 443 and your domain's certificates
docker run -p 443:443 -v $(pwd)/transfer:/transfer -v /etc/letsencrypt/archive/yourdomain.com/:/certs/  updog3 -p 443 --ssl --cert /certs/cert1.pem /certs/privkey1.pem -d /transfer

Usage

updog3 [-d DIRECTORY] [-p PORT] [--password PASSWORD] [-i] [--ssl] [--cert certificate.pem key.pem] [--fullpath] [--upload [only, enabled, disabled]]

Argument Description
-d DIRECTORY, --directory DIRECTORY Root directory [Default=.]
-p PORT, --port PORT Port to serve [Default=9090]
--password PASSWORD Use a password to access the page. (No username)
-i, --interface IP address of the interface to listen
-D, --createdir Allow directory creation from the web interface
--ssl Enable transport encryption via SSL
--cert Provide your own certificate and key
--upload Select: only, enabled, disabled
--fullpath Display the full path of the folder uploading to
--version Show version
-h, --help Show help

Examples

Serve from your current directory:

updog3

Serve from another directory:

updog3 -d /transfer

Serve from port 1234:

updog3 -p 1234

Password protect the page:

updog3 --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:

updog3 --ssl

Use an SSL connection with custom certificates:

updog3 --ssl --cert /certs/certificate.pem /certs/key.pem

For a LetsEncrypt certificate, the files will be in /etc/letsencrypt/live/[domain]/cert.pem and /etc/letsencrypt/live/[domain]/privatekey.pem (careful, these are just links to ../../archive/ folder, so if you are copying those to another folder, ensure you copy the archive files.)

Modify upload/download functionality:

To allow only uploads:

updog3 --upload only

To allow only downloads: updog3 --upload disabled

To allow uploads and downloads: updog3 --upload enabled (This is the default mode)

Thanks

To Sc0tfree, the original writer of Updog (https://github.com/sc0tfree/updog).

A special thank you to Nicholas Smith for designing the original updog logo. The updog3 logo is a poor attempt at updating it, sorry, Nicholas, I am not a designer 😭

Metadata

Release files for updog3 1.4.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for updog3 1.4.4
File Size Uploaded Provenance Actions
updog3-1.4.4.tar.gz 2.5 MB Without provenance Details for updog3-1.4.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for updog3 1.4.4
File Interpreter ABI Platform Actions
updog3-1.4.4-py3-none-any.whl Python 3 none any Details for updog3-1.4.4-py3-none-any.whl

Total release size: 4.9 MB

Release files / updog3-1.4.4.tar.gz

Download URL updog3-1.4.4.tar.gz
Size 2.5 MB
Tags Source
SHA-256 checksum
How to use checksums
314fd484ee80d7f2fc26f3c278e9925fc543a011bbb9eaab8e45b66820763283
BLAKE2b-256 checksum
How to use checksums
5b84e6024d5d79677e539f7446ad5335f48aa5ae498926894a5e5ad728eafddf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / updog3-1.4.4-py3-none-any.whl

Download URL updog3-1.4.4-py3-none-any.whl
Size 2.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
f3d2330e886785b14b1ccc749bbd9052c9294982e8a815a67528f9c82b0940d7
BLAKE2b-256 checksum
How to use checksums
decc9aa72938a6dfa37bf5a143ff0e5510e9b5fd3863e501c53bcd267c9a7460
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Security for updog3 1.4.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page