From e3881f3a8edd3f865331392be0bdd58f6d5b0538 Mon Sep 17 00:00:00 2001 From: achmad Date: Thu, 14 May 2026 23:24:31 +0700 Subject: [PATCH] feat: port 10 en/ sources (9 Madara, 1 MadTheme) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- sources/en/apcomics/apcomics.go | 17 +++++++++++++++++ sources/en/apcomics/apcomics_test.go | 8 ++++++++ sources/en/galaxymanga/galaxymanga.go | 16 ++++++++++++++++ sources/en/galaxymanga/galaxymanga_test.go | 8 ++++++++ sources/en/hentaixcomic/hentaixcomic.go | 16 ++++++++++++++++ sources/en/hentaixcomic/hentaixcomic_test.go | 8 ++++++++ sources/en/hentaixyuri/hentaixyuri.go | 16 ++++++++++++++++ sources/en/hentaixyuri/hentaixyuri_test.go | 8 ++++++++ sources/en/mangafree/mangafree.go | 17 +++++++++++++++++ sources/en/mangafree/mangafree_test.go | 8 ++++++++ sources/en/mangaka/mangaka.go | 16 ++++++++++++++++ sources/en/mangaka/mangaka_test.go | 8 ++++++++ sources/en/manhuafastnet/manhuafastnet.go | 17 +++++++++++++++++ sources/en/manhuafastnet/manhuafastnet_test.go | 8 ++++++++ sources/en/novelcrow/novelcrow.go | 17 +++++++++++++++++ sources/en/novelcrow/novelcrow_test.go | 8 ++++++++ sources/en/petrotechsociety/petrotechsociety.go | 16 ++++++++++++++++ .../petrotechsociety/petrotechsociety_test.go | 8 ++++++++ sources/en/woopread/woopread.go | 16 ++++++++++++++++ sources/en/woopread/woopread_test.go | 8 ++++++++ 20 files changed, 244 insertions(+) create mode 100644 sources/en/apcomics/apcomics.go create mode 100644 sources/en/apcomics/apcomics_test.go create mode 100644 sources/en/galaxymanga/galaxymanga.go create mode 100644 sources/en/galaxymanga/galaxymanga_test.go create mode 100644 sources/en/hentaixcomic/hentaixcomic.go create mode 100644 sources/en/hentaixcomic/hentaixcomic_test.go create mode 100644 sources/en/hentaixyuri/hentaixyuri.go create mode 100644 sources/en/hentaixyuri/hentaixyuri_test.go create mode 100644 sources/en/mangafree/mangafree.go create mode 100644 sources/en/mangafree/mangafree_test.go create mode 100644 sources/en/mangaka/mangaka.go create mode 100644 sources/en/mangaka/mangaka_test.go create mode 100644 sources/en/manhuafastnet/manhuafastnet.go create mode 100644 sources/en/manhuafastnet/manhuafastnet_test.go create mode 100644 sources/en/novelcrow/novelcrow.go create mode 100644 sources/en/novelcrow/novelcrow_test.go create mode 100644 sources/en/petrotechsociety/petrotechsociety.go create mode 100644 sources/en/petrotechsociety/petrotechsociety_test.go create mode 100644 sources/en/woopread/woopread.go create mode 100644 sources/en/woopread/woopread_test.go diff --git a/sources/en/apcomics/apcomics.go b/sources/en/apcomics/apcomics.go new file mode 100644 index 0000000..d52e428 --- /dev/null +++ b/sources/en/apcomics/apcomics.go @@ -0,0 +1,17 @@ +package apcomics + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "AP Comics", + BaseURL: "https://apcomics.org", + Lang: "en", + UseNewChapterEndpoint: true, + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/apcomics/apcomics_test.go b/sources/en/apcomics/apcomics_test.go new file mode 100644 index 0000000..a78a89f --- /dev/null +++ b/sources/en/apcomics/apcomics_test.go @@ -0,0 +1,8 @@ +package apcomics + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "AP Comics", "en") } diff --git a/sources/en/galaxymanga/galaxymanga.go b/sources/en/galaxymanga/galaxymanga.go new file mode 100644 index 0000000..5c596ea --- /dev/null +++ b/sources/en/galaxymanga/galaxymanga.go @@ -0,0 +1,16 @@ +package galaxymanga + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madtheme" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "Galaxy Manga", + BaseURL: "https://galaxymanga.io", + Lang: "en", + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/galaxymanga/galaxymanga_test.go b/sources/en/galaxymanga/galaxymanga_test.go new file mode 100644 index 0000000..cadde4f --- /dev/null +++ b/sources/en/galaxymanga/galaxymanga_test.go @@ -0,0 +1,8 @@ +package galaxymanga + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "Galaxy Manga", "en") } diff --git a/sources/en/hentaixcomic/hentaixcomic.go b/sources/en/hentaixcomic/hentaixcomic.go new file mode 100644 index 0000000..be3445b --- /dev/null +++ b/sources/en/hentaixcomic/hentaixcomic.go @@ -0,0 +1,16 @@ +package hentaixcomic + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "HentaiXComic", + BaseURL: "https://hentaixcomic.com", + Lang: "en", + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/hentaixcomic/hentaixcomic_test.go b/sources/en/hentaixcomic/hentaixcomic_test.go new file mode 100644 index 0000000..4acc196 --- /dev/null +++ b/sources/en/hentaixcomic/hentaixcomic_test.go @@ -0,0 +1,8 @@ +package hentaixcomic + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "HentaiXComic", "en") } diff --git a/sources/en/hentaixyuri/hentaixyuri.go b/sources/en/hentaixyuri/hentaixyuri.go new file mode 100644 index 0000000..7ff0b9e --- /dev/null +++ b/sources/en/hentaixyuri/hentaixyuri.go @@ -0,0 +1,16 @@ +package hentaixyuri + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "HentaiXYuri", + BaseURL: "https://hentaixyuri.com", + Lang: "en", + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/hentaixyuri/hentaixyuri_test.go b/sources/en/hentaixyuri/hentaixyuri_test.go new file mode 100644 index 0000000..2213387 --- /dev/null +++ b/sources/en/hentaixyuri/hentaixyuri_test.go @@ -0,0 +1,8 @@ +package hentaixyuri + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "HentaiXYuri", "en") } diff --git a/sources/en/mangafree/mangafree.go b/sources/en/mangafree/mangafree.go new file mode 100644 index 0000000..d8f60e2 --- /dev/null +++ b/sources/en/mangafree/mangafree.go @@ -0,0 +1,17 @@ +package mangafree + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "Mangafree", + BaseURL: "https://mangafree.info", + Lang: "en", + UseNewChapterEndpoint: true, + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/mangafree/mangafree_test.go b/sources/en/mangafree/mangafree_test.go new file mode 100644 index 0000000..52cd1a6 --- /dev/null +++ b/sources/en/mangafree/mangafree_test.go @@ -0,0 +1,8 @@ +package mangafree + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "Mangafree", "en") } diff --git a/sources/en/mangaka/mangaka.go b/sources/en/mangaka/mangaka.go new file mode 100644 index 0000000..411cd0f --- /dev/null +++ b/sources/en/mangaka/mangaka.go @@ -0,0 +1,16 @@ +package mangaka + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "MangaKa", + BaseURL: "https://mangaka.cc", + Lang: "en", + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/mangaka/mangaka_test.go b/sources/en/mangaka/mangaka_test.go new file mode 100644 index 0000000..b701521 --- /dev/null +++ b/sources/en/mangaka/mangaka_test.go @@ -0,0 +1,8 @@ +package mangaka + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "MangaKa", "en") } diff --git a/sources/en/manhuafastnet/manhuafastnet.go b/sources/en/manhuafastnet/manhuafastnet.go new file mode 100644 index 0000000..88a133e --- /dev/null +++ b/sources/en/manhuafastnet/manhuafastnet.go @@ -0,0 +1,17 @@ +package manhuafastnet + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "ManhuaFast.net (unoriginal)", + BaseURL: "https://manhuafast.net", + Lang: "en", + UseNewChapterEndpoint: true, + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/manhuafastnet/manhuafastnet_test.go b/sources/en/manhuafastnet/manhuafastnet_test.go new file mode 100644 index 0000000..b89eb5c --- /dev/null +++ b/sources/en/manhuafastnet/manhuafastnet_test.go @@ -0,0 +1,8 @@ +package manhuafastnet + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "ManhuaFast.net (unoriginal)", "en") } diff --git a/sources/en/novelcrow/novelcrow.go b/sources/en/novelcrow/novelcrow.go new file mode 100644 index 0000000..3f106b2 --- /dev/null +++ b/sources/en/novelcrow/novelcrow.go @@ -0,0 +1,17 @@ +package novelcrow + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "NovelCrow", + BaseURL: "https://novelcrow.com", + Lang: "en", + UseNewChapterEndpoint: true, + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/novelcrow/novelcrow_test.go b/sources/en/novelcrow/novelcrow_test.go new file mode 100644 index 0000000..c1eb6db --- /dev/null +++ b/sources/en/novelcrow/novelcrow_test.go @@ -0,0 +1,8 @@ +package novelcrow + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "NovelCrow", "en") } diff --git a/sources/en/petrotechsociety/petrotechsociety.go b/sources/en/petrotechsociety/petrotechsociety.go new file mode 100644 index 0000000..c9c6527 --- /dev/null +++ b/sources/en/petrotechsociety/petrotechsociety.go @@ -0,0 +1,16 @@ +package petrotechsociety + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "Petrotechsociety", + BaseURL: "https://www.petrotechsociety.org", + Lang: "en", + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/petrotechsociety/petrotechsociety_test.go b/sources/en/petrotechsociety/petrotechsociety_test.go new file mode 100644 index 0000000..318eee8 --- /dev/null +++ b/sources/en/petrotechsociety/petrotechsociety_test.go @@ -0,0 +1,8 @@ +package petrotechsociety + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "Petrotechsociety", "en") } diff --git a/sources/en/woopread/woopread.go b/sources/en/woopread/woopread.go new file mode 100644 index 0000000..f8f2026 --- /dev/null +++ b/sources/en/woopread/woopread.go @@ -0,0 +1,16 @@ +package woopread + +import ( + "goyomi/internal/registry" + base "goyomi/sources/base/madara" +) + +func New() *base.Source { + return base.New(base.Config{ + Name: "WoopRead", + BaseURL: "https://woopread.com", + Lang: "en", + }) +} + +func init() { registry.Register(New()) } diff --git a/sources/en/woopread/woopread_test.go b/sources/en/woopread/woopread_test.go new file mode 100644 index 0000000..31764cc --- /dev/null +++ b/sources/en/woopread/woopread_test.go @@ -0,0 +1,8 @@ +package woopread + +import ( + "testing" + "goyomi/internal/sourcetest" +) + +func TestSource(t *testing.T) { sourcetest.Run(t, New(), "WoopRead", "en") }