Skip to main content

manga-termux 1.0.6 — fixed

Repairs a broken pip install manga-termux (v1.0.5). The tool could not build a chapter list, so every download failed, and it reported network failures as "no results", which made search look broken too.

Verified against the live site on 2026-09-27.


Root cause

1. Chapter list — the fatal bug

weebcentral.com switched its markup from absolute to relative links:

<!-- what 1.0.5 expected -->
<a href="https://weebcentral.com/chapters/01M3DVDYA933SQQ6703XQYMMGQ">

<!-- what the site actually serves now -->
<a href="/chapters/01M3DVDYA933SQQ6703XQYMMGQ">

The 1.0.5 regex in scraper.py hard-coded the absolute prefix:

r'href="(https://weebcentral\.com/chapters/[^"]+)"[^>]*>.*?<span class="">\s*([^<]+?)\s*</span>'

So it matched nothing. get_all_chapters() returned [], and the CLI looped on [!] Could not fetch chapter list. Try again. — no download could ever start. A live measurement confirmed it: One Piece parsed 0 chapters before the fix, 1194 after.

2. Errors were silently swallowed

Every scrape call was wrapped in except Exception: return []. A DNS failure, a timeout and a genuine "no matches" were indistinguishable — so "search doesn't work" and "chapter list is empty" both surfaced as a bare "no results".

3. Wrong default save path off Android

DEFAULT_DOWNLOAD_DIR was hard-coded to /sdcard/Manga, which cannot exist on Linux/macOS/WSL.


What changed

File Change
manga_termux/scraper.py Chapter-list regex accepts relative hrefs (the fix); all parsed hrefs normalised via _absolute(); 3 retries with backoff; gzip/deflate decoding; browser-like headers; ScraperError raised instead of silent []; search falls back from quick-search to /search/data; titles read from cover alt → flex-1 div → URL slug; HTML entities unescaped.
manga_termux/downloader.py DEFAULT_DOWNLOAD_DIR auto-detected (/sdcard/Manga on Termux, ~/Manga elsewhere); per-page retries; aria2c gets --max-tries/--retry-wait; per-page failure URLs logged.
manga_termux/cli.py Prints the real scrape error instead of a misleading retry loop; new non-interactive flags --search TEXT, --chapters SERIES_ID, --version.
pyproject.toml Build metadata for 1.0.6.

Everything else — chapter-range syntax, CBZ/PDF/images output, aria2c 16-connection downloading, resume/skip, the prompt_toolkit live-search UI — is unchanged.


Install

cd manga-termux-fix
bash apply_fix.sh

It resolves the installed package through its metadata (safe to run from inside this folder), backs up the originals as *.bak-<timestamp>, copies the fixed files in, and clears stale __pycache__. If your interpreter is python3:

PYTHON=python3 bash apply_fix.sh

Option B — install from this source tree

cd manga-termux-fix
pip install --force-reinstall .

Option C — build a wheel, copy to the phone

cd manga-termux-fix
pip install build && python -m build --wheel
# then on Termux:
pip install --force-reinstall manga_termux-1.0.6-py3-none-any.whl

Revert

The original files are kept next to the patched ones as *.bak-<timestamp>:

TARGET=$(python -c "from importlib.metadata import distribution as d; print(d('manga-termux').locate_file('manga_termux'))")
cd "$TARGET"
for bak in *.bak-*; do cp "$bak" "${bak%.bak-*}"; done
rm -rf __pycache__

Verified after the fix

Check Result
search_manga("one piece") 6 results
search_manga("solo leveling") 9 results
get_all_chapters(One Piece) 1194 chapters (was 0), Ch 1 → Ch 1194, none skipped
get_all_chapters(Solo Leveling) 201 chapters, Ch 0 → Ch 200
filter_chapters(..., "1-3,200") 1, 2, 3, 200
get_chapter_images(...) 13–22 pages per chapter
Download → CBZ 22 pages, 10.5 MB, zip integrity OK
Download → PDF valid %PDF- header
Unreachable host raises ScraperError with the real reason
manga --version manga-termux 1.0.6

Known limits

  • It is a scraper, so it will break again whenever weebcentral changes its markup. The parser now tolerates relative/absolute hrefs and several title layouts, but no regex scraper is future-proof.
  • Some series' early chapters sit under a 0 / prologue number, so ranges are keyed to whatever the site labels them.
  • Downloads depend on third-party image hosts (temp.compsci88.com, hot.planeptune.us). If one starts refusing requests, pages fail individually and the per-page URLs are now printed in the error log.
  • You are responsible for what you download and for complying with copyright law and the site's terms in your jurisdiction.

Metadata

Release files for manga-termux 1.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for manga-termux 1.0.6
File Size Uploaded
manga_termux-1.0.6.tar.gz 17.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for manga-termux 1.0.6
File Interpreter ABI Platform
manga_termux-1.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 33.6 kB

Release files / manga_termux-1.0.6.tar.gz

Download URL manga_termux-1.0.6.tar.gz
Size 17.0 kB
Tags Source
SHA-256 checksum
How to use checksums
9a07f26bb293eb28ade873cb3d45ea26384114d77551830b21dd5c27d2f25e29
BLAKE2b-256 checksum
How to use checksums
6d62c5b068d64ac3bcfc29d1e8e47e77ed933cc819dd4ce75350d0b009a5d3ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.2

Release files / manga_termux-1.0.6-py3-none-any.whl

Download URL manga_termux-1.0.6-py3-none-any.whl
Size 16.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9ccb63ab1b0d717d4881a761ec00adb7e5dd0df4fb7a5c42dd98409573584079
BLAKE2b-256 checksum
How to use checksums
fa7b858101ae02a6a5d4236ba21a606d86f717c705f644f91848f5be61068924
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.2

Release history Release notifications | RSS feed

This release

1.0.6 This release

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page