File size: 1,469 Bytes
3170bfc
89a9c70
3170bfc
 
 
89a9c70
14187b6
a8cac8d
89a9c70
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a8cac8d
89a9c70
 
 
 
 
14187b6
89a9c70
14187b6
89a9c70
a8cac8d
3170bfc
89a9c70
3170bfc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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)