updog3


Nameupdog3 JSON
Version 1.4.4 PyPI version JSON
download
home_pagehttps://github.com/felmoltor/updog3
Summaryupdog3 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
upload_time2024-11-05 14:43:52
maintainerNone
docs_urlNone
authorfelmoltor
requires_pythonNone
licenseMIT
keywords http server simplehttpserver directory
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![Version 1.0](http://img.shields.io/badge/version-v1.1-green.svg)
![Python 3.12](http://img.shields.io/badge/python-3.12-blue.svg)
[![MIT License](http://img.shields.io/badge/license-MIT%20License-blue.svg)](./LICENSE)
[![felmoltor Twitter](http://img.shields.io/twitter/url/http/shields.io.svg?style=social&label=Follow+Felmoltor)](https://twitter.com/felmoltor)
[![sc0tfree Twitter](http://img.shields.io/twitter/url/http/shields.io.svg?style=social&label=Follow+Sc0tfree)](https://twitter.com/sc0tfree)


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.

<p align="center">
  <img src="updog3/static/images/Updog3.png" alt="updog3 Logo" width=150px/>
</p>

### Installation from pypi
The easiest way:

```bash
pip install updog3
updog3 --version && updog3 -h
```


### Installation from source with pipenv

You need Python3.12.

```bash
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:

```bash
# 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](http://nixmith.com) for designing the original updog logo. The updog3 logo is a poor attempt at updating it, sorry, Nicholas, I am not a designer 😭

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/felmoltor/updog3",
    "name": "updog3",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "HTTP server SimpleHTTPServer directory",
    "author": "felmoltor",
    "author_email": "me@felipemolina.com",
    "download_url": "https://files.pythonhosted.org/packages/5b/84/e6024d5d79677e539f7446ad5335f48aa5ae498926894a5e5ad728eafddf/updog3-1.4.4.tar.gz",
    "platform": null,
    "description": "![Version 1.0](http://img.shields.io/badge/version-v1.1-green.svg)\n![Python 3.12](http://img.shields.io/badge/python-3.12-blue.svg)\n[![MIT License](http://img.shields.io/badge/license-MIT%20License-blue.svg)](./LICENSE)\n[![felmoltor Twitter](http://img.shields.io/twitter/url/http/shields.io.svg?style=social&label=Follow+Felmoltor)](https://twitter.com/felmoltor)\n[![sc0tfree Twitter](http://img.shields.io/twitter/url/http/shields.io.svg?style=social&label=Follow+Sc0tfree)](https://twitter.com/sc0tfree)\n\n\nupdog3 is a for of Sc0tfree's Updog tool, which was a replacement for Python's `SimpleHTTPServer`. \nIt 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.\n\n<p align=\"center\">\n  <img src=\"updog3/static/images/Updog3.png\" alt=\"updog3 Logo\" width=150px/>\n</p>\n\n### Installation from pypi\nThe easiest way:\n\n```bash\npip install updog3\nupdog3 --version && updog3 -h\n```\n\n\n### Installation from source with pipenv\n\nYou need Python3.12.\n\n```bash\ngit clone https://github.com/felmoltor/updog3\ncd updog3\npipenv install .\npipenv shell\nwhich updog3 # to verify you are using the module installed with pipenv\nupdog --version\n```\n\nAfter 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.\n\n## Docker\n\nUse docker:\n\n```bash\n# If you are not logged in:\ndocker login ghcr.io -u <youruser> \n# Pull latest\ndocker pull ghcr.io/felmoltor/updog3:latest\n# If you are using Mac: \n# docker pull --platform linux/amd64 ghcr.io/felmoltor/updog3:latest\n# Tag it as updog3:\ndocker tag ghcr.io/felmoltor/updog3:latest updog3\ndocker run updog3 -h\n\n# Run from docker mapping port 443 and your domain's certificates\ndocker 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\n```\n\n## Usage\n\n`updog3 [-d DIRECTORY] [-p PORT] [--password PASSWORD] [-i] [--ssl] [--cert certificate.pem key.pem] [--fullpath] [--upload [only, enabled, disabled]]`\n\n| Argument                            | Description                                      |\n|-------------------------------------|--------------------------------------------------| \n| -d DIRECTORY, --directory DIRECTORY | Root directory [Default=.]                       | \n| -p PORT, --port PORT                | Port to serve [Default=9090]                     |\n| --password PASSWORD                 | Use a password to access the page. (No username) |\n| -i, --interface                     | IP address of the interface to listen            |\n| -D, --createdir                     | Allow directory creation from the web interface  |\n| --ssl                               | Enable transport encryption via SSL              |\n| --cert                              | Provide your own certificate and key             |\n| --upload                            | Select: only, enabled, disabled                  |\n| --fullpath                          | Display the full path of the folder uploading to |\n| --version                           | Show version                                     |\n| -h, --help                          | Show help                                        |\n\n## Examples\n\n**Serve from your current directory:**\n\n`updog3`\n\n**Serve from another directory:**\n\n`updog3 -d /transfer`\n\n**Serve from port 1234:**\n\n`updog3 -p 1234`\n\n**Password protect the page:**\n\n`updog3 --password examplePassword123!`\n\n*Please note*: updog uses HTTP basic authentication.\nTo login, you should leave the username blank and just\nenter the password in the password field.\n\n**Use an SSL connection:**\n\n`updog3 --ssl`\n\n**Use an SSL connection with custom certificates:**\n\n`updog3 --ssl --cert /certs/certificate.pem /certs/key.pem`\n\nFor 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.)\n\n**Modify upload/download functionality:**\n\nTo allow only uploads:\n\n`updog3 --upload only`\n\nTo allow only downloads:\n`updog3 --upload disabled`\n\nTo allow uploads and downloads:\n`updog3 --upload enabled` (This is the default mode)\n\n\n## Thanks\n\nTo Sc0tfree, the original writer of Updog (https://github.com/sc0tfree/updog).\n\nA special thank you to [Nicholas Smith](http://nixmith.com) for designing the original updog logo. The updog3 logo is a poor attempt at updating it, sorry, Nicholas, I am not a designer \ud83d\ude2d\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "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",
    "version": "1.4.4",
    "project_urls": {
        "Download": "https://github.com/felmoltor/updog3/archive/updog-1.4.4.tar.gz",
        "Homepage": "https://github.com/felmoltor/updog3"
    },
    "split_keywords": [
        "http",
        "server",
        "simplehttpserver",
        "directory"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "decc9aa72938a6dfa37bf5a143ff0e5510e9b5fd3863e501c53bcd267c9a7460",
                "md5": "cdc09d20a98c3aca2cc5f4e45079aee6",
                "sha256": "f3d2330e886785b14b1ccc749bbd9052c9294982e8a815a67528f9c82b0940d7"
            },
            "downloads": -1,
            "filename": "updog3-1.4.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "cdc09d20a98c3aca2cc5f4e45079aee6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 2470253,
            "upload_time": "2024-11-05T14:43:50",
            "upload_time_iso_8601": "2024-11-05T14:43:50.915499Z",
            "url": "https://files.pythonhosted.org/packages/de/cc/9aa72938a6dfa37bf5a143ff0e5510e9b5fd3863e501c53bcd267c9a7460/updog3-1.4.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5b84e6024d5d79677e539f7446ad5335f48aa5ae498926894a5e5ad728eafddf",
                "md5": "23463757085f71dd193a3abd32c13edf",
                "sha256": "314fd484ee80d7f2fc26f3c278e9925fc543a011bbb9eaab8e45b66820763283"
            },
            "downloads": -1,
            "filename": "updog3-1.4.4.tar.gz",
            "has_sig": false,
            "md5_digest": "23463757085f71dd193a3abd32c13edf",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 2472292,
            "upload_time": "2024-11-05T14:43:52",
            "upload_time_iso_8601": "2024-11-05T14:43:52.383437Z",
            "url": "https://files.pythonhosted.org/packages/5b/84/e6024d5d79677e539f7446ad5335f48aa5ae498926894a5e5ad728eafddf/updog3-1.4.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-05 14:43:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "felmoltor",
    "github_project": "updog3",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "updog3"
}
        
Elapsed time: 0.37605s