Home
Softono

MangaFox Download Script

Open source Python
79
Stars
25
Forks
0
Issues
9
Watchers
2 months
Last Commit

 About MangaFox Download Script

A script that lets you download mangas from mangafox.com

Platforms

Web Self-hosted

Languages

Python

Links

Need Help Installing MangaFox Download Script?

We provide expert installation service for this software. Our team will install, configure, and secure MangaFox Download Script on your server. plans start at just $30.

MangaFox Download Script

View on GitHub

MangaFox Download Script

Python 3.11+ CI

This project downloads manga chapter images and can optionally package each chapter into a .cbz archive.

This script is intended for archival/offline reading use cases (for example, downloading chapters before a flight). Users are responsible for complying with Fanfox Terms of Service.

Downloaded manga should be written to downloads/ with --output-dir downloads when working from a Git checkout. That directory is ignored by Git.

If a chapter finishes with missing images, the script prints a final failed-image summary and exits non-zero instead of silently leaving an incomplete chapter.

The script is now maintained as a Python 3.11+ project with linting, type checking, tests, and pre-commit hooks.

Runtime requirements

  • Python 3.11+
  • beautifulsoup4

Usage

Mandatory argument:

  • -m, --manga <Manga Name>

Optional arguments:

  • -s, --start <chapter> start chapter (float supported)
  • -e, --end <chapter> end chapter (float supported)
  • -c, --cbz create CBZ archive after download
  • -r, --remove remove image files after CBZ creation
  • -f, --force redownload chapters even when matching .cbz files already exist
  • --output-dir <directory> directory where manga downloads are written
  • -l, --list list chapter numbers and exit
  • -d, --debug show HTTP request debug output
  • --profile <safe|balanced|aggressive> performance profile (default: safe)
  • --workers <count> concurrent image downloads (overrides profile)
  • --delay <seconds> average delay between retry attempts (overrides profile)
  • --max-retries <count> max retries per image download (overrides profile)
  • --timeout <seconds> HTTP request timeout (default: 30)

Examples:

python3 mfdl.py -m "The World God Only Knows"
python3 mfdl.py -m "The World God Only Knows" -s 222.5 -e 222.5
python3 mfdl.py -m "The World God Only Knows" -s 190 -e 205 -c -r
python3 mfdl.py -m "One Piece" -c -r --force
python3 mfdl.py -m "The World God Only Knows" --list
python3 mfdl.py -m "One Piece" --profile balanced -c -r
python3 mfdl.py -m "One Piece" --output-dir downloads -c -r
python3 mfdl.py -m "One Piece" --timeout 60 -c -r

Development setup

Install dev dependencies:

uv sync --extra dev

Run quality checks directly:

uv run ruff check .
uv run ruff format .
uv run prek run markdownlint --all-files
uv run ty check mfdl.py tests
uv run pytest -q

Pre-commit (prek)

This repository uses .pre-commit-config.yaml and is intended to be executed with prek.

uv run prek install
uv run prek run --all-files

pytest is configured on the pre-push stage to keep normal commits fast.