2026-04-30 17:14:21 +03:00
upd
2026-04-30 17:14:21 +03:00
upd
2026-04-30 17:14:21 +03:00
2026-04-29 16:50:04 +03:00
2026-04-29 16:50:04 +03:00
2026-04-29 16:50:04 +03:00
2026-04-29 01:53:16 +03:00
2026-04-29 01:53:16 +03:00
2026-04-29 16:50:04 +03:00
2026-04-29 16:50:04 +03:00
2026-04-29 16:50:04 +03:00
2026-04-29 16:50:04 +03:00

Manga Downloader

Загрузчик манги с readmanga.ru и совместимых сайтов. Использует Playwright + Chromium для обхода JS-защиты (DDoS-Guard, антибот).

Работает в двух режимах:

  • Веб-интерфейс — браузерная панель управления с realtime-прогрессом через WebSocket
  • CLI — консольные команды через docker compose run

📖 Подробная архитектурная документация: ARCHITECTURE.md


Требования

  • Docker + Docker Compose

Быстрый старт

1. Собрать образ

docker compose build

2. Запустить веб-интерфейс

docker compose up -d

Откройте http://localhost:8000 — вставьте URL манги, выберите формат, нажмите «Добавить».


CLI-команды

Скачать мангу

# CBZ (по умолчанию)
docker compose run --rm --entrypoint "" manga \
  python -m src.cli download https://3.readmanga.ru/magicheskaia_bitva

# PDF
docker compose run --rm --entrypoint "" manga \
  python -m src.cli download https://3.readmanga.ru/magicheskaia_bitva --format pdf

# Все форматы сразу
docker compose run --rm --entrypoint "" manga \
  python -m src.cli download https://3.readmanga.ru/magicheskaia_bitva --format all

Скачать определённые главы

# Главы с 1 по 10
docker compose run --rm --entrypoint "" manga \
  python -m src.cli download <URL> --chapters 1-10

# Конкретные главы
docker compose run --rm --entrypoint "" manga \
  python -m src.cli download <URL> --chapters 1,5,10

Анализировать мангу (список глав без скачивания)

docker compose run --rm --entrypoint "" manga \
  python -m src.cli analyze https://3.readmanga.ru/magicheskaia_bitva

Выходные файлы

Файлы сохраняются в ./output/<название манги>/:

output/
  Магическая_битва/
    v01_ch0001.0.cbz
    v01_ch0002.0.cbz
    ...

Состояние хранится в ./state/progress.db (SQLite). Логи — в ./state/manga.log.


Параметры CLI

Флаг Default Описание
--format / -f cbz cbz | pdf | epub | all
--chapters / -c Диапазон: 1-10, 5, 1,3,7
--output / -o ./output Папка для сохранения
--resume включён Пропускать уже скачанные главы
--force / -F Игнорировать БД, скачать заново
--concurrency 4 Параллельных загрузок
--verbose / -v Подробный вывод (DEBUG)

Конфигурация (docker-compose.yml)

Переменная Default Описание
CHAPTER_CONCURRENCY 3 Глав загружается параллельно
UPDATE_INTERVAL_HOURS 6 Интервал авто-проверки новых глав (часы)

Возобновление прерванной загрузки

Загрузка автоматически продолжается с места остановки — состояние хранится в БД. При перезапуске контейнера незавершённые задачи восстанавливаются в очередь.


Метаданные (Komga и другие читалки)

Каждый скачанный файл содержит полные метаданные серии и главы:

Формат Метаданные
CBZ ComicInfo.xml (Anansi v2.1) — серия, номер, том, описание, жанры, язык, ориентация (право→лево), ссылка на источник
EPUB Dublin Core + calibre:series + EPUB3 belongs-to-collection — серия, описание, порядок глав
PDF PDF /Info + XMP (Dublin Core) — название, описание, язык, источник

Для завершённых серий (pub_status = completed) в ComicInfo.xml записывается поле <Count> — Komga отображает прогресс чтения серии.

Description
No description provided
Readme 1.4 MiB
Languages
Python 65.7%
HTML 34.1%
Dockerfile 0.2%