What is Universal Manga Downloader?
Universal Manga Downloader is a robust, open-source automation tool that downloads manga from multiple popular websites and converts them into high-quality PDF files. Built with a modular Python core and offering multiple deployment options, it provides flexibility for both casual users and developers. The project features a modern Next.js web interface, a legacy desktop GUI, and a Discord bot integration - all powered by the same battle-tested core engine.Web interface
Modern dashboard with real-time progress tracking
Desktop app
Standalone Tkinter GUI for local use
Discord bot
Remote downloads via Discord commands
API
FastAPI backend for custom integrations
Key features
Multi-site support
The downloader supports 6+ major manga sites with intelligent extraction strategies:- Z-TMO - Full series and single chapter support using Crawl4AI
- TMO-H - AI-powered image detection with Crawl4AI
- M440 - Cover and chapter downloads via crawler
- H2R - Fast metadata extraction using JSON parsing
- Hi.la - Stealth browser mode to bypass protections
- NH.net - API + browser combo with Cloudflare bypass
Modern architecture
The core package uses the Strategy Pattern for easy extensibility. Each site handler implements the
BaseSiteHandler interface, making it simple to add new sites.asyncio and aiohttp for high-performance concurrent downloads. Multiple images are downloaded in parallel with configurable batch sizes.
Security-first design
The project includes multiple security layers:- SSRF Protection - Strict hostname verification prevents server-side request forgery
- Path Traversal Prevention - Absolute path checking blocks directory traversal attacks
- CORS Enforcement - Mitigates cross-origin vulnerabilities
- Rate Limiting - Basic DoS protection with concurrent download limits
Real-time feedback
Whether you’re using the web interface, desktop app, or Discord bot, you get:- Live progress bars showing download status
- Detailed logging of each operation
- WebSocket integration for instant updates
- Error reporting with actionable messages
Use cases
Personal archiving
Download your favorite manga series for offline reading or backup purposes. The high-quality PDF output preserves image quality and includes proper page ordering.Batch processing
Process multiple chapters or entire series efficiently with concurrent downloads. The asynchronous engine handles multiple URLs without blocking.Remote access
Deploy the Discord bot to download manga from any device with Discord access. Files over 8MB are automatically uploaded to GoFile for easy retrieval.Custom automation
Integrate the FastAPI backend into your own workflows. The WebSocket API provides programmatic access to all functionality.Architecture overview
Universal Manga Downloader uses a three-layer architecture:Interface layer
Multiple deployment options that all consume the same core functionality:- Web client (
web_client_next/) - Next.js 15 dashboard with TailwindCSS - Desktop app (
app.py) - Tkinter GUI for standalone use - Discord bot (
bot.py) - Discord.py integration - API server (
web_server.py) - FastAPI backend with WebSocket support
Core engine
Thecore/ package provides the main processing logic:
handler.py- Central router that delegates to site-specific handlersconfig.py- Centralized configuration managementutils.py- PDF generation and file management utilities
Site handlers
Each supported site has a dedicated handler incore/sites/:
- Crawl4AI - Intelligent web scraping for complex sites
- Playwright - Browser automation for JavaScript-heavy pages
- aiohttp - Fast async HTTP requests for APIs
All handlers implement cancellation support and progress reporting through callback functions.
Next steps
Install
Set up the project on your machine
Quick start
Download your first manga in 5 minutes
Deploy
Choose your deployment method
API reference
Explore the core API