diff --git a/multisrc/overrides/mangathemesia/comicaso/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/comicaso/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 000000000..83e3cd678
Binary files /dev/null and b/multisrc/overrides/mangathemesia/comicaso/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/comicaso/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/comicaso/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 000000000..8e8078c5a
Binary files /dev/null and b/multisrc/overrides/mangathemesia/comicaso/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/comicaso/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/comicaso/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 000000000..79db3a577
Binary files /dev/null and b/multisrc/overrides/mangathemesia/comicaso/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/comicaso/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/comicaso/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 000000000..2d356c080
Binary files /dev/null and b/multisrc/overrides/mangathemesia/comicaso/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/comicaso/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/comicaso/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 000000000..8e51902b8
Binary files /dev/null and b/multisrc/overrides/mangathemesia/comicaso/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/comicaso/src/Comicaso.kt b/multisrc/overrides/mangathemesia/comicaso/src/Comicaso.kt
new file mode 100644
index 000000000..32e262861
--- /dev/null
+++ b/multisrc/overrides/mangathemesia/comicaso/src/Comicaso.kt
@@ -0,0 +1,12 @@
+package eu.kanade.tachiyomi.extension.id.comicaso
+
+import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
+import java.text.SimpleDateFormat
+import java.util.Locale
+
+class Comicaso : MangaThemesia(
+    "Comicaso",
+    "https://comicaso.com",
+    "id",
+    dateFormat = SimpleDateFormat("MMMM d, yyyy", Locale("id")),
+)
diff --git a/multisrc/overrides/mangathemesia/comicsekai/src/Comicsekai.kt b/multisrc/overrides/mangathemesia/comicsekai/src/Comicsekai.kt
new file mode 100644
index 000000000..1de0e6c77
--- /dev/null
+++ b/multisrc/overrides/mangathemesia/comicsekai/src/Comicsekai.kt
@@ -0,0 +1,27 @@
+package eu.kanade.tachiyomi.extension.id.comicsekai
+
+import android.util.Base64
+import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
+import eu.kanade.tachiyomi.source.model.Page
+import kotlinx.serialization.json.jsonArray
+import kotlinx.serialization.json.jsonPrimitive
+import org.jsoup.nodes.Document
+
+class Comicsekai : MangaThemesia("Comicsekai", "http://www.comicsekai.com", "id") {
+    override fun pageListParse(document: Document): List<Page> {
+        // "ts_reader.run({" in base64
+        val script = document.selectFirst("script[src^=data:text/javascript;base64,dHNfcmVhZGVyLnJ1bih7]")
+            ?: return super.pageListParse(document)
+        val data = Base64.decode(script.attr("src").substringAfter("base64,"), Base64.DEFAULT).toString(Charsets.UTF_8)
+        val imageListJson = JSON_IMAGE_LIST_REGEX.find(data)?.destructured?.toList()?.get(0).orEmpty()
+        val imageList = try {
+            json.parseToJsonElement(imageListJson).jsonArray
+        } catch (_: IllegalArgumentException) {
+            emptyList()
+        }
+
+        return imageList.mapIndexed { i, jsonEl ->
+            Page(i, imageUrl = jsonEl.jsonPrimitive.content)
+        }
+    }
+}
diff --git a/multisrc/overrides/mangathemesia/dragonmanga/src/DragonManga.kt b/multisrc/overrides/mangathemesia/dragonmanga/src/DragonManga.kt
new file mode 100644
index 000000000..cc31063c6
--- /dev/null
+++ b/multisrc/overrides/mangathemesia/dragonmanga/src/DragonManga.kt
@@ -0,0 +1,12 @@
+package eu.kanade.tachiyomi.extension.th.dragonmanga
+
+import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
+import java.text.SimpleDateFormat
+import java.util.Locale
+
+class DragonManga : MangaThemesia(
+    "DragonManga",
+    "https://www.dragon-manga.com",
+    "th",
+    dateFormat = SimpleDateFormat("MMMM d, yyyy", Locale("th")),
+)
diff --git a/multisrc/overrides/mangathemesia/irisscanlator/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/irisscanlator/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 000000000..80da2c8e9
Binary files /dev/null and b/multisrc/overrides/mangathemesia/irisscanlator/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/irisscanlator/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/irisscanlator/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 000000000..262a287da
Binary files /dev/null and b/multisrc/overrides/mangathemesia/irisscanlator/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/irisscanlator/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/irisscanlator/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 000000000..fec1a4bf8
Binary files /dev/null and b/multisrc/overrides/mangathemesia/irisscanlator/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/irisscanlator/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/irisscanlator/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 000000000..e8b876cff
Binary files /dev/null and b/multisrc/overrides/mangathemesia/irisscanlator/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/irisscanlator/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/irisscanlator/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 000000000..7689a701c
Binary files /dev/null and b/multisrc/overrides/mangathemesia/irisscanlator/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/irisscanlator/src/IrisScanlator.kt b/multisrc/overrides/mangathemesia/irisscanlator/src/IrisScanlator.kt
new file mode 100644
index 000000000..008109c20
--- /dev/null
+++ b/multisrc/overrides/mangathemesia/irisscanlator/src/IrisScanlator.kt
@@ -0,0 +1,12 @@
+package eu.kanade.tachiyomi.extension.pt.irisscanlator
+
+import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
+import java.text.SimpleDateFormat
+import java.util.Locale
+
+class IrisScanlator : MangaThemesia(
+    "Iris Scanlator",
+    "https://irisscanlator.com.br",
+    "pt-BR",
+    dateFormat = SimpleDateFormat("MMMM d, yyyy", Locale("pt", "BR")),
+)
diff --git a/multisrc/overrides/mangathemesia/lamimanga/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/lamimanga/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 000000000..16c57bc0d
Binary files /dev/null and b/multisrc/overrides/mangathemesia/lamimanga/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/lamimanga/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/lamimanga/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 000000000..00765fac6
Binary files /dev/null and b/multisrc/overrides/mangathemesia/lamimanga/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/lamimanga/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/lamimanga/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 000000000..7c7353de2
Binary files /dev/null and b/multisrc/overrides/mangathemesia/lamimanga/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/lamimanga/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/lamimanga/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 000000000..a7e52810c
Binary files /dev/null and b/multisrc/overrides/mangathemesia/lamimanga/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/lamimanga/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/lamimanga/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 000000000..f97bb9f1e
Binary files /dev/null and b/multisrc/overrides/mangathemesia/lamimanga/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/lamimanga/src/LamiManga.kt b/multisrc/overrides/mangathemesia/lamimanga/src/LamiManga.kt
new file mode 100644
index 000000000..c060cad9e
--- /dev/null
+++ b/multisrc/overrides/mangathemesia/lamimanga/src/LamiManga.kt
@@ -0,0 +1,12 @@
+package eu.kanade.tachiyomi.extension.th.lamimanga
+
+import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
+import java.text.SimpleDateFormat
+import java.util.Locale
+
+class LamiManga : MangaThemesia(
+    "Lami-Manga",
+    "https://www.lami-manga.com",
+    "th",
+    dateFormat = SimpleDateFormat("MMMM d, yyyy", Locale("th")),
+)
diff --git a/multisrc/overrides/mangathemesia/makimaaaaa/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/makimaaaaa/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 000000000..9f35bc74b
Binary files /dev/null and b/multisrc/overrides/mangathemesia/makimaaaaa/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/makimaaaaa/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/makimaaaaa/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 000000000..6f2dd632a
Binary files /dev/null and b/multisrc/overrides/mangathemesia/makimaaaaa/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/makimaaaaa/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/makimaaaaa/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 000000000..fcd26f280
Binary files /dev/null and b/multisrc/overrides/mangathemesia/makimaaaaa/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/makimaaaaa/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/makimaaaaa/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 000000000..83e181388
Binary files /dev/null and b/multisrc/overrides/mangathemesia/makimaaaaa/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/makimaaaaa/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/makimaaaaa/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 000000000..02096dacd
Binary files /dev/null and b/multisrc/overrides/mangathemesia/makimaaaaa/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/makimaaaaa/src/Makimaaaaa.kt b/multisrc/overrides/mangathemesia/makimaaaaa/src/Makimaaaaa.kt
new file mode 100644
index 000000000..3bdf9f4fa
--- /dev/null
+++ b/multisrc/overrides/mangathemesia/makimaaaaa/src/Makimaaaaa.kt
@@ -0,0 +1,15 @@
+package eu.kanade.tachiyomi.extension.th.makimaaaaa
+
+import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
+import java.text.SimpleDateFormat
+import java.util.Locale
+
+class Makimaaaaa : MangaThemesia(
+    "Makimaaaaa",
+    "https://makimaaaaa.com",
+    "th",
+    dateFormat = SimpleDateFormat("MMMM d, yyyy", Locale("th")),
+) {
+    override val seriesTypeSelector = ".tsinfo .imptdt:contains(ประเภท) a"
+    override val seriesStatusSelector = ".tsinfo .imptdt:contains(สถานะ) i"
+}
diff --git a/multisrc/overrides/mangathemesia/mangaefendisi/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangaefendisi/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 000000000..fe697fd24
Binary files /dev/null and b/multisrc/overrides/mangathemesia/mangaefendisi/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/mangaefendisi/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangaefendisi/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 000000000..898704822
Binary files /dev/null and b/multisrc/overrides/mangathemesia/mangaefendisi/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/mangaefendisi/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangaefendisi/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 000000000..4ffffd725
Binary files /dev/null and b/multisrc/overrides/mangathemesia/mangaefendisi/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/mangaefendisi/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangaefendisi/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 000000000..3d302b30e
Binary files /dev/null and b/multisrc/overrides/mangathemesia/mangaefendisi/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/mangaefendisi/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/mangaefendisi/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 000000000..ca7ba9950
Binary files /dev/null and b/multisrc/overrides/mangathemesia/mangaefendisi/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/mangaefendisi/src/MangaEfendisi.kt b/multisrc/overrides/mangathemesia/mangaefendisi/src/MangaEfendisi.kt
new file mode 100644
index 000000000..88551dcf4
--- /dev/null
+++ b/multisrc/overrides/mangathemesia/mangaefendisi/src/MangaEfendisi.kt
@@ -0,0 +1,26 @@
+package eu.kanade.tachiyomi.extension.tr.mangaefendisi
+
+import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
+import eu.kanade.tachiyomi.source.model.SManga
+import java.text.SimpleDateFormat
+import java.util.Locale
+
+class MangaEfendisi : MangaThemesia(
+    "Manga Efendisi",
+    "https://mangaefendisi.net",
+    "tr",
+    dateFormat = SimpleDateFormat("MMMM d, yyyy", Locale("tr")),
+) {
+    override val seriesAuthorSelector = ".fmed b:contains(Yazar) + span"
+    override val seriesArtistSelector = ".fmed b:contains(Çizer) + span"
+    override val seriesTypeSelector = ".tsinfo .imptdt:contains(Tip) a"
+    override val seriesStatusSelector = ".tsinfo .imptdt:contains(Durum) i"
+
+    override fun String?.parseStatus(): Int = when {
+        this == null -> SManga.UNKNOWN
+        listOf("güncel", "devam ediyor").any { this.contains(it, ignoreCase = true) } -> SManga.ONGOING
+        this.contains("tamamlandı", ignoreCase = true) -> SManga.COMPLETED
+        this.contains("bırakıldı", ignoreCase = true) -> SManga.CANCELLED
+        else -> SManga.UNKNOWN
+    }
+}
diff --git a/multisrc/overrides/mangathemesia/mangamate/src/MangaMate.kt b/multisrc/overrides/mangathemesia/mangamate/src/MangaMate.kt
new file mode 100644
index 000000000..ae59864df
--- /dev/null
+++ b/multisrc/overrides/mangathemesia/mangamate/src/MangaMate.kt
@@ -0,0 +1,23 @@
+package eu.kanade.tachiyomi.extension.ja.mangamate
+
+import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
+import eu.kanade.tachiyomi.source.model.SManga
+import java.text.SimpleDateFormat
+import java.util.Locale
+
+class MangaMate : MangaThemesia(
+    "漫画メイト",
+    "https://manga-mate.org",
+    "ja",
+    dateFormat = SimpleDateFormat("MMMM d, yyyy", Locale("ja")),
+) {
+    override val seriesAuthorSelector = ".fmed b:contains(作者) + span"
+    override val seriesStatusSelector = ".tsinfo .imptdt:contains(連載状況) i"
+
+    override fun String?.parseStatus(): Int = when (this) {
+        "連載中" -> SManga.ONGOING
+        "完結" -> SManga.COMPLETED
+        "人気" -> SManga.ON_HIATUS
+        else -> SManga.UNKNOWN
+    }
+}
diff --git a/multisrc/overrides/mangathemesia/mangamoon/src/MangaMoon.kt b/multisrc/overrides/mangathemesia/mangamoon/src/MangaMoon.kt
new file mode 100644
index 000000000..ac384e8d2
--- /dev/null
+++ b/multisrc/overrides/mangathemesia/mangamoon/src/MangaMoon.kt
@@ -0,0 +1,12 @@
+package eu.kanade.tachiyomi.extension.th.mangamoon
+
+import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
+import java.text.SimpleDateFormat
+import java.util.Locale
+
+class MangaMoon : MangaThemesia(
+    "Manga-Moon",
+    "https://manga-moons.net",
+    "th",
+    dateFormat = SimpleDateFormat("MMMM d, yyyy", Locale("th")),
+)
diff --git a/multisrc/overrides/mangathemesia/ntrmanga/src/NTRManga.kt b/multisrc/overrides/mangathemesia/ntrmanga/src/NTRManga.kt
new file mode 100644
index 000000000..96eb2ca2d
--- /dev/null
+++ b/multisrc/overrides/mangathemesia/ntrmanga/src/NTRManga.kt
@@ -0,0 +1,12 @@
+package eu.kanade.tachiyomi.extension.th.ntrmanga
+
+import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
+import java.text.SimpleDateFormat
+import java.util.Locale
+
+class NTRManga : MangaThemesia(
+    "NTR-Manga",
+    "https://www.ntr-manga.com",
+    "th",
+    dateFormat = SimpleDateFormat("MMMM d, yyyy", Locale("th")),
+)
diff --git a/multisrc/overrides/mangathemesia/thunderscans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/thunderscans/res/mipmap-hdpi/ic_launcher.png
index a0ab1460a..bd82c8bcc 100644
Binary files a/multisrc/overrides/mangathemesia/thunderscans/res/mipmap-hdpi/ic_launcher.png and b/multisrc/overrides/mangathemesia/thunderscans/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/thunderscans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/thunderscans/res/mipmap-mdpi/ic_launcher.png
index 36ec3cde9..bba1d4703 100644
Binary files a/multisrc/overrides/mangathemesia/thunderscans/res/mipmap-mdpi/ic_launcher.png and b/multisrc/overrides/mangathemesia/thunderscans/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/thunderscans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/thunderscans/res/mipmap-xhdpi/ic_launcher.png
index 07d63abf0..46a756a84 100644
Binary files a/multisrc/overrides/mangathemesia/thunderscans/res/mipmap-xhdpi/ic_launcher.png and b/multisrc/overrides/mangathemesia/thunderscans/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/thunderscans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/thunderscans/res/mipmap-xxhdpi/ic_launcher.png
index b1aa3cb9f..56753ccf7 100644
Binary files a/multisrc/overrides/mangathemesia/thunderscans/res/mipmap-xxhdpi/ic_launcher.png and b/multisrc/overrides/mangathemesia/thunderscans/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/thunderscans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangathemesia/thunderscans/res/mipmap-xxxhdpi/ic_launcher.png
index 5783d5264..6946fed54 100644
Binary files a/multisrc/overrides/mangathemesia/thunderscans/res/mipmap-xxxhdpi/ic_launcher.png and b/multisrc/overrides/mangathemesia/thunderscans/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/mangathemesia/thunderscans/src/ThunderScans.kt b/multisrc/overrides/mangathemesia/thunderscans/src/ThunderScans.kt
deleted file mode 100644
index 02defe444..000000000
--- a/multisrc/overrides/mangathemesia/thunderscans/src/ThunderScans.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package eu.kanade.tachiyomi.extension.ar.thunderscans
-
-import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
-import java.text.SimpleDateFormat
-import java.util.Locale
-
-class ThunderScans : MangaThemesia(
-    "Thunder Scans",
-    "https://thunderscans.com",
-    "ar",
-    dateFormat = SimpleDateFormat("MMM d, yyy", Locale("ar")),
-)
diff --git a/multisrc/overrides/mangathemesia/thunderscans/src/ThunderScansFactory.kt b/multisrc/overrides/mangathemesia/thunderscans/src/ThunderScansFactory.kt
new file mode 100644
index 000000000..311a34737
--- /dev/null
+++ b/multisrc/overrides/mangathemesia/thunderscans/src/ThunderScansFactory.kt
@@ -0,0 +1,27 @@
+package eu.kanade.tachiyomi.extension.all.thunderscans
+
+import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
+import eu.kanade.tachiyomi.source.SourceFactory
+import java.text.SimpleDateFormat
+import java.util.Locale
+
+class ThunderScansFactory : SourceFactory {
+    override fun createSources() = listOf(
+        ThunderScansAR(),
+        ThunderScansEN(),
+    )
+}
+
+class ThunderScansAR : MangaThemesia(
+    "Thunder Scans",
+    "https://thunderscans.com",
+    "ar",
+    dateFormat = SimpleDateFormat("MMM d, yyy", Locale("ar")),
+)
+
+class ThunderScansEN : MangaThemesia(
+    "Thunder Scans",
+    "https://en-thunderscans.com",
+    "en",
+    mangaUrlDirectory = "/comics",
+)
diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesiaGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesiaGenerator.kt
index bb5cc7f6c..c75171057 100644
--- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesiaGenerator.kt
+++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesiaGenerator.kt
@@ -15,6 +15,7 @@ class MangaThemesiaGenerator : ThemeSourceGenerator {
 
     override val sources = listOf(
         MultiLang("Miau Scan", "https://miaucomics.org", listOf("es", "pt-BR"), overrideVersionCode = 2),
+        MultiLang("Thunder Scans", "https://thunderscans.com", listOf("ar", "en")),
         SingleLang("Ainz Scans ID", "https://ainzscans.net", "id", overrideVersionCode = 1),
         SingleLang("Alceascan", "https://alceascan.my.id", "id"),
         SingleLang("Animated Glitched Comics", "https://agscomics.com", "en"),
@@ -30,6 +31,8 @@ class MangaThemesiaGenerator : ThemeSourceGenerator {
         SingleLang("BirdManga", "https://birdmanga.com", "en"),
         SingleLang("Boosei", "https://boosei.net", "id", overrideVersionCode = 2),
         SingleLang("Cartel de Manhwas", "https://carteldemanhwas.com", "es", overrideVersionCode = 6),
+        SingleLang("Comicaso", "https://comicaso.com", "id"),
+        SingleLang("Comicsekai", "http://www.comicsekai.com", "id"),
         SingleLang("Constellar Scans", "https://constellarcomic.com", "en", isNsfw = true, overrideVersionCode = 16),
         SingleLang("Cosmic Scans", "https://cosmic-scans.com", "en", overrideVersionCode = 2),
         SingleLang("CosmicScans.id", "https://cosmicscans.id", "id", overrideVersionCode = 3, className = "CosmicScansID"),
@@ -37,6 +40,7 @@ class MangaThemesiaGenerator : ThemeSourceGenerator {
         SingleLang("Cypher Scans", "https://cypherscans.xyz", "en"),
         SingleLang("Diskus Scan", "https://diskusscan.com", "pt-BR", overrideVersionCode = 9),
         SingleLang("Dojing.net", "https://dojing.net", "id", isNsfw = true, className = "DojingNet"),
+        SingleLang("Dragon-Manga", "https://www.dragon-manga.com", "th", isNsfw = true, className = "DragonManga"),
         SingleLang("Elarc Toon", "https://elarctoon.com", "en", className = "ElarcPage", overrideVersionCode = 2),
         SingleLang("EnryuManga", "https://enryumanga.com", "en"),
         SingleLang("Epsilon Scan", "https://epsilonscan.fr", "fr", isNsfw = true),
@@ -54,6 +58,7 @@ class MangaThemesiaGenerator : ThemeSourceGenerator {
         SingleLang("Imagine Scan", "https://imaginescan.com.br", "pt-BR", isNsfw = true, overrideVersionCode = 1),
         SingleLang("InariManga", "https://inarimanga.com", "es", overrideVersionCode = 7),
         SingleLang("Infernal Void Scans", "https://void-scans.com", "en", overrideVersionCode = 5),
+        SingleLang("Iris Scanlator", "https://irisscanlator.com.br", "pt-BR"),
         SingleLang("Kai Scans", "https://kaiscans.org", "en", overrideVersionCode = 1),
         SingleLang("Kanzenin", "https://kanzenin.info", "id", isNsfw = true, overrideVersionCode = 1),
         SingleLang("KataKomik", "https://katakomik.my.id", "id", overrideVersionCode = 1),
@@ -71,12 +76,15 @@ class MangaThemesiaGenerator : ThemeSourceGenerator {
         SingleLang("Komiku.com", "https://komiku.com", "id", className = "KomikuCom"),
         SingleLang("Kuma Scans (Kuma Translation)", "https://kumascans.com", "en", className = "KumaScans", overrideVersionCode = 1),
         SingleLang("KumaPoi", "https://kumapoi.info", "id", isNsfw = true, overrideVersionCode = 3),
+        SingleLang("Lami-Manga", "https://www.lami-manga.com", "th", isNsfw = true, className = "LamiManga"),
         SingleLang("Legacy Scans", "https://legacy-scans.com", "fr", pkgName = "flamescansfr"),
         SingleLang("Lelmanga", "https://www.lelmanga.com", "fr"),
         SingleLang("LianScans", "https://www.lianscans.my.id", "id", isNsfw = true),
         SingleLang("Luminous Scans", "https://luminousscans.net", "en", overrideVersionCode = 1),
         SingleLang("Lunar Scans", "https://lunarscan.org", "en", isNsfw = true, overrideVersionCode = 1),
         SingleLang("Magus Manga", "https://magusmanga.com", "en", overrideVersionCode = 1),
+        SingleLang("Makimaaaaa", "https://makimaaaaa.com", "th", isNsfw = true),
+        SingleLang("Manga Efendisi", "https://mangaefendisi.net", "tr"),
         SingleLang("Manga Flame", "https://mangaflame.org", "ar", overrideVersionCode = 1),
         SingleLang("Manga Kings", "https://mangakings.com.tr", "tr"),
         SingleLang("Manga Pro", "https://mangapro.pro", "ar"),
@@ -93,6 +101,8 @@ class MangaThemesiaGenerator : ThemeSourceGenerator {
         SingleLang("MangaWT", "https://mangawt.com", "tr", overrideVersionCode = 5),
         SingleLang("Mangayaro", "https://www.mangayaro.id", "id", overrideVersionCode = 1),
         SingleLang("MangaYu", "https://mangayu.id", "id"),
+        SingleLang("Manga-Mate", "https://manga-mate.org", "ja", isNsfw = true, className = "MangaMate"),
+        SingleLang("Manga-Moon", "https://manga-moons.net", "th", className = "MangaMoon"),
         SingleLang("Mangás Chan", "https://mangaschan.net", "pt-BR", className = "MangasChan", overrideVersionCode = 3),
         SingleLang("Mangás Online", "https://mangasonline.cc", "pt-BR", className = "MangasOnline"),
         SingleLang("Manhwa Freak", "https://manhwa-freak.com", "en", overrideVersionCode = 3),
@@ -113,6 +123,7 @@ class MangaThemesiaGenerator : ThemeSourceGenerator {
         SingleLang("Ngomik", "https://ngomik.net", "id", overrideVersionCode = 2),
         SingleLang("NIGHT SCANS", "https://nightscans.net", "en", isNsfw = true, className = "NightScans", overrideVersionCode = 3),
         SingleLang("Noromax", "https://noromax.my.id", "id"),
+        SingleLang("NTR-Manga", "https://www.ntr-manga.com", "th", isNsfw = true, className = "NTRManga"),
         SingleLang("Origami Orpheans", "https://origami-orpheans.com", "pt-BR", overrideVersionCode = 10),
         SingleLang("Otsugami", "https://otsugami.id", "id"),
         SingleLang("Ozul Scans", "https://kingofmanga.com", "ar", overrideVersionCode = 2),
@@ -146,7 +157,6 @@ class MangaThemesiaGenerator : ThemeSourceGenerator {
         SingleLang("Tempest Fansub", "https://tempestfansub.com", "tr", isNsfw = true),
         SingleLang("Tenshi.id", "https://tenshi.id", "id", className = "TenshiId", pkgName = "masterkomik", overrideVersionCode = 4),
         SingleLang("The Apollo Team", "https://theapollo.team", "en"),
-        SingleLang("Thunder Scans", "https://thunderscans.com", "ar"),
         SingleLang("Tres Daos Scan", "https://tresdaos.com", "es"),
         SingleLang("Tsundoku Traduções", "https://tsundoku.com.br", "pt-BR", className = "TsundokuTraducoes", overrideVersionCode = 9),
         SingleLang("TukangKomik", "https://tukangkomik.id", "id", overrideVersionCode = 1),