Instalar y configurar localtunnel para una app de Flask
Lo primero que debemos tener en cuenta es que necesitamos nodejs instalado, acá tengo otro artículo donde están las diferentes versiones para instalar tanto en ubuntu, como en debian.
Una vez instalado nodejs, instalamos localtunnel:
npm install -g localtunnel
Ahora creamos nuestro proyecto de Flask
virtualenv -p python3 f
source f/bin/activate
pip install flask
deactivate
nano main.py
Supongamos que el contenido de nuestro archivo main.py
en /home/user/
es:
#!/home/user/f/bin/python3
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_word():
return "<h1>Hola mundo</h1>"
if __name__=='__main__':
app.run(debug=True)
Ejecutamos nuestra aplicación Flask primero, el comando chmod +x main.py
sirve para hacer uso de la línea #!/home/user/f/bin/python3
contenida en nuestro archivo main.py
.
chmod +x main.py
./main.py
Al ejecutarse nos mostrará algo similar a esto:
* Serving Flask app 'main' (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: on
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: ***-***-**
127.0.0.1 - - [31/Dec/2021 08:47:15] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [31/Dec/2021 08:47:16] "GET /favicon.ico HTTP/1.1" 404 -
127.0.0.1 - - [31/Dec/2021 08:48:15] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [31/Dec/2021 08:48:16] "GET /favicon.ico HTTP/1.1" 404 -
Ahora sabemos que nuestro proyecto está ejecutandose en http://127.0.0.1:5000/
(no cerramos esa ventana para que siga ejecutandose el servidor de Flask), esto nos ayudará para configurar nuestro localtunnel, con los datos anteriores del host
y el puerto
configuraremos nuestra línea de comando, en una nueva terminal ejecutaremos esto:
lt -s test2345 -p 5000 -l 127.0.0.1
Donde -s
indica nuestro subdominio personalizado, puede ser cualquier cosa que se nos ocurra, sólo recuerda que como es público el servicio algunos subdominios ya están en uso; -p
es el puerto de nuestro proyecto local de Flask (Django, Bootle, etc); y -l
es la dirección de nuestro servidor local.
Nos manda la respuesta:
your url is: https://test2345.loca.lt
Al abrir por primera vez la url
, nos mostrará una página donde nos pedirá que aceptemos los téminos del servicio, sólo basta con darle click al gran botón azul. Si usamos recurrentemente la url
ya no nos mostrará la página del TOS
y su botón azul.