MCPcopy Index your code
hub / github.com/Yui007/comix-downloader

github.com/Yui007/comix-downloader @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
167 symbols 702 edges 30 files 104 documented · 62%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

🎨 Comix Downloader

Python License Platform

A beautiful manga downloader for comix.to with GUI & CLI

Fast concurrent downloads • Multiple formats • Scanlator selection

🚀 Looking for the browser extension? Check out the Comix Browser Extension!

GUI Screenshot


✨ Features

Feature Description
🖥️ Modern GUI Beautiful PyQt6/QML interface with dark theme
🎨 Beautiful CLI Rich terminal interface with progress bars
Concurrent Downloads Multi-threaded chapter and image downloads
📁 Multiple Formats Export as Images, PDF, or CBZ
🎯 Smart Selection Download single, range (1-10), or all chapters
🎨 Scanlator Filter Filter and prefer specific scanlator groups
⚙️ Persistent Settings All preferences saved to config.json

🚀 Installation

Prerequisites

  • Python 3.10 or higher
  • pip (Python package manager)

Quick Start

# Clone the repository
git clone https://github.com/Yui007/comix-downloader.git
cd comix-downloader

# Install dependencies
pip install -r requirements.txt

# Install Chrome browser (nodriver handles driver download automatically)

📖 Usage

GUI Mode (Recommended)

# Run with GPU rendering (default)
python gui/main.py

# Run with CPU/Software rendering (for compatibility)
python gui/main.py --cpu
  1. Paste a manga URL from comix.to
  2. Click FETCH to load manga info and chapters
  3. Select chapters and choose scanlator preference/filter
  4. Click DOWNLOAD CHAPTERS
  5. Access ⚙️ Settings to configure format, output path, workers

CLI Mode

# Interactive mode
python main.py

# Direct download
python main.py download "https://comix.to/title/abc-manga-name" -c "1-10" -f cbz

⚙️ Settings

Setting Description Default
Output Format images / pdf / cbz images
Keep Images Retain images after PDF/CBZ conversion No
Enable Logs Show debug logging No
Download Path Where to save downloads downloads
Max Chapter Workers Concurrent chapter downloads 3
Max Image Workers Concurrent image downloads per chapter 5

📁 Project Structure

comix-downloader/
├── main.py                 # CLI entry point
├── gui/
│   ├── main.py             # GUI entry point
│   ├── bridge/             # Python-QML bridges
│   └── qml/                # QML UI components
├── src/
│   ├── api/comix.py        # API wrapper
│   ├── core/               # Models & downloader
│   ├── formats/            # PDF, CBZ, Images
│   ├── cli/                # CLI application
│   └── utils/              # Config, logging, session, compatibility helpers
├── tests/                  # Unit tests
└── config.json             # User settings

🔧 Dependencies

GUI: - PyQt6 - Qt6 bindings for Python

CLI: - Typer - CLI framework - Rich - Beautiful terminal output

Shared: - nodriver - Browser automation and canvas image extraction - Requests - HTTP library - Pillow - Image processing - ReportLab - PDF generation

Note: The app includes a small compatibility shim for a nodriver 0.50.3 source-encoding issue on Python 3.14. No manual edits inside site-packages are required.


📜 License

This project is licensed under the MIT License - see the LICENSE file for details.


⚠️ Disclaimer

This tool is for personal use only. Please respect the copyright of manga authors and publishers. Support official releases when available.


Made with ❤️ by Yui007

⭐ Star this repo if you find it useful!

Core symbols most depended-on inside this repo

get
called by 81
src/utils/config.py
error
called by 26
src/cli/display.py
set
called by 21
src/utils/config.py
warning
called by 21
src/cli/display.py
info
called by 19
src/cli/display.py
save
called by 11
src/utils/config.py
get_logger
called by 8
src/utils/logger.py
get_display_name
called by 8
src/core/models.py

Shape

Method 109
Function 32
Class 25
Route 1

Languages

Python100%

Modules by API surface

src/utils/hash.py23 symbols
src/core/downloader.py13 symbols
gui/bridge/settings_bridge.py13 symbols
src/cli/menus.py12 symbols
gui/bridge/manga_bridge.py12 symbols
src/utils/config.py10 symbols
src/cli/display.py10 symbols
src/cli/app.py9 symbols
src/api/comix.py9 symbols
gui/bridge/download_bridge.py9 symbols
tests/test_nodriver_compat.py8 symbols
src/utils/nodriver_compat.py7 symbols

For agents

$ claude mcp add comix-downloader \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact