Tabla de Contenidos

" El Botadero "

El Botadero es una aplicación web que está pensada para compartir archivos de manera rápida y cómoda, pero no para restringir el contenido que las personas quieran compartir.

Si alguien sube un archivo, este se lista en la página principal y quiensea podrá descargarlo. Para ahorrar espacio de almacenamiento los archivos subidos se borran automáticamente después de un número configurable de días dependiendo su tamaño.

La aplicación es bastante liviana y no requiere de la instalación de un gestor de base de datos, por ahora la regulación del contenido se hace borrando archivos manualmente, en un futuro la aplicación contendrá una interfaz web para hacerlo.

Instalación

La última versión de la aplicación y su código fuente siempre está disponible en https://notabug.org/strysg/botadero/

El Botadero está escrito en python 2.7, usando el micro framework web Flask. Si no has desplegado antes una aplicación web con wsgi, uwsgi o gunicorn sigue las siguientes instrucciones. De otra forma puedes revisar las notas de despliegue para Debian o Ubuntu.

Instalando programas necesarios

En un derivado de Debian se deben instalar los siguientes paquetes por ejemplo usando apt-get:

  sudo apt-get install build-essential python python-dev python-pip virtualenv
  

Lo más recomendable es usar un servidor web como NGINX o APACHE para poder servir múltiples aplicaciones a través de un mismo puerto de red en este caso el puerto 80 por defecto para servidores web.

  sudo apt-get install nginx # o algun otro servidor web

Instalando entorno virtual

Aprovechando que con virtualenv se pueden crear entornos virtuales con binarios y bibliotecas de python aislados del sistema operativo, instalaremos Flask y uwsgi en un entorno virtual.

Descargamos el código fuente:

  git clone https://notabug.org/strysg/botadero
  

Si no se usa git , descárgalo como .zip o .tar.gz:

  wget https://notabug.org/strysg/botadero/archive/master.zip

En caso de No haber usado git descomprimios el archivo con el código fuente en una carpeta de nuestra elección, por ejemplo botadero

    cd ruta/con/el/codigo/fuente/del/botadero
    # iniciamos el entorno virtual que se almacenara en la carpeta venv
    virtualenv venv
    # activamos el entorno virtual recién creado
    . venv/bin/activate
    # descargamos e instalamos Flask y uwsgi dentro del entorno virtual
    pip install Flask uwsgi

Probar si la aplicación funciona

python runsever.py

Si todo anda bien la aplicación se debería poder probar abriendo un navegador web y entrando a la URL: localhost:5000 , Flask usa el puerto 5000 por defecto.

Desplegando con un servidor WEB

Sigue las instrucciones para desplegar la aplicación en Debian o Ubuntu.

Configuración (opcional)

Archivo de configuración

Si ya tienes la aplicación ejecutándose puedes ajustarla a tus necesidades, por ejemplo para limitar el espacio utilizado por la aplicación o el tiempo que pueden permanecer los archivos antes de ser borrados.

Las configuraciones se hacen desde el archivo parametros.txt en la carpeta del código fuente. El archivo ya viene con configuraciones por defecto pero puedes cambiarlas editándolo, mira este ejemplo si tu equipo cuenta con poco almacenamiento disponible.

# Espacio de alamcenamiento maximo que puede disponer el botadero (5GB)
TOTAL_STORAGE 5000000000
# Tamanyo maximo de archivos permitidos (50MB)
SIZE_MAX_TO_UPLOAD 50000000
# Borrado de archivos segun tamanyo (6MB y 20MB)
SIZE_1 6000000
SIZE_2 20000000
# Dias para borrar archivos que ocupan menos que SIZE_1 (8 dias)
TIME_TO_DEL_0 8
# Dias para borrar archivos que ocupan espacio entre SIZE_1 y SIZE_2 (6 dias)
TIME_TO_DEL_1 6
# Dias para borrar archivos que ocupan mas que SIZE_2 (3 dias)
TIME_TO_DEL_2 3

Recuerda reiniciar la aplicación el botadero para que los cambios surtan efecto.

Categorías

Adicionalmente se pueden crear categorías para que los archivos se puedan subir/descargar de manera más cómoda, revisa el archivo categorias.txt dentro de la carpeta Docu que indica como agregar o quitar categorías.