# File Transfer

## updog

![Updog](https://sc0tfree.squarespace.com/s/updog.png)

![“updog”](https://github.com/djsnipa1/cheatsheets/blob/master/%E2%80%9Chttps:/sc0tfree.squarespace.com/s/updog.png%E2%80%9D)

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.

![“Updog](https://github.com/djsnipa1/cheatsheets/blob/master/%E2%80%9Chttps:/sc0tfree.squarespace.com/s/updog-screenshot.png%E2%80%9D)

**Nix:** `updog`

## Usage

`updog [-d DIRECTORY] [-p PORT] [--password PASSWORD] [--ssl]`

| 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) |
| --ssl                               | Enable transport encryption via SSL              |
| --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:**

`updog --ssl`

## Thanks

A special thank you to [Nicholas Smith](http://nixmith.com) for designing the updog logo.
