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)
This commit is contained in:
achmad
2026-05-14 23:24:31 +07:00
parent 452918ac82
commit e3881f3a8e
20 changed files with 244 additions and 0 deletions
+17
View File
@@ -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()) }
+8
View File
@@ -0,0 +1,8 @@
package apcomics
import (
"testing"
"goyomi/internal/sourcetest"
)
func TestSource(t *testing.T) { sourcetest.Run(t, New(), "AP Comics", "en") }
+16
View File
@@ -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()) }
@@ -0,0 +1,8 @@
package galaxymanga
import (
"testing"
"goyomi/internal/sourcetest"
)
func TestSource(t *testing.T) { sourcetest.Run(t, New(), "Galaxy Manga", "en") }
+16
View File
@@ -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()) }
@@ -0,0 +1,8 @@
package hentaixcomic
import (
"testing"
"goyomi/internal/sourcetest"
)
func TestSource(t *testing.T) { sourcetest.Run(t, New(), "HentaiXComic", "en") }
+16
View File
@@ -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()) }
@@ -0,0 +1,8 @@
package hentaixyuri
import (
"testing"
"goyomi/internal/sourcetest"
)
func TestSource(t *testing.T) { sourcetest.Run(t, New(), "HentaiXYuri", "en") }
+17
View File
@@ -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()) }
+8
View File
@@ -0,0 +1,8 @@
package mangafree
import (
"testing"
"goyomi/internal/sourcetest"
)
func TestSource(t *testing.T) { sourcetest.Run(t, New(), "Mangafree", "en") }
+16
View File
@@ -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()) }
+8
View File
@@ -0,0 +1,8 @@
package mangaka
import (
"testing"
"goyomi/internal/sourcetest"
)
func TestSource(t *testing.T) { sourcetest.Run(t, New(), "MangaKa", "en") }
+17
View File
@@ -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()) }
@@ -0,0 +1,8 @@
package manhuafastnet
import (
"testing"
"goyomi/internal/sourcetest"
)
func TestSource(t *testing.T) { sourcetest.Run(t, New(), "ManhuaFast.net (unoriginal)", "en") }
+17
View File
@@ -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()) }
+8
View File
@@ -0,0 +1,8 @@
package novelcrow
import (
"testing"
"goyomi/internal/sourcetest"
)
func TestSource(t *testing.T) { sourcetest.Run(t, New(), "NovelCrow", "en") }
@@ -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()) }
@@ -0,0 +1,8 @@
package petrotechsociety
import (
"testing"
"goyomi/internal/sourcetest"
)
func TestSource(t *testing.T) { sourcetest.Run(t, New(), "Petrotechsociety", "en") }
+16
View File
@@ -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()) }
+8
View File
@@ -0,0 +1,8 @@
package woopread
import (
"testing"
"goyomi/internal/sourcetest"
)
func TestSource(t *testing.T) { sourcetest.Run(t, New(), "WoopRead", "en") }