feat: port 10 en/ Madara sources

Passing (6): tritiniascans, mangamaniacs, mangakiss,
  mahouirexnohentaikarte, milftoon
Site issues (4):
  spmanhwa — non-Cloudflare anti-bot challenge (HTTP 200 challenge page)
  webtoonscan, yaoiscan, manhwaclan — HTTP 403 on latest endpoint
  whalemanga — HTTP 526 (Cloudflare SSL error)
This commit is contained in:
achmad
2026-05-14 22:58:59 +07:00
parent 07969abac1
commit 500501c5f5
20 changed files with 242 additions and 0 deletions
@@ -0,0 +1,16 @@
package mahouirexnohentaikarte
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madara"
)
func New() *base.Source {
return base.New(base.Config{
Name: "Mahouirexnohentaikarte",
BaseURL: "https://mahouirexnohentaikarte.com",
Lang: "en",
})
}
func init() { registry.Register(New()) }
@@ -0,0 +1,8 @@
package mahouirexnohentaikarte
import (
"testing"
"goyomi/internal/sourcetest"
)
func TestSource(t *testing.T) { sourcetest.Run(t, New(), "Mahouirexnohentaikarte", "en") }
+16
View File
@@ -0,0 +1,16 @@
package mangakiss
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madara"
)
func New() *base.Source {
return base.New(base.Config{
Name: "Manga Kiss",
BaseURL: "https://mangakiss.org",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+8
View File
@@ -0,0 +1,8 @@
package mangakiss
import (
"testing"
"goyomi/internal/sourcetest"
)
func TestSource(t *testing.T) { sourcetest.Run(t, New(), "Manga Kiss", "en") }
+16
View File
@@ -0,0 +1,16 @@
package mangamaniacs
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madara"
)
func New() *base.Source {
return base.New(base.Config{
Name: "MangaManiacs",
BaseURL: "https://mangamaniacs.org",
Lang: "en",
})
}
func init() { registry.Register(New()) }
@@ -0,0 +1,8 @@
package mangamaniacs
import (
"testing"
"goyomi/internal/sourcetest"
)
func TestSource(t *testing.T) { sourcetest.Run(t, New(), "MangaManiacs", "en") }
+16
View File
@@ -0,0 +1,16 @@
package manhwaclan
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madara"
)
func New() *base.Source {
return base.New(base.Config{
Name: "ManhwaClan",
BaseURL: "https://manhwaclan.com",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+8
View File
@@ -0,0 +1,8 @@
package manhwaclan
import (
"testing"
"goyomi/internal/sourcetest"
)
func TestSource(t *testing.T) { sourcetest.Run(t, New(), "ManhwaClan", "en") }
+17
View File
@@ -0,0 +1,17 @@
package milftoon
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madara"
)
func New() *base.Source {
return base.New(base.Config{
Name: "Milftoon",
BaseURL: "https://milftoon.xxx",
Lang: "en",
MangaSubString: "comics",
})
}
func init() { registry.Register(New()) }
+8
View File
@@ -0,0 +1,8 @@
package milftoon
import (
"testing"
"goyomi/internal/sourcetest"
)
func TestSource(t *testing.T) { sourcetest.Run(t, New(), "Milftoon", "en") }
+16
View File
@@ -0,0 +1,16 @@
package spmanhwa
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madara"
)
func New() *base.Source {
return base.New(base.Config{
Name: "Spmanhwa",
BaseURL: "https://spmanhwa.online",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+8
View File
@@ -0,0 +1,8 @@
package spmanhwa
import (
"testing"
"goyomi/internal/sourcetest"
)
func TestSource(t *testing.T) { sourcetest.Run(t, New(), "Spmanhwa", "en") }
+16
View File
@@ -0,0 +1,16 @@
package tritiniascans
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madara"
)
func New() *base.Source {
return base.New(base.Config{
Name: "TritiniaScans",
BaseURL: "https://tritinia.org",
Lang: "en",
})
}
func init() { registry.Register(New()) }
@@ -0,0 +1,8 @@
package tritiniascans
import (
"testing"
"goyomi/internal/sourcetest"
)
func TestSource(t *testing.T) { sourcetest.Run(t, New(), "TritiniaScans", "en") }
+16
View File
@@ -0,0 +1,16 @@
package webtoonscan
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madara"
)
func New() *base.Source {
return base.New(base.Config{
Name: "WebtoonScan",
BaseURL: "https://webtoonscan.com",
Lang: "en",
})
}
func init() { registry.Register(New()) }
@@ -0,0 +1,8 @@
package webtoonscan
import (
"testing"
"goyomi/internal/sourcetest"
)
func TestSource(t *testing.T) { sourcetest.Run(t, New(), "WebtoonScan", "en") }
+17
View File
@@ -0,0 +1,17 @@
package whalemanga
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madara"
)
func New() *base.Source {
return base.New(base.Config{
Name: "WhaleManga",
BaseURL: "https://whalemanga.com",
Lang: "en",
UseNewChapterEndpoint: true,
})
}
func init() { registry.Register(New()) }
+8
View File
@@ -0,0 +1,8 @@
package whalemanga
import (
"testing"
"goyomi/internal/sourcetest"
)
func TestSource(t *testing.T) { sourcetest.Run(t, New(), "WhaleManga", "en") }
+16
View File
@@ -0,0 +1,16 @@
package yaoiscan
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madara"
)
func New() *base.Source {
return base.New(base.Config{
Name: "YaoiScan",
BaseURL: "https://yaoiscan.com",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+8
View File
@@ -0,0 +1,8 @@
package yaoiscan
import (
"testing"
"goyomi/internal/sourcetest"
)
func TestSource(t *testing.T) { sourcetest.Run(t, New(), "YaoiScan", "en") }