July 1, 2024

Manga Downloader.

Automation
Node.js

A Node.js-based manga downloader tool designed to automate manga chapter downloads from online sources efficiently.

#manga #downloader #batchprocessing #fileorganization
Manga Downloader

Description

Manga Downloader is a Node.js automation tool that downloads manga chapters from online sources quickly and efficiently. It streamlines manga collection workflows by automating image retrieval, chapter processing, and file organization.

The tool focuses on lightweight performance, scalable download handling, and easy customization for different manga sources.

Background

Manually saving manga page by page is slow and error-prone. I built a command-line tool to automate the whole process — fetching chapters, organizing images into folders, and handling batches — while practicing web scraping and async I/O in Node.js.

Goal

  • Automate downloading of manga chapters from online sources.
  • Organize downloaded images into a clean chapter-based structure.
  • Keep the tool lightweight, scalable, and easy to customize.

Features

  • Automated manga chapter downloading
  • Batch download support with a download queue
  • Fast image retrieval
  • Chapter-based file organization with automatic folder creation
  • Easy source customization
  • Command-line based workflow
  • Lightweight, scalable scraping and downloading

Technologies

  • Node.js — runtime for async scraping, image retrieval, and file-system operations.

How to Run

git clone https://github.com/FannyDevz/manga-downloader
cd manga-downloader
npm install
# configure the manga source/URL as needed
node index.js

Technical Decisions

  • Node.js for its non-blocking async I/O, well suited to concurrent downloads.
  • Queue-based downloading to control concurrency and avoid overwhelming sources.
  • Chapter-based folder structure so collections stay organized automatically.

What I Learned

  • Web scraping and handling asynchronous download flows in Node.js.
  • Managing concurrency with a download queue.
  • Working with the file system for automated organization.

Notes

Command-line tool intended for personal use; respect each source’s terms of service. Future ideas: resume support, retry on failure, and configurable output formats.

Read the story behind this project: Proyek-Proyek Kegabutan (in Indonesian).

Hey! I’m Fanny, the software engineer tending to this digital garden. You can read more about me, or subscribe by email.

Comments