This page looks best with JavaScript enabled

UpDog la alternativa para SimpleHTTPServer

 ·   ·   3 min read

    Ayer identifique por Twitter esta herramienta, utilidad,  funcionalidad, como lo desees llamar que fue creada por Henry Prince a.k.a sc0tfree UpDog llegando a ser un reemplazo para SimpleHTTPServer que es utilizado de manera regular por Python. 

    La diferencia entre este y SimpleHTTPServer es que permite la carga y descarga de archivos,iniciar el servicio bajo HTTPS configurando el certificado digital y lo principal en este upgrade es el uso de credenciales  por medio de una autenticación básica port HTTP.

    Instalación

    La forma mas rápida de realizar la instalación es con pip vale aclarar que debe de ser la versión 3 porque la herramienta se encuentra desarrollada bajo Python 3.

     $ pip3 install updog  
    Collecting updog  
      Downloading updog-1.4.tar.gz (2.5 MB)  
         |████████████████████████████████| 2.5 MB 209 kB/s  
    Requirement already satisfied: colorama in /usr/local/lib/python3.6/dist-packages (from updog) (0.3.9)  
    Requirement already satisfied: flask in /usr/local/lib/python3.6/dist-packages (from updog) (1.1.1)  
    Collecting flask_httpauth  
      Downloading Flask_HTTPAuth-3.3.0-py2.py3-none-any.whl (5.0 kB)  
    Requirement already satisfied: pyopenssl in /usr/local/lib/python3.6/dist-packages (from updog) (19.1.0)  
    Requirement already satisfied: werkzeug in /usr/local/lib/python3.6/dist-packages (from updog) (0.16.1)  
    Requirement already satisfied: Jinja2>=2.10.1 in /usr/local/lib/python3.6/dist-packages (from flask->updog) (2.11.1)  
    Requirement already satisfied: itsdangerous>=0.24 in /usr/local/lib/python3.6/dist-packages (from flask->updog) (1.1.0)  
    Requirement already satisfied: click>=5.1 in /usr/local/lib/python3.6/dist-packages (from flask->updog) (7.0)  
    Requirement already satisfied: six>=1.5.2 in /home/snifer/.local/lib/python3.6/site-packages (from pyopenssl->updog) (1.13.0)  
    Requirement already satisfied: cryptography>=2.8 in /usr/local/lib/python3.6/dist-packages (from pyopenssl->updog) (2.8)  
    Collecting MarkupSafe>=0.23  
      Downloading MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl (27 kB)  
    Requirement already satisfied: cffi!=1.11.3,>=1.8 in /usr/local/lib/python3.6/dist-packages (from cryptography>=2.8->pyopenssl->updog) (1.14.0)  
    Requirement already satisfied: pycparser in /usr/local/lib/python3.6/dist-packages (from cffi!=1.11.3,>=1.8->cryptography>=2.8->pyopenssl->updog) (2.19)  
    Building wheels for collected packages: updog  
      Building wheel for updog (setup.py) ... done  
      Created wheel for updog: filename=updog-1.4-py3-none-any.whl size=2448078 sha256=71f3957b683f0412fd25861033cb9a6fbe2a822baee7d1c379ee6aa10c3f1a94  
      Stored in directory: /tmp/pip-ephem-wheel-cache-x6_767dy/wheels/28/44/90/a0f0062acb127b1cf856ef3c07e0436588eb1524f67728007f  
    Successfully built updog  
    Installing collected packages: flask-httpauth, updog, MarkupSafe  
    Successfully installed MarkupSafe-1.1.1 flask-httpauth-3.3.0 updog-1.4
    

    Como todas las herramienta con el comando -h tenemos las opciones.

     updog -h                                                                                                                                                                         
    usage: updog [-h] [-d DIRECTORY] [-p PORT] [--password PASSWORD] [--ssl]  
                 [--version]  
      
    optional arguments:  
      -h, --help            show this help message and exit  
      -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                 Use an encrypted connection  
      --version             show program's version number and exit 
    ```En esta prueba que realice con las flags se adiciona la contrasenia y el directorio a utilizar  
      
    
    [![](https://1.bp.blogspot.com/-GLvKkMJzdc8/Xk0_JQS174I/AAAAAAAAKLw/QF0O-vVWsKYZNPgs0wLrOJ1QZpydDW6GQCLcBGAsYHQ/s640/Flags_updog-sniferl4bs.png)](https://1.bp.blogspot.com/-GLvKkMJzdc8/Xk0_JQS174I/AAAAAAAAKLw/QF0O-vVWsKYZNPgs0wLrOJ1QZpydDW6GQCLcBGAsYHQ/s1600/Flags_updog-sniferl4bs.png)
    
      
    Al momento de autenticarnos solo ingresamos la contrasena previamente seteada accediendo al file server que estamos exponiendo.  
      
    
    [![](https://1.bp.blogspot.com/-HGkvv0DuPto/Xk0_JtKdenI/AAAAAAAAKL0/gZby8K3-8DULoBui2nDcJKd0SmnRttlFACLcBGAsYHQ/s640/UpDog-webServerHTTPS.png)](https://1.bp.blogspot.com/-HGkvv0DuPto/Xk0_JtKdenI/AAAAAAAAKL0/gZby8K3-8DULoBui2nDcJKd0SmnRttlFACLcBGAsYHQ/s1600/UpDog-webServerHTTPS.png)
    
      
    
      
    
    El principal uso que se puede dar a esta herramienta, es para compartir informacion entre equipos, extraer datos a partir de un smbserver o por un servicio HTTP, en el blog vimos anteriormente diferentes métodos para generar un web server.
    
      
    
    *   **[Servidor HTTP con Python2, Python3, Ruby y PHP](https://www.sniferl4bs.com/2017/05/servidor-http-con-python2-python3-ruby.html)**
    
      
    
    "Si queremos que todo siga como está, es necesario que todo cambie." - Giuseppe Tomasi di Lampedusa
    
      
      
    **Regards,**  
    **Snifer**
    Share on
    Support the author with

    Avatar
    WRITTEN BY