From 1651aca667d2ad9a5f88f220e54b52625f29af99 Mon Sep 17 00:00:00 2001 From: achmad Date: Thu, 14 May 2026 23:53:00 +0700 Subject: [PATCH] feat: port 8 Madara sources MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- sources/en/gingertoon/gingertoon.go | 17 +++++++++++++++++ sources/en/gingertoon/gingertoon_test.go | 8 ++++++++ sources/en/ksgroupscans/ksgroupscans.go | 17 +++++++++++++++++ sources/en/ksgroupscans/ksgroupscans_test.go | 8 ++++++++ sources/en/mangaclash/mangaclash.go | 16 ++++++++++++++++ sources/en/mangaclash/mangaclash_test.go | 8 ++++++++ sources/en/manhuanext/manhuanext.go | 17 +++++++++++++++++ sources/en/manhuanext/manhuanext_test.go | 8 ++++++++ sources/en/manhuaus/manhuaus.go | 17 +++++++++++++++++ sources/en/manhuaus/manhuaus_test.go | 8 ++++++++ sources/en/manhwa68/manhwa68.go | 16 ++++++++++++++++ sources/en/manhwa68/manhwa68_test.go | 8 ++++++++ sources/en/shibamanga/shibamanga.go | 17 +++++++++++++++++ sources/en/shibamanga/shibamanga_test.go | 8 ++++++++ sources/en/toonizy/toonizy.go | 17 +++++++++++++++++ sources/en/toonizy/toonizy_test.go | 8 ++++++++ 16 files changed, 198 insertions(+) create mode 100644 sources/en/gingertoon/gingertoon.go create mode 100644 sources/en/gingertoon/gingertoon_test.go create mode 100644 sources/en/ksgroupscans/ksgroupscans.go create mode 100644 sources/en/ksgroupscans/ksgroupscans_test.go create mode 100644 sources/en/mangaclash/mangaclash.go create mode 100644 sources/en/mangaclash/mangaclash_test.go create mode 100644 sources/en/manhuanext/manhuanext.go create mode 100644 sources/en/manhuanext/manhuanext_test.go create mode 100644 sources/en/manhuaus/manhuaus.go create mode 100644 sources/en/manhuaus/manhuaus_test.go create mode 100644 sources/en/manhwa68/manhwa68.go create mode 100644 sources/en/manhwa68/manhwa68_test.go create mode 100644 sources/en/shibamanga/shibamanga.go create mode 100644 sources/en/shibamanga/shibamanga_test.go create mode 100644 sources/en/toonizy/toonizy.go create mode 100644 sources/en/toonizy/toonizy_test.go diff --git a/sources/en/gingertoon/gingertoon.go b/sources/en/gingertoon/gingertoon.go new file mode 100644 index 0000000..d56bfb3 --- /dev/null +++ b/sources/en/gingertoon/gingertoon.go @@ -0,0 +1,17 @@ +package gingertoon + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "GingerToon", + BaseURL: "https://gingertoon.com", + Lang: "en", + UseNewChapterEndpoint: true, + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/gingertoon/gingertoon_test.go b/sources/en/gingertoon/gingertoon_test.go new file mode 100644 index 0000000..e4c2e57 --- /dev/null +++ b/sources/en/gingertoon/gingertoon_test.go @@ -0,0 +1,8 @@ +package gingertoon + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "GingerToon", "en") } diff --git a/sources/en/ksgroupscans/ksgroupscans.go b/sources/en/ksgroupscans/ksgroupscans.go new file mode 100644 index 0000000..6dd599b --- /dev/null +++ b/sources/en/ksgroupscans/ksgroupscans.go @@ -0,0 +1,17 @@ +package ksgroupscans + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "KSGroupScans", + BaseURL: "https://ksgroupscans.com", + Lang: "en", + UseNewChapterEndpoint: true, + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/ksgroupscans/ksgroupscans_test.go b/sources/en/ksgroupscans/ksgroupscans_test.go new file mode 100644 index 0000000..bd21ea3 --- /dev/null +++ b/sources/en/ksgroupscans/ksgroupscans_test.go @@ -0,0 +1,8 @@ +package ksgroupscans + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "KSGroupScans", "en") } diff --git a/sources/en/mangaclash/mangaclash.go b/sources/en/mangaclash/mangaclash.go new file mode 100644 index 0000000..6e4fcb9 --- /dev/null +++ b/sources/en/mangaclash/mangaclash.go @@ -0,0 +1,16 @@ +package mangaclash + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "MangaClash", + BaseURL: "https://mangaclash.com", + Lang: "en", + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/mangaclash/mangaclash_test.go b/sources/en/mangaclash/mangaclash_test.go new file mode 100644 index 0000000..08eac23 --- /dev/null +++ b/sources/en/mangaclash/mangaclash_test.go @@ -0,0 +1,8 @@ +package mangaclash + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "MangaClash", "en") } diff --git a/sources/en/manhuanext/manhuanext.go b/sources/en/manhuanext/manhuanext.go new file mode 100644 index 0000000..1622ecf --- /dev/null +++ b/sources/en/manhuanext/manhuanext.go @@ -0,0 +1,17 @@ +package manhuanext + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "Manhuanext", + BaseURL: "https://manhuanext.com", + Lang: "en", + UseNewChapterEndpoint: true, + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/manhuanext/manhuanext_test.go b/sources/en/manhuanext/manhuanext_test.go new file mode 100644 index 0000000..9000d0c --- /dev/null +++ b/sources/en/manhuanext/manhuanext_test.go @@ -0,0 +1,8 @@ +package manhuanext + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "Manhuanext", "en") } diff --git a/sources/en/manhuaus/manhuaus.go b/sources/en/manhuaus/manhuaus.go new file mode 100644 index 0000000..c252ddd --- /dev/null +++ b/sources/en/manhuaus/manhuaus.go @@ -0,0 +1,17 @@ +package manhuaus + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "ManhuaUS", + BaseURL: "https://manhuaus.com", + Lang: "en", + UseNewChapterEndpoint: true, + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/manhuaus/manhuaus_test.go b/sources/en/manhuaus/manhuaus_test.go new file mode 100644 index 0000000..ab6dd77 --- /dev/null +++ b/sources/en/manhuaus/manhuaus_test.go @@ -0,0 +1,8 @@ +package manhuaus + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "ManhuaUS", "en") } diff --git a/sources/en/manhwa68/manhwa68.go b/sources/en/manhwa68/manhwa68.go new file mode 100644 index 0000000..22ccb90 --- /dev/null +++ b/sources/en/manhwa68/manhwa68.go @@ -0,0 +1,16 @@ +package manhwa68 + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "Manhwa68", + BaseURL: "https://manhwa68.com", + Lang: "en", + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/manhwa68/manhwa68_test.go b/sources/en/manhwa68/manhwa68_test.go new file mode 100644 index 0000000..fd25fa6 --- /dev/null +++ b/sources/en/manhwa68/manhwa68_test.go @@ -0,0 +1,8 @@ +package manhwa68 + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "Manhwa68", "en") } diff --git a/sources/en/shibamanga/shibamanga.go b/sources/en/shibamanga/shibamanga.go new file mode 100644 index 0000000..c1ac990 --- /dev/null +++ b/sources/en/shibamanga/shibamanga.go @@ -0,0 +1,17 @@ +package shibamanga + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "ShibaManga", + BaseURL: "https://shibamanga.com", + Lang: "en", + UseNewChapterEndpoint: true, + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/shibamanga/shibamanga_test.go b/sources/en/shibamanga/shibamanga_test.go new file mode 100644 index 0000000..05f18e8 --- /dev/null +++ b/sources/en/shibamanga/shibamanga_test.go @@ -0,0 +1,8 @@ +package shibamanga + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "ShibaManga", "en") } diff --git a/sources/en/toonizy/toonizy.go b/sources/en/toonizy/toonizy.go new file mode 100644 index 0000000..b9ec1e3 --- /dev/null +++ b/sources/en/toonizy/toonizy.go @@ -0,0 +1,17 @@ +package toonizy + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "Toonizy", + BaseURL: "https://toonizy.com", + Lang: "en", + UseNewChapterEndpoint: true, + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/toonizy/toonizy_test.go b/sources/en/toonizy/toonizy_test.go new file mode 100644 index 0000000..279dbb8 --- /dev/null +++ b/sources/en/toonizy/toonizy_test.go @@ -0,0 +1,8 @@ +package toonizy + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "Toonizy", "en") }