Updog is a replacement for Python's SimpleHTTPServer.


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 using pip:

pip3 install updog


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


Serve from your current directory:


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


A special thank you to Nicholas Smith for designing the updog logo.

More at: https://github.com/sc0tfree/updog

February 24, 2020


Hakin9 TEAM
Hakin9 is a monthly magazine dedicated to hacking and cybersecurity. In every edition, we try to focus on different approaches to show various techniques - defensive and offensive. This knowledge will help you understand how most popular attacks are performed and how to protect your data from them. Our tutorials, case studies and online courses will prepare you for the upcoming, potential threats in the cyber security world. We collaborate with many individuals and universities and public institutions, but also with companies such as Xento Systems, CATO Networks, EY, CIPHER Intelligence LAB, redBorder, TSG, and others.
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Inline Feedbacks
View all comments
© HAKIN9 MEDIA SP. Z O.O. SP. K. 2023