HirCoir's picture
Update server.py
89a9c70 verified
raw
history blame contribute delete
No virus
1.47 kB
import os
from flask import Flask, render_template_string, send_from_directory
app = Flask(__name__)
# Directorio base donde se encuentran los archivos
base_directory = "/home/app/"
@app.route('/')
def index():
# Lista de archivos en el directorio base
files = os.listdir(base_directory)
# HTML para mostrar los archivos como enlaces
html = """
<!DOCTYPE html>
<html>
<head>
<title>Archivos disponibles</title>
</head>
<body>
<h1>Archivos disponibles:</h1>
<ul>
"""
# Agrega un elemento de lista (<li>) con un enlace para cada archivo
for file_name in files:
# Agrega un elemento de lista con un enlace
html += f'<li><a href="/download/{file_name}">{file_name}</a></li>'
# Cierra la lista y el documento HTML
html += """
</ul>
</body>
</html>
"""
return render_template_string(html)
@app.route('/download/<path:filename>')
def download_file(filename):
"""Sirve el archivo desde el directorio base."""
# Verifica si el archivo existe
file_path = os.path.join(base_directory, filename)
if os.path.exists(file_path):
return send_from_directory(base_directory, filename, as_attachment=True)
else:
return "Archivo no encontrado", 404
if __name__ == '__main__':
# Ejecuta el servidor en el puerto 7860 y escucha desde todas las interfaces de red.
app.run(host='0.0.0.0', port=7860)