Sources

Every one of the 38 registered manga sources, how they plug in, and how to add a verified one.

Mangasurf v1.7.5 · 38 Sources

lanRegistry

Each source is a Source subclass in mangasurf/sources/, registered in sources/__init__.py. The CLI, GUI and HTTP API all pick a new source up automatically — no wiring elsewhere.

info The README source table and this page are generated from the live registry, so the row count can't drift from the code.

add_circleAdd a new source

1. write  mangasurf/sources/<name>.py   # a Source subclass
2. import it in mangasurf/sources/__init__.py and append to SOURCE_CLASSES
3. done — search, browse and download pick it up automatically

Your source implements the four methods the download engine relies on:

  • search(query, **filters) → list of search results
  • get_manga_info(url) → title / cover / description / tags
  • get_chapters(url) → chapters, oldest first
  • get_chapter_images(chapter) → ordered page image URLs

tuneCapabilities

AttributeMeaning
supports_searchcan search by query
supports_browseoffers trending / latest discovery
supports_genresexposes a genre list for filtering
supports_languageshows a translation-language filter
supports_scanlatormultiple releases per chapter number
default_series_typemanga / manhwa / manhua fallback
cover_needs_referercover CDN blocks hotlinks; proxy via Python
needs_flaresolverrCloudflare-protected; needs FlareSolverr
adult_onlyadult-exclusive; hidden behind Safe mode

lockSafe mode

Sources flagged adult_only = True are hidden from filtered searches unless Safe mode is on. This keeps general-audience browsing clean while leaving adult sources one toggle away.

southDead / Cloudflare sites

warning A source whose domain 404s, doesn't resolve, or sits behind Cloudflare should set needs_flaresolverr = True or not be registered at all. Unverified sources fail silently and drag every search down.

If a site is behind Cloudflare, start the solver on port 8191 and it will be bypassed automatically: python start_flaresolverr.py.