updog3 is a fork 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
Project description
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.
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 😭
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
File details
Details for the file updog3-1.4.4.tar.gz
.
File metadata
- Download URL: updog3-1.4.4.tar.gz
- Upload date:
- Size: 2.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 314fd484ee80d7f2fc26f3c278e9925fc543a011bbb9eaab8e45b66820763283 |
|
MD5 | 23463757085f71dd193a3abd32c13edf |
|
BLAKE2b-256 | 5b84e6024d5d79677e539f7446ad5335f48aa5ae498926894a5e5ad728eafddf |
File details
Details for the file updog3-1.4.4-py3-none-any.whl
.
File metadata
- Download URL: updog3-1.4.4-py3-none-any.whl
- Upload date:
- Size: 2.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3d2330e886785b14b1ccc749bbd9052c9294982e8a815a67528f9c82b0940d7 |
|
MD5 | cdc09d20a98c3aca2cc5f4e45079aee6 |
|
BLAKE2b-256 | decc9aa72938a6dfa37bf5a143ff0e5510e9b5fd3863e501c53bcd267c9a7460 |