From f066be47fe5ca3fd63bd2344afc0d79b33c86f5e Mon Sep 17 00:00:00 2001 From: Draken <131387159+dragonx943@users.noreply.github.com> Date: Sat, 24 May 2025 16:35:14 +0700 Subject: [PATCH] [site/vi] Update domain + Small fixes (#1804) * [VioletScans] Move to "en" * [site/vi] Update sources domain * [Madara] Split and allow overwrite for "postData" -------------------------- Co-authored-by: Draken --- .github/summary.yaml | 2 +- .../koitharu/kotatsu/parsers/site/{all => en}/VioletScans.kt | 0 .../org/koitharu/kotatsu/parsers/site/madara/MadaraParser.kt | 4 +++- .../org/koitharu/kotatsu/parsers/site/madara/vi/HentaiCube.kt | 1 + .../org/koitharu/kotatsu/parsers/site/madara/vi/HentaiZ.kt | 2 +- .../org/koitharu/kotatsu/parsers/site/vi/CMangaParser.kt | 2 +- .../kotlin/org/koitharu/kotatsu/parsers/site/vi/DamCoNuong.kt | 2 +- .../org/koitharu/kotatsu/parsers/site/vi/DuaLeoTruyen.kt | 2 +- .../org/koitharu/kotatsu/parsers/site/vi/VcomycsParser.kt | 2 +- .../koitharu/kotatsu/parsers/site/wpcomics/WpComicsParser.kt | 2 +- .../koitharu/kotatsu/parsers/site/wpcomics/vi/NewTruyen.kt | 2 +- .../koitharu/kotatsu/parsers/site/wpcomics/vi/TopTruyen.kt | 3 ++- 12 files changed, 14 insertions(+), 10 deletions(-) rename src/main/kotlin/org/koitharu/kotatsu/parsers/site/{all => en}/VioletScans.kt (100%) diff --git a/.github/summary.yaml b/.github/summary.yaml index 77b4588f7..edffc3f7d 100644 --- a/.github/summary.yaml +++ b/.github/summary.yaml @@ -1 +1 @@ -total: 1230 +total: 1230 \ No newline at end of file diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/all/VioletScans.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/en/VioletScans.kt similarity index 100% rename from src/main/kotlin/org/koitharu/kotatsu/parsers/site/all/VioletScans.kt rename to src/main/kotlin/org/koitharu/kotatsu/parsers/site/en/VioletScans.kt diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/MadaraParser.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/MadaraParser.kt index bd295f62f..27eaa500a 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/MadaraParser.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/MadaraParser.kt @@ -615,11 +615,13 @@ internal abstract class MadaraParser( } } + protected open val postDataReq = "action=manga_get_chapters&manga=" + protected open suspend fun loadChapters(mangaUrl: String, document: Document): List { val doc = if (postReq) { val mangaId = document.select("div#manga-chapters-holder").attr("data-id") val url = "https://$domain/wp-admin/admin-ajax.php" - val postData = "action=manga_get_chapters&manga=$mangaId" + val postData = postDataReq + mangaId webClient.httpPost(url, postData).parseHtml() } else { val url = mangaUrl.toAbsoluteUrl(domain).removeSuffix('/') + "/ajax/chapters/" diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/vi/HentaiCube.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/vi/HentaiCube.kt index 57fff729b..c94dedb87 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/vi/HentaiCube.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/vi/HentaiCube.kt @@ -22,6 +22,7 @@ internal class HentaiCube(context: MangaLoaderContext) : override val datePattern = "dd/MM/yyyy" override val postReq = true + override val postDataReq = "action=manga_views&manga=" override suspend fun getFilterOptions() = MangaListFilterOptions( availableTags = fetchTags(), diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/vi/HentaiZ.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/vi/HentaiZ.kt index 2b2c0b805..a41740ce3 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/vi/HentaiZ.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/vi/HentaiZ.kt @@ -13,7 +13,7 @@ import java.util.* @MangaSourceParser("HENTAIZ", "HentaiZ", "vi", ContentType.HENTAI) internal class HentaiZ(context: MangaLoaderContext) : - MadaraParser(context, MangaParserSource.HENTAIZ, "hentaiz.now", 24) { + MadaraParser(context, MangaParserSource.HENTAIZ, "hentaiz.bar", 24) { override val listUrl = "truyen-hentai/" override val tagPrefix = "the-loai/" override val datePattern = "dd/MM/yyyy" diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/CMangaParser.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/CMangaParser.kt index 27c70317a..7af52b9cc 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/CMangaParser.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/CMangaParser.kt @@ -22,7 +22,7 @@ private const val PAGE_SIZE = 20 internal class CMangaParser(context: MangaLoaderContext) : LegacyPagedMangaParser(context, MangaParserSource.CMANGA, PAGE_SIZE), MangaParserAuthProvider { - override val configKeyDomain: ConfigKey.Domain = ConfigKey.Domain("cmangax1.com") + override val configKeyDomain: ConfigKey.Domain = ConfigKey.Domain("cmangax2.com") override val availableSortOrders: Set get() = EnumSet.of( diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/DamCoNuong.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/DamCoNuong.kt index 476b0f3ca..ad75045b5 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/DamCoNuong.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/DamCoNuong.kt @@ -18,7 +18,7 @@ import java.util.* internal class DamCoNuong(context: MangaLoaderContext) : LegacyPagedMangaParser(context, MangaParserSource.DAMCONUONG, 30) { - override val configKeyDomain = ConfigKey.Domain("damconuong.me") + override val configKeyDomain = ConfigKey.Domain("damconuong.site") private val availableTags = suspendLazy(initializer = ::fetchTags) diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/DuaLeoTruyen.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/DuaLeoTruyen.kt index 7b0c0bc61..5f9f56f69 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/DuaLeoTruyen.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/DuaLeoTruyen.kt @@ -16,7 +16,7 @@ internal class DuaLeoTruyen(context: MangaLoaderContext) : LegacyPagedMangaParser(context, MangaParserSource.DUALEOTRUYEN, 60) { override val configKeyDomain: ConfigKey.Domain - get() = ConfigKey.Domain("dualeotruyenm.com") + get() = ConfigKey.Domain("dualeotruyeno.com") override val userAgentKey = ConfigKey.UserAgent(UserAgents.CHROME_DESKTOP) diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/VcomycsParser.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/VcomycsParser.kt index 57a41c4f1..8eb1640c8 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/VcomycsParser.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/VcomycsParser.kt @@ -23,7 +23,7 @@ internal class VcomycsParser(context: MangaLoaderContext) : LegacyPagedMangaParser(context, MangaParserSource.VCOMYCS, 36) { override val configKeyDomain: ConfigKey.Domain - get() = ConfigKey.Domain("vivicomi3.info") + get() = ConfigKey.Domain("vivicomi4.info") override val availableSortOrders: Set get() = EnumSet.of(SortOrder.UPDATED) diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/WpComicsParser.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/WpComicsParser.kt index bd88ece73..3f43a58e0 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/WpComicsParser.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/WpComicsParser.kt @@ -27,7 +27,7 @@ internal abstract class WpComicsParser( ) : LegacyPagedMangaParser(context, source, pageSize) { companion object { - const val netDomain = "nettruyenvnpt.com" + const val netDomain = "nettruyen1975.com" } override val configKeyDomain = ConfigKey.Domain(domain) diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NewTruyen.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NewTruyen.kt index afbd48770..ecf841828 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NewTruyen.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NewTruyen.kt @@ -14,7 +14,7 @@ import java.util.* @MangaSourceParser("NEWTRUYEN", "NewTruyen", "vi") internal class NewTruyen(context: MangaLoaderContext) : - WpComicsParser(context, MangaParserSource.NEWTRUYEN, "newtruyen10.com", 36) { + WpComicsParser(context, MangaParserSource.NEWTRUYEN, "newtruyen11.com", 36) { override suspend fun getFilterOptions() = MangaListFilterOptions( availableTags = getAvailableTags(), diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/TopTruyen.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/TopTruyen.kt index f053db684..f50cceab0 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/TopTruyen.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/TopTruyen.kt @@ -12,7 +12,7 @@ import java.util.* @MangaSourceParser("TOPTRUYEN", "TopTruyen", "vi") internal class TopTruyen(context: MangaLoaderContext) : - WpComicsParser(context, MangaParserSource.TOPTRUYEN, "www.toptruyentv6.pro", 36) { + WpComicsParser(context, MangaParserSource.TOPTRUYEN, "www.toptruyentv7.pro", 36) { override val datePattern = "dd/MM/yyyy" @@ -226,6 +226,7 @@ internal class TopTruyen(context: MangaLoaderContext) : url.contains("image_default.png") || url.contains("toptruyentv5.jpg") || url.contains("toptruyentv6.jpg") || + url.contains("toptruyentv7.jpg") || url.contains("img_001_1743221470.png")) { // Remove ads images return@mapNotNull null }