Commit Graph

23 Commits

Author SHA1 Message Date
achmad 07969abac1 docs: mark 10 newly ported sources in checklist 2026-05-14 22:49:38 +07:00
achmad 2db6aad209 chore: register 4 new sources in main.go and checklist 2026-05-14 22:37:16 +07:00
achmad d432a3948f docs: update HTTP Client Architecture for httpcloak, document gotchas
- Replace old net/http + FS diagram with httpcloak hybrid approach
- Document TLS fingerprint problem and why httpcloak fixes it
- Add FLARESOLVERR_SESSION env var docs
- Add goquery :has() + attribute selector limitation workaround
- Update design decisions to reflect current architecture
2026-05-14 22:32:44 +07:00
achmad 6953aa7833 docs: add HTTP Client Architecture section to phase4-standalone
Document the unified httpclient.Client design, FlareSolverr integration,
cookie jar sharing, and Kotlin vs Go mapping.
2026-05-14 13:23:39 +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 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 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 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 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
achmad 6d084d3df0 docs: move deferred Phase 2 tasks to Phase 5 where they belong 2026-05-10 21:37:58 +07:00
achmad 95cab106d8 feat: Phase 2 — database layer
- PostgreSQL schema: sources, manga, chapters, pages, source_meta with indexes
- golang-migrate runner with embedded SQL via go:embed (pgx5:// scheme)
- sqlc-generated type-safe queries for all tables (pgx/v5 native)
- Config package with all env vars including TTL durations
- Wire DB init and config into cmd/server/main.go
2026-05-10 21:32:40 +07:00
achmad 85d2ea6143 feat: initial Phase 1 implementation — core framework + Docker
- Data types (SManga, SChapter, Page, MangasPage, all Filter variants)
- Source interfaces (Source, CatalogueSource) with MD5-based ID generation matching Tachiyomi/Suwayomi
- HTTP client with per-host rate limiting, cookie jar, and 429 retry
- FlareSolverr v1 client (FLARESOLVERR_URL env)
- Generic GraphQL POST helper
- goquery HTML parser wrappers
- Source registry (panics on duplicate ID)
- Multi-stage Dockerfile (golang:1.26-alpine + distroless) and compose.yml (postgres, flaresolverr, app)
2026-05-10 21:24:38 +07:00