Dropzone: intercambio de archivos seguro y sin base de datos, con Docker y enlaces temporales

Dropzone

Dropzone: compartir archivos mediante enlaces temporales

Dropzone es una herramienta de código abierto pensada para compartir archivos de forma sencilla mediante enlaces temporales, sin depender de una base de datos y con la posibilidad de alojar el servicio en un servidor propio. El proyecto apuesta por una interfaz basada en arrastrar y soltar, protección mediante contraseña y enlaces que pueden configurarse para caducar después de un periodo determinado.

La propuesta resulta especialmente interesante para quienes quieren disponer de un sistema de intercambio de archivos bajo su propio control, en lugar de recurrir a servicios de almacenamiento en la nube cada vez que necesitan enviar un archivo grande. El proyecto está desarrollado en PHP y también ofrece una imagen Docker para simplificar su despliegue.

Dropzone: compartir archivos mediante enlaces temporales

El funcionamiento es bastante directo. El usuario arrastra uno o varios archivos a la interfaz web y el servidor se encarga de procesarlos para generar un enlace de descarga. Ese enlace puede copiarse y enviarse al destinatario o utilizarse directamente para compartir el contenido.

También es posible enviar el enlace por correo electrónico desde la propia interfaz. Esto permite utilizar la herramienta como una pequeña plataforma privada de intercambio de archivos, sin necesidad de crear cuentas para las personas que simplemente necesitan recibir un archivo.

Los enlaces pueden configurarse con diferentes periodos de validez, desde unas pocas horas hasta varios días. También existe la posibilidad de mantenerlos activos indefinidamente cuando se necesita un enlace reutilizable.

Contraseña y descargas de un solo uso

Una de las características más interesantes es la posibilidad de añadir protección mediante contraseña a cada archivo compartido. De esta manera, disponer del enlace por sí solo no tiene por qué ser suficiente para acceder al contenido.

También se puede elegir entre enlaces que permitan varias descargas y enlaces de un solo uso. En este último caso, el archivo deja de estar disponible después de que el destinatario lo haya descargado.

El proyecto indica además que las contraseñas no se almacenan en texto plano y que los archivos se eliminan automáticamente cuando alcanzan el momento de expiración configurado.

Dropzone también permite compartir carpetas

Dropzone no se limita a archivos individuales. La interfaz permite arrastrar carpetas completas, algo especialmente práctico cuando se necesita enviar un conjunto de documentos o recursos sin tener que comprimirlos manualmente antes de subirlos.

Cuando se recibe una carpeta, la aplicación puede crear automáticamente un archivo ZIP con su contenido para facilitar la descarga. Además, la herramienta conserva de forma más fiable las rutas y los metadatos de los archivos durante las cargas mediante arrastrar y soltar.

Las versiones recientes también han mejorado el tratamiento de cargas grandes y reanudables. El sistema utiliza fragmentos para realizar las subidas, evitando que un archivo de gran tamaño tenga que transferirse necesariamente como una única operación.

Sin base de datos y con Docker

Una de las particularidades del proyecto es que no necesita una base de datos. Se trata de una aplicación PHP sin base de datos externa, lo que simplifica considerablemente su instalación y mantenimiento en un servidor propio.

Para quienes prefieren utilizar contenedores, existe una imagen Docker oficial del proyecto. La versión 3.3 puede desplegarse con Docker y permite montar directorios externos para conservar los archivos subidos y la configuración incluso cuando el contenedor se recrea o actualiza.

El proyecto también proporciona opciones para almacenar las cargas en una ubicación personalizada, algo que puede resultar útil cuando el servidor dispone de un disco dedicado, almacenamiento de red o una unidad con mayor capacidad.

Un administrador para controlar las cargas

La aplicación incorpora un panel de administración protegido mediante contraseña desde el que es posible gestionar los archivos almacenados. Entre las operaciones disponibles se encuentran modificar la caducidad de una carga, cambiar su contraseña, descargar archivos y eliminarlos.

El panel también incorpora funciones de búsqueda para localizar cargas utilizando datos como el nombre del archivo, el tamaño, la fecha o la dirección de correo electrónico asociada.

Esto convierte al proyecto en algo más completo que una simple página para generar enlaces. Puede funcionar como una pequeña plataforma privada de intercambio de archivos para un servidor doméstico, una empresa o cualquier usuario que prefiera controlar directamente dónde se almacenan sus datos.

Dropzone 3.3 mejora la seguridad

La versión 3.3 incorpora correcciones de seguridad, mientras que la versión 3.2 ya había introducido mejoras importantes en las cargas reanudables. Entre ellas se encuentra una validación más fiable de los desplazamientos de los fragmentos y un bloqueo por archivo para evitar que los reintentos puedan generar fragmentos duplicados.

También se mejoró la limpieza de archivos temporales después de cargas completadas, canceladas o expiradas. El proceso de creación y finalización de archivos ZIP recibió igualmente ajustes relacionados con la validación de metadatos y el tratamiento de errores.

Una alternativa sencilla para el autoalojamiento

Dropzone apuesta por una idea sencilla: proporcionar una plataforma ligera para compartir archivos sin obligar al usuario a utilizar un servicio de almacenamiento de terceros. Su combinación de enlaces temporales, contraseñas, cargas por fragmentos y Docker permite adaptarlo tanto a un servidor personal como a una instalación utilizada por un pequeño equipo.

Además, su licencia MIT permite utilizar, modificar y redistribuir el proyecto libremente. Para quienes buscan una solución de autoalojamiento centrada específicamente en el intercambio de archivos, sin las funciones y complejidad de una plataforma completa de almacenamiento en la nube, es una alternativa que merece la pena conocer.

from Linux Adictos https://ift.tt/RqkYUNO
via IFTTT