achmad
056b206c27
feat: port 10 sources from diverse bases
...
Passing (9): deathtollscans (FoolSlide), mangatellers (FoolSlide),
eighteenporncomic (Manga18), manga18club (Manga18),
manhuaplusorg (Liliana), manhwahub (ManhwaZ),
noxenscans (MangaThemesia), skymanga (MangaThemesia),
mangatx (MangaThemesia)
Site issue (1): luascans (HeanCms) — Cloudflare banned
2026-05-14 23:58:25 +07:00
achmad
380d6d12ad
feat: port 5 Madara sources (manhwacomics, manhwaget, manhwajoy, toon18, mangadia)
2026-05-14 23:55:24 +07:00
achmad
77c2616224
feat: port 12 Madara sources
...
Passing (7): allporncomicio, anisascans, manhwaden, novel24h,
orchisasia, topmanhuanet, zinmanganet
Site issues (5): dragontea (403), manhwamanhua (402 payment),
toongod (CF banned), wearehunger (403), webdexscans (403)
2026-05-14 23:54:42 +07:00
achmad
1651aca667
feat: port 8 Madara sources
...
Passing (7): manhuanext, manhwa68, manhuaus, shibamanga,
toonizy, ksgroupscans, mangaclash
Site issue (1): gingertoon — httpcloak fingerprint detected by site,
returns empty manga list vs FS returns real content
2026-05-14 23:53:00 +07:00
achmad
f702789599
feat: port 10 en/ sources (5 MadTheme + 5 Madara)
...
Passing (3): wuxiaworld (MangaSubString=novel), hentaisco
(MangaSubString=hentai), manhuazonghe (MangaSubString=manhua)
Site issues (7): lagoonscans (404), rizzcomicunoriginal (404),
mangatrend (404), pmscans/rackus (404), nikatoons (404),
manhwa18org (521), vyvymangaorg (521)
2026-05-14 23:39:31 +07:00
achmad
e3881f3a8e
feat: port 10 en/ sources (9 Madara, 1 MadTheme)
...
All sources either have site issues (wrong theme, 404, Cloudflare ban)
or return unexpected HTML — no code bugs in the port itself:
- petrotechsociety.org — 0 results (not a standard Madara site)
- woopread.com — HTTP 404
- hentaixcomic.com — 0 results
- hentaixyuri.com — 0 results
- apcomics.org — Cloudflare IP banned / 403
- manhuafast.net — 0 results
- novelcrow.com — Cloudflare IP banned
- mangafree.info — 0 results
- mangaka.cc — 0 results
- galaxymanga.io — HTTP 404 (MangaThemesia)
2026-05-14 23:24:31 +07:00
achmad
500501c5f5
feat: port 10 en/ Madara sources
...
Passing (6): tritiniascans, mangamaniacs, mangakiss,
mahouirexnohentaikarte, milftoon
Site issues (4):
spmanhwa — non-Cloudflare anti-bot challenge (HTTP 200 challenge page)
webtoonscan, yaoiscan, manhwaclan — HTTP 403 on latest endpoint
whalemanga — HTTP 526 (Cloudflare SSL error)
2026-05-14 22:58:59 +07:00
achmad
e4fab6a8b1
feat: port 10 en/ sources (7 Madara, 2 Keyoapp, 1 MadTheme)
...
- manhuahot (Madara, manhuahot.com)
- mangaread (Madara, mangaread.co) — HTTP 522, site appears down
- mangasushi (Madara, mangasushi.org) — new chapter endpoint
- mangagofun (Madara, mangago.fun) — new chapter endpoint
- manhuaplus (Madara, manhuaplus.com) — custom page list selector
- mangareadorg (Madara, mangaread.org)
- mangaowlio (Madara, mangaowl.io) — mangaSubString=read-1
- grimscans (Keyoapp, grimscans.com)
- writerscans (Keyoapp, writerscans.com) — custom popular selector
- mangapuma (MadTheme, mangapuma.com)
2026-05-14 22:48:39 +07:00
achmad
baca350481
feat: port 4 Madara-based sources (zinmanga, manhuafast, harimanga, mangadrama)
...
- zinmanga (https://mangazin.org ) — plain Madara wrapper
- manhuafast (https://manhuafast.com ) — plain Madara wrapper
- harimanga (https://harimanga.me ) — plain Madara wrapper
- mangadrama (https://mangadrama.com ) — Madara with new chapter endpoint
and custom chapter list selector
2026-05-14 22:37:16 +07:00
achmad
2c928d3298
fix(hentai4free, nyanukafe): match Kotlin source overrides
...
hentai4free: Use search-based URLs for popular/latest with m_orderby
param (views/latest), matching Kotlin's popularMangaRequest override
nyanukafe: Set custom selectors for popular listing and detail fields
2026-05-14 22:31:18 +07:00
achmad
00e61480c3
fix(base): add override hooks for masonry, madara, keyoapp
...
Madara:
- Add PopularURL/LatestURL Config hooks for custom URL building
(needed by hentai4free which uses search-based popular/latest URLs)
Masonry:
- Replace CSS :not(:has(a[href*=/video/])) with programmatic filtering.
goquery/cascadia doesn't support :has() + attribute selectors
(Jsoup does, hence Kotlin works but Go didn't)
Keyoapp:
- Add overridable selector fields (PopularSelector, DescriptionSelector,
StatusSelector, AuthorSelector, ArtistSelector) to Config
2026-05-14 22:31:11 +07:00
achmad
aa697af25f
fix(base): update guya, iken, kemono, madtheme, mangahub wrappers
...
- guya: align JSON structs with current API (seriesListEntry, seriesDetail),
use Cover/Author/Artist fields, fix chapter date parsing via release_date
- iken: update DTO fields to match API (postTitle, featuredImage, etc.),
add JSON-vs-HTML detection, map seriesStatus to source.Status constants
- kemono: set Accept: text/css header for DDOS-Guard bypass
- madtheme: use .book-detailed-item selector, fix pagination detection,
use 'updated_at' sort for latest updates
- mangahub: check cookie jar in addition to Set-Cookie headers, add
retry-once logic for API key expiry (matching Kotlin interceptor)
2026-05-14 13:23:42 +07:00
achmad
26063e097b
fix(aquamanga): update base URL to aquareader.org
...
The domain aquareader.net now redirects to aquareader.org.
Direct access to aquareader.net hits a JS-based tracking intermediary (mks98.com)
via FlareSolverr, while aquareader.org works reliably.
2026-05-14 13:23:21 +07:00
achmad
dd792d4370
feat: add source tests for all wrapper sources
2026-05-14 09:08:06 +07:00
achmad
ae56f3037d
feat: add batch 5 base-source wrappers (Madara, MangaThemesia, Keyoapp, MangAdventure)
...
arcrelight (MangAdventure), baektoons/fablescans (MangaThemesia), epicmanga/ero18x/evilflowers
(Madara), erisscans (Keyoapp); fix wrong HttpSource annotations in phase4 doc.
2026-05-14 07:37:21 +07:00
achmad
85f34b1b23
feat: add batch 4 base-source wrappers (MangaCatalog, PizzaReader, Monochrome, MangAdventure, EroMuse)
...
15 MangaCatalog en/ sources (franchise-specific read* sites), hniscantrad (PizzaReader/all),
monochromescans (Monochrome), assortedscans (MangAdventure), eightmuses (EroMuse).
2026-05-14 07:26:42 +07:00
achmad
97d621d7f1
fix: correct mangahub base and all wrapper sources
...
- Fix GraphQL x param: was "POPULAR"/"LATEST", must be per-site source ID
(e.g. "m01"); order type moved to separate mod param
- Add mhub_access cookie acquisition (x-mhub-access header required on all
API calls); cached 10 min, retried with ?reloadKey=1 on failure
- Fix image URLs: construct as imgx.mghcdn.com/{p}{image} from pages JSON
- Fix thumbnail URLs: add thumb.mghcdn.com/ CDN prefix
- Fix hasNext: use len(rows)==30 instead of non-existent count field
- Fix chapter URL format: /{slug}/chapter-{num} matching Kotlin
- Fix page URL parsing to match new chapter URL format
- Add artist and alternativeTitle fields to manga details
- Fix status parsing: "ongoing"/"completed" string values
- Switch from parameterized GQL variables to direct string interpolation
- Add MangaSource field to Config; update all 11 wrapper sources with
their correct per-site source IDs
2026-05-13 23:25:32 +07:00
achmad
7fe2c48df7
feat: implement phase 4 batch — 11 en/ MangaHub wrapper sources
...
mangahubio, mangahereonl, mangakakalotfun, mangafoxfun, manganel,
mangaonlinefun, mangapandaonl, mangareadersite, mangatoday, onemangaco,
onemangainfo — all using the existing mangahub GraphQL base.
2026-05-13 23:20:27 +07:00
achmad
78723bb195
feat: implement phase 4 batch — 21 en/ base-class wrapper sources
...
6 Madara: boratscans, bunmanga, cucumbermanga, decadencescans, linkmanga,
sleepytranslations. 15 MadTheme: beehentai, boxmanhwa, kaliscancom,
kaliscanio, mangabuddy, mangabuddyme, mangacute, mangafab, mangaforest,
mangamonk, mangasaga, mangaspin, mangaxyz, manhuanow, manhuasite.
Also corrects base-class annotations in phase4-standalone.md for sources
previously misidentified as Madara (arcrelight=MangAdventure; atsumaru,
aurora, azcomic, broccolisoup, buttsmithy, clonemanga, clowncorps=HttpSource).
2026-05-13 23:17:48 +07:00
achmad
316ae2f9db
feat: implement phase 4 batch — 54 base-class wrapper sources
...
Add 8 all/ sources (7 Masonry, 1 Madara) and 38 en/ sources spanning
Madara, MangaThemesia, MadTheme, Keyoapp, and Guya bases, plus 8 earlier
all/ standalone sources from the previous session (ahottie, akuma,
allporncomicsco, asmhentai, baobua, beauty3600000, buondua, comicfury,
comicgrowl, comicklive, comicsvalley, comikey, commitstrip, coomer).
Also annotates phase4-standalone.md with base-class tags for 43 additional
unimplemented en/ sources identified in a full scan.
2026-05-13 23:11:26 +07:00
achmad
e17de903b2
refactor: use flare client for sources with cloudflareClient in Kotlin
...
- Batch 5: mangawork, mangotheme, mccms, multichan → flare (Kotlin uses cloudflareClient)
- Batch 6: natsuid → flare (Kotlin uses cloudflareClient)
- Batch 7: gravureblogger → flare (Kotlin uses cloudflareClient)
All verified against Kotlin multisrc reference.
2026-05-13 21:57:34 +07:00
achmad
71ef2d24fa
fix: update HTTP client to flare for Batch 4 sources
...
Based on Kotlin reference verification:
- madtheme, mangabox, mangacatalog, mangahub → flare
Also updated phase4-standalone.md with project requirement for
checking HTTP client type when porting sources from Kotlin
2026-05-13 21:35:10 +07:00
achmad
46f930718c
fix: update HTTP client to flare for misclassified sources
...
Based on Kotlin reference verification:
- Batch 1: colorlibanime, eromuse, fansubscat → flare
- Batch 2: fmreader, galleryadults, greenshit, grouple → flare
- Batch 3: heancms, lectormoe → flare
Also renamed methods appropriately:
- get() for HTML scraping
- getJSON() for JSON APIs
2026-05-13 10:07:09 +07:00
achmad
9a42dd2ab1
refactor: use per-source HTTP client instead of global proxy
...
- Remove global ProxyEnabled() logic from httpclient
- Each source now explicitly chooses client at import time:
- flare client: for JS-rendering/cloudflare sources
- normal httpclient: for REST API sources
- Updated 29 base sources based on Kotlin reference (network.cloudflareClient)
2026-05-13 09:01:51 +07:00
Achmad
b199bad30d
refactor: separate httpclient packages for regular and FlareSolverr sources
...
- Add internal/httpclient/flare package for Cloudflare-protected sites
- Update 7 bases (madara, zmanga, mangaworld, mangathemesia, mangareader,
libgroup, liliana) to use flare client
- Remove unused internal/config/source.go
2026-05-11 10:48:05 +00:00
Achmad
308d66bd36
update
2026-05-11 10:20:40 +00:00
Achmad
3741f4f696
change perms
2026-05-11 06:48:23 +00:00
achmad
1f7e229493
phase4: add standalone source wrappers and mark checklist progress
...
Register new all/en standalone wrappers from base sources and add initial smoke tests; several sources are still unverified in live environment.
2026-05-11 13:36:36 +07:00
achmad
15d9d4225c
phase3: add scanr, sinmh, spicytheme, stalkercms, uzaymanga, vercomics, yuyu, zeistmanga bases (68/68)
...
- Implement 8 remaining base sources
- All 68 bases now compile successfully
- Update TODO.md and phase3-bases.md checklist
2026-05-11 07:48:15 +07:00
achmad
4568edd32d
phase3: add natsuid, oceanwp, paprika, peachscan, raijinscans bases (60/68)
2026-05-11 07:21:07 +07:00
achmad
97105640ce
phase3: add manhwaz, masonry, mccms, monochrome, multichan bases (55/68)
2026-05-11 07:14:30 +07:00
achmad
409dd0bc5f
phase3: add manga18, mangacatalog, mangabox, mangataro, mangawork bases (50/68)
2026-05-11 07:09:04 +07:00
achmad
50ac3f180a
phase3: add gravureblogger, greenshit, hotcomics, initmanga, keyoapp bases (45/68)
2026-05-11 06:59:53 +07:00
achmad
224266ffe3
phase3: implement fansubscat, fuzzydoodle, galleryadults, gattsu, goda
2026-05-11 06:45:48 +07:00
achmad
1e6d72b046
phase3: implement colorlibanime, comicaso, comiciviewer, eromuse, ezmanhwa
...
5 bases: HTML scraping, static JSON index, Japanese viewer API,
album-stack crawl, and JSON REST. 35/68 bases done.
2026-05-10 22:20:17 +07:00
achmad
ca609ccae7
phase3: implement first 20 base sources + shared util
...
Ports bases from previous session:
util (shared helpers), bakkin, fmreader, foolslide, gigaviewer,
gmanga, grouple, guya, heancms, hentaihand, kemono, madara,
madtheme, mangadventure, mangahub, mangathemesia, mangaworld,
mmrcms, senkuro, wpcomics.
2026-05-10 22:15:11 +07:00
achmad
f0658472f3
phase3: implement 10 complex base sources
...
Ports all remaining ⚠️ annotated bases from the phase3 checklist:
zmanga, mangareader, liliana, lectormoe, iken, pizzareader,
mangotheme (AES/CBC decrypt), libgroup (bearer token auth),
scanreader (WP AJAX chapters), mmlook (CF + packed JS pages).
Updates docs/phase3-bases.md to mark all 10 as [x].
2026-05-10 22:14:04 +07:00