Sign inSign up

mel0nabc/mlndownloader

By mel0nabc

•Updated 5 months ago

Multipart downloader manager

Image
0

149

mel0nabc/mlndownloader repository overview

⁠MlnDownloader - Multi Thread Downloader (Java)

Portada

Proyecto en Java gestor de descargas multihilo, utilizando HTTP Range, procesamiento concurrente y verificación de integridad de archivos.


⁠📌 Descripción

Este proyecto implementa un descargador de archivos que divide el contenido en múltiples partes y las descarga en paralelo usando hilos.

Incluye:

  • Descarga por HTTP Range
  • Descarga multihilo (Thread)
  • Unión final de partes en un único archivo
  • Verificación de tamaño final
  • Resumen de ficheros descargados

⁠🚀 Funcionamiento

  1. El usuario introduce una URL.
  2. Se realiza una petición HEAD para obtener el tamaño del archivo.
  3. El archivo se divide en múltiples partes (chunks).
  4. Cada parte se descarga en paralelo usando threads.
  5. Cada chunk se guarda temporalmente como:
archivo_PART_0
archivo_PART_1
archivo_PART_2
...
  1. Al finalizar:
    • Se ordenan las partes
    • Se unen en un solo archivo final
    • Se eliminan los archivos temporales

⁠⚙️ Tecnologías usadas

  • Java 21+ (HttpClient)
  • Threads nativos (Thread)
  • Java NIO (Files, Path)
  • Spring Boot
  • Spring Web
  • Spring Web Socket
  • Lombok

⁠⚙️ Requisitos

  • docker
  • Docker-compose

⁠▶️ Docker-Compose

services:
  mlndownloder:
    image: mel0nabc/mlndownloader:latest
    container_name: mlndownloader
    ports:
      - "4000:8080"
    volumes:
      - <local folder>:/downloads
    environment: # To save files with this user and group
      - PUID=1000
      - PGID=1000

⁠📊 Información mostrada

  • Tamaño total del archivo
  • Tamaño de cada chunk
  • Número de partes
  • Estado de descarga
  • Tiempo total de descarga

⁠⚠️ Limitaciones

  • No incluye reintentos automáticos
  • Depende de soporte HTTP Range del servidor
  • No optimizado para producción

Tag summary

Content type

Image

Digest

sha256:9e3536a7d…

Size

180 MB

Last updated

5 months ago

docker pull mel0nabc/mlndownloader