From 77c2616224fa5b2a614060b68e7e67144b6ab0a6 Mon Sep 17 00:00:00 2001 From: achmad Date: Thu, 14 May 2026 23:54:42 +0700 Subject: [PATCH] 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) --- sources/en/allporncomicio/allporncomicio.go | 17 +++++++++++++++++ .../en/allporncomicio/allporncomicio_test.go | 8 ++++++++ sources/en/anisascans/anisascans.go | 17 +++++++++++++++++ sources/en/anisascans/anisascans_test.go | 8 ++++++++ sources/en/dragontea/dragontea.go | 18 ++++++++++++++++++ sources/en/dragontea/dragontea_test.go | 8 ++++++++ sources/en/manhwaden/manhwaden.go | 17 +++++++++++++++++ sources/en/manhwaden/manhwaden_test.go | 8 ++++++++ sources/en/manhwamanhua/manhwamanhua.go | 17 +++++++++++++++++ sources/en/manhwamanhua/manhwamanhua_test.go | 8 ++++++++ sources/en/novel24h/novel24h.go | 17 +++++++++++++++++ sources/en/novel24h/novel24h_test.go | 8 ++++++++ sources/en/orchisasia/orchisasia.go | 17 +++++++++++++++++ sources/en/orchisasia/orchisasia_test.go | 8 ++++++++ sources/en/toongod/toongod.go | 17 +++++++++++++++++ sources/en/toongod/toongod_test.go | 8 ++++++++ sources/en/topmanhuanet/topmanhuanet.go | 17 +++++++++++++++++ sources/en/topmanhuanet/topmanhuanet_test.go | 8 ++++++++ sources/en/wearehunger/wearehunger.go | 17 +++++++++++++++++ sources/en/wearehunger/wearehunger_test.go | 8 ++++++++ sources/en/webdexscans/webdexscans.go | 19 +++++++++++++++++++ sources/en/webdexscans/webdexscans_test.go | 8 ++++++++ sources/en/zinmanganet/zinmanganet.go | 16 ++++++++++++++++ sources/en/zinmanganet/zinmanganet_test.go | 8 ++++++++ 24 files changed, 302 insertions(+) create mode 100644 sources/en/allporncomicio/allporncomicio.go create mode 100644 sources/en/allporncomicio/allporncomicio_test.go create mode 100644 sources/en/anisascans/anisascans.go create mode 100644 sources/en/anisascans/anisascans_test.go create mode 100644 sources/en/dragontea/dragontea.go create mode 100644 sources/en/dragontea/dragontea_test.go create mode 100644 sources/en/manhwaden/manhwaden.go create mode 100644 sources/en/manhwaden/manhwaden_test.go create mode 100644 sources/en/manhwamanhua/manhwamanhua.go create mode 100644 sources/en/manhwamanhua/manhwamanhua_test.go create mode 100644 sources/en/novel24h/novel24h.go create mode 100644 sources/en/novel24h/novel24h_test.go create mode 100644 sources/en/orchisasia/orchisasia.go create mode 100644 sources/en/orchisasia/orchisasia_test.go create mode 100644 sources/en/toongod/toongod.go create mode 100644 sources/en/toongod/toongod_test.go create mode 100644 sources/en/topmanhuanet/topmanhuanet.go create mode 100644 sources/en/topmanhuanet/topmanhuanet_test.go create mode 100644 sources/en/wearehunger/wearehunger.go create mode 100644 sources/en/wearehunger/wearehunger_test.go create mode 100644 sources/en/webdexscans/webdexscans.go create mode 100644 sources/en/webdexscans/webdexscans_test.go create mode 100644 sources/en/zinmanganet/zinmanganet.go create mode 100644 sources/en/zinmanganet/zinmanganet_test.go diff --git a/sources/en/allporncomicio/allporncomicio.go b/sources/en/allporncomicio/allporncomicio.go new file mode 100644 index 0000000..4a95535 --- /dev/null +++ b/sources/en/allporncomicio/allporncomicio.go @@ -0,0 +1,17 @@ +package allporncomicio + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "AllPornComic.io", + BaseURL: "https://allporncomic.io", + Lang: "en", + UseNewChapterEndpoint: true, + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/allporncomicio/allporncomicio_test.go b/sources/en/allporncomicio/allporncomicio_test.go new file mode 100644 index 0000000..c453457 --- /dev/null +++ b/sources/en/allporncomicio/allporncomicio_test.go @@ -0,0 +1,8 @@ +package allporncomicio + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "AllPornComic.io", "en") } diff --git a/sources/en/anisascans/anisascans.go b/sources/en/anisascans/anisascans.go new file mode 100644 index 0000000..7d43c52 --- /dev/null +++ b/sources/en/anisascans/anisascans.go @@ -0,0 +1,17 @@ +package anisascans + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "AnisaScans", + BaseURL: "https://anisascans.in", + Lang: "en", + UseNewChapterEndpoint: true, + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/anisascans/anisascans_test.go b/sources/en/anisascans/anisascans_test.go new file mode 100644 index 0000000..305b35e --- /dev/null +++ b/sources/en/anisascans/anisascans_test.go @@ -0,0 +1,8 @@ +package anisascans + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "AnisaScans", "en") } diff --git a/sources/en/dragontea/dragontea.go b/sources/en/dragontea/dragontea.go new file mode 100644 index 0000000..59cb945 --- /dev/null +++ b/sources/en/dragontea/dragontea.go @@ -0,0 +1,18 @@ +package dragontea + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "DragonTea", + BaseURL: "https://dragontea.ink", + Lang: "en", + MangaSubString: "novel", + UseNewChapterEndpoint: true, + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/dragontea/dragontea_test.go b/sources/en/dragontea/dragontea_test.go new file mode 100644 index 0000000..da72b55 --- /dev/null +++ b/sources/en/dragontea/dragontea_test.go @@ -0,0 +1,8 @@ +package dragontea + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "DragonTea", "en") } diff --git a/sources/en/manhwaden/manhwaden.go b/sources/en/manhwaden/manhwaden.go new file mode 100644 index 0000000..4fb5e0d --- /dev/null +++ b/sources/en/manhwaden/manhwaden.go @@ -0,0 +1,17 @@ +package manhwaden + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "ManhwaDen", + BaseURL: "https://www.manhwaden.com", + Lang: "en", + UseNewChapterEndpoint: true, + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/manhwaden/manhwaden_test.go b/sources/en/manhwaden/manhwaden_test.go new file mode 100644 index 0000000..8928ee6 --- /dev/null +++ b/sources/en/manhwaden/manhwaden_test.go @@ -0,0 +1,8 @@ +package manhwaden + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "ManhwaDen", "en") } diff --git a/sources/en/manhwamanhua/manhwamanhua.go b/sources/en/manhwamanhua/manhwamanhua.go new file mode 100644 index 0000000..838c5f0 --- /dev/null +++ b/sources/en/manhwamanhua/manhwamanhua.go @@ -0,0 +1,17 @@ +package manhwamanhua + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "ManhwaManhua", + BaseURL: "https://manhwamanhua.com", + Lang: "en", + UseNewChapterEndpoint: true, + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/manhwamanhua/manhwamanhua_test.go b/sources/en/manhwamanhua/manhwamanhua_test.go new file mode 100644 index 0000000..62b10e8 --- /dev/null +++ b/sources/en/manhwamanhua/manhwamanhua_test.go @@ -0,0 +1,8 @@ +package manhwamanhua + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "ManhwaManhua", "en") } diff --git a/sources/en/novel24h/novel24h.go b/sources/en/novel24h/novel24h.go new file mode 100644 index 0000000..b42f91c --- /dev/null +++ b/sources/en/novel24h/novel24h.go @@ -0,0 +1,17 @@ +package novel24h + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "24HNovel", + BaseURL: "https://24hnovel.com", + Lang: "en", + UseNewChapterEndpoint: true, + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/novel24h/novel24h_test.go b/sources/en/novel24h/novel24h_test.go new file mode 100644 index 0000000..e8fa68d --- /dev/null +++ b/sources/en/novel24h/novel24h_test.go @@ -0,0 +1,8 @@ +package novel24h + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "24HNovel", "en") } diff --git a/sources/en/orchisasia/orchisasia.go b/sources/en/orchisasia/orchisasia.go new file mode 100644 index 0000000..cd3e89e --- /dev/null +++ b/sources/en/orchisasia/orchisasia.go @@ -0,0 +1,17 @@ +package orchisasia + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "Orchisasia", + BaseURL: "https://www.orchisasia.org", + Lang: "en", + MangaSubString: "comic", + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/orchisasia/orchisasia_test.go b/sources/en/orchisasia/orchisasia_test.go new file mode 100644 index 0000000..e0bd473 --- /dev/null +++ b/sources/en/orchisasia/orchisasia_test.go @@ -0,0 +1,8 @@ +package orchisasia + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "Orchisasia", "en") } diff --git a/sources/en/toongod/toongod.go b/sources/en/toongod/toongod.go new file mode 100644 index 0000000..ef055bb --- /dev/null +++ b/sources/en/toongod/toongod.go @@ -0,0 +1,17 @@ +package toongod + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "ToonGod", + BaseURL: "https://www.toongod.org", + Lang: "en", + MangaSubString: "webtoons", + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/toongod/toongod_test.go b/sources/en/toongod/toongod_test.go new file mode 100644 index 0000000..d398030 --- /dev/null +++ b/sources/en/toongod/toongod_test.go @@ -0,0 +1,8 @@ +package toongod + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "ToonGod", "en") } diff --git a/sources/en/topmanhuanet/topmanhuanet.go b/sources/en/topmanhuanet/topmanhuanet.go new file mode 100644 index 0000000..459fdbd --- /dev/null +++ b/sources/en/topmanhuanet/topmanhuanet.go @@ -0,0 +1,17 @@ +package topmanhuanet + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "TopManhua.net", + BaseURL: "https://topmanhua.net", + Lang: "en", + UseNewChapterEndpoint: true, + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/topmanhuanet/topmanhuanet_test.go b/sources/en/topmanhuanet/topmanhuanet_test.go new file mode 100644 index 0000000..1eab812 --- /dev/null +++ b/sources/en/topmanhuanet/topmanhuanet_test.go @@ -0,0 +1,8 @@ +package topmanhuanet + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "TopManhua.net", "en") } diff --git a/sources/en/wearehunger/wearehunger.go b/sources/en/wearehunger/wearehunger.go new file mode 100644 index 0000000..1203e10 --- /dev/null +++ b/sources/en/wearehunger/wearehunger.go @@ -0,0 +1,17 @@ +package wearehunger + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "WeAreHunger", + BaseURL: "https://www.wearehunger.site", + Lang: "en", + UseNewChapterEndpoint: true, + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/wearehunger/wearehunger_test.go b/sources/en/wearehunger/wearehunger_test.go new file mode 100644 index 0000000..eb8f07f --- /dev/null +++ b/sources/en/wearehunger/wearehunger_test.go @@ -0,0 +1,8 @@ +package wearehunger + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "WeAreHunger", "en") } diff --git a/sources/en/webdexscans/webdexscans.go b/sources/en/webdexscans/webdexscans.go new file mode 100644 index 0000000..4ca7585 --- /dev/null +++ b/sources/en/webdexscans/webdexscans.go @@ -0,0 +1,19 @@ +package webdexscans + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "Webdexscans", + BaseURL: "https://webdexscans.com", + Lang: "en", + MangaSubString: "series", + UseNewChapterEndpoint: true, + MangaDetailsSelectorStatus: "div.summary-heading:contains(Status) + div.summary-content", + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/webdexscans/webdexscans_test.go b/sources/en/webdexscans/webdexscans_test.go new file mode 100644 index 0000000..2b8e834 --- /dev/null +++ b/sources/en/webdexscans/webdexscans_test.go @@ -0,0 +1,8 @@ +package webdexscans + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "Webdexscans", "en") } diff --git a/sources/en/zinmanganet/zinmanganet.go b/sources/en/zinmanganet/zinmanganet.go new file mode 100644 index 0000000..0f870e6 --- /dev/null +++ b/sources/en/zinmanganet/zinmanganet.go @@ -0,0 +1,16 @@ +package zinmanganet + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "Zinmanga.net", + BaseURL: "https://zinmanga.net", + Lang: "en", + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/zinmanganet/zinmanganet_test.go b/sources/en/zinmanganet/zinmanganet_test.go new file mode 100644 index 0000000..cc30fac --- /dev/null +++ b/sources/en/zinmanganet/zinmanganet_test.go @@ -0,0 +1,8 @@ +package zinmanganet + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "Zinmanga.net", "en") }