Overview
The Universal Manga Downloader includes six built-in site handlers, each implementing theBaseSiteHandler interface. Each handler uses different technologies and strategies optimized for its target website.
Handler implementations
TMOHandler - TMOHentai
TMOHandler - TMOHentai
TMOHandler
Handles downloads from TMOHentai websites using AI-powered extraction.Source:core/sites/tmo.py:18Supported domains:tmohentai
- Crawl4AI for web crawling
- Google Gemini AI (gemini-1.5-flash) for intelligent image extraction
- JavaScript execution for lazy-loading
- Automatically converts URLs to cascade view for easier extraction
- Uses AI to intelligently extract image URLs from complex page structures
- Falls back to regex extraction if AI fails
- Handles lazy-loaded images with custom JavaScript
core/sites/tmo.py:25-74Requires
GOOGLE_API_KEY to be configured for AI extraction. See Configuration.ZonaTMOHandler - ZonaTMO
ZonaTMOHandler - ZonaTMO
ZonaTMOHandler
Handles downloads from ZonaTMO with support for both single chapters and full manga series.Source:core/sites/zonatmo.py:20Supported domains:zonatmo.com
- Crawl4AI with AI extraction
- Google Gemini AI for image URL extraction
- aiohttp for URL resolution
- JavaScript for lazy-loading
- Detects cover pages and automatically downloads all chapters
- Resolves redirects and converts to cascade view
- Extracts manga title from multiple fallback locations
- Creates organized folder structure for multi-chapter downloads
- Skips already downloaded chapters
core/sites/zonatmo.py:27-213M440Handler - M440/Mangas.in
M440Handler - M440/Mangas.in
M440Handler
Handles downloads from M440.in and Mangas.in websites.Source:core/sites/m440.py:15Supported domains:m440.inmangas.in
- Crawl4AI for web crawling
- Regex extraction
- Detects cover pages vs. single chapters automatically
- Extracts images from
data-srcattributes - Creates organized folder structure for series downloads
- Simple and efficient regex-based extraction
core/sites/m440.py:22-144H2RHandler - Hentai2Read
H2RHandler - Hentai2Read
H2RHandler
Handles downloads from Hentai2Read by extracting embedded gallery metadata.Source:core/sites/h2r.py:14Supported domains:hentai2read
- Crawl4AI for web crawling
- JavaScript variable extraction
- JSON parsing
- Extracts image URLs from embedded
gDataJavaScript variable - Automatically detects CDN base URL
- Single-chapter focused design
- Fast and efficient (no AI required)
core/sites/h2r.py:21-79HitomiHandler - Hitomi.la
HitomiHandler - Hitomi.la
HitomiHandler
Handles downloads from Hitomi.la using browser automation to simulate real user behavior.Source:core/sites/hitomi.py:16Supported domains:hitomi.la
- Playwright for browser automation
- Chromium browser in visible mode
- Page-by-page image extraction
- Launches real browser to bypass anti-bot measures
- Navigates through reader page-by-page like a human
- Extracts high-quality images with proper referer headers
- Downloads images using authenticated browser context
- Supports cancellation during long downloads
core/sites/hitomi.py:23-174NHentaiHandler - nhentai.net
NHentaiHandler - nhentai.net
NHentaiHandler
Handles downloads from nhentai.net using the site’s API endpoint.Source:core/sites/nhentai.py:17Supported domains:nhentai.net
- Playwright for API access
- JSON API parsing
- Direct CDN downloads
- Uses official nhentai API for metadata
- Constructs CDN URLs directly from API response
- Maps file type codes to extensions (
j→ jpg,p→ png,w→ webp) - Fast and reliable (no scraping required)
core/sites/nhentai.py:24-121Technology comparison
| Handler | Technology | AI Required | Multi-Chapter | Browser Mode |
|---|---|---|---|---|
| TMOHandler | Crawl4AI + Gemini | Yes | No | No |
| ZonaTMOHandler | Crawl4AI + Gemini | Yes | Yes | No |
| M440Handler | Crawl4AI | No | Yes | No |
| H2RHandler | Crawl4AI | No | No | No |
| HitomiHandler | Playwright | No | No | Yes (visible) |
| NHentaiHandler | Playwright + API | No | No | Yes (headless) |
Key differences
AI-powered extraction
TMOHandler and ZonaTMOHandler use Google Gemini AI to intelligently extract image URLs from complex, dynamically-loaded pages. This approach is more robust but requires an API key.Browser automation
HitomiHandler and NHentaiHandler use Playwright to control a real browser. This is necessary for sites with strong anti-bot protection or when accessing APIs that require browser context.Multi-chapter support
ZonaTMOHandler and M440Handler automatically detect cover pages and download entire manga series:Simple regex extraction
M440Handler and H2RHandler use straightforward regex patterns for fast, reliable extraction on sites with predictable HTML structure:Creating custom handlers
To add support for a new website, create a new handler class that extendsBaseSiteHandler. See the BaseSiteHandler documentation for a complete implementation guide.
See also
BaseSiteHandler
Learn how to create custom handlers
Configuration
Configure API keys and settings