diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/vi/HentaiVnPlus.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/vi/HentaiVnPlus.kt index b7355cf1..21e07a71 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/vi/HentaiVnPlus.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/vi/HentaiVnPlus.kt @@ -16,7 +16,7 @@ import org.koitharu.kotatsu.parsers.util.urlEncoded @MangaSourceParser("HENTAIVNPLUS", "HentaiVN.plus", "vi", ContentType.HENTAI) internal class HentaiVnPlus(context: MangaLoaderContext) : - MadaraParser(context, MangaParserSource.HENTAIVNPLUS, "hentaivn.cx", 24) { + MadaraParser(context, MangaParserSource.HENTAIVNPLUS, "hentaivn.party", 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/madara/vi/HentaiZ.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/vi/HentaiZ.kt index a8fe1741..b66c72f9 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 @@ -9,7 +9,6 @@ import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.model.* import org.koitharu.kotatsu.parsers.util.* -import java.util.* import org.koitharu.kotatsu.parsers.Broken @Broken @@ -26,7 +25,7 @@ internal class HentaiZ(context: MangaLoaderContext) : val href = doc.selectFirst("head meta[property='og:url']")?.attr("content")?.toRelativeUrl(domain) ?: manga.url val testCheckAsync = doc.select(selectTestAsync) - val chaptersDeferred = if (testCheckAsync.isNullOrEmpty()) { + val chaptersDeferred = if (testCheckAsync.isEmpty()) { async { loadChapters(href, doc) } } else { async { getChapters(manga, doc) } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/vi/Quaanhdaocuteo.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/vi/Quaanhdaocuteo.kt index eb498cfd..c80c548a 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/vi/Quaanhdaocuteo.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/vi/Quaanhdaocuteo.kt @@ -11,7 +11,7 @@ import org.koitharu.kotatsu.parsers.util.* @MangaSourceParser("QUAANHDAOCUTEO", "Quả Anh Đào Cuteo", "vi", ContentType.HENTAI) internal class Quaanhdaocuteo(context: MangaLoaderContext) : - MadaraParser(context, MangaParserSource.QUAANHDAOCUTEO, "qadcuteo.org") { + MadaraParser(context, MangaParserSource.QUAANHDAOCUTEO, "qadcuteo.cc") { override val datePattern = "dd/MM/yyyy" override val selectPage = "p img" 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 fea1cf99..84287bbf 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) : PagedMangaParser(context, MangaParserSource.CMANGA, PAGE_SIZE), MangaParserAuthProvider { - override val configKeyDomain: ConfigKey.Domain = ConfigKey.Domain("cmangax4.com") + override val configKeyDomain: ConfigKey.Domain = ConfigKey.Domain("cmangax6.com") override val availableSortOrders: Set get() = EnumSet.of( diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/CuuTruyenParser.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/CuuTruyenParser.kt index af6a355a..84041c6a 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/CuuTruyenParser.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/CuuTruyenParser.kt @@ -32,7 +32,7 @@ internal class CuuTruyenParser(context: MangaLoaderContext) : "cuutruyen.net", "nettrom.com", "hetcuutruyen.net", - "cuutruyenpip7z.site", + "nettrom.com", "cuutruyen5c844.site", ) 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 ef26455e..16ea3e92 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) : PagedMangaParser(context, MangaParserSource.DAMCONUONG, 30) { - override val configKeyDomain = ConfigKey.Domain("damconuong.skin") + override val configKeyDomain = ConfigKey.Domain("damconuong.co") 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 5fa5781b..495047bc 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) : PagedMangaParser(context, MangaParserSource.DUALEOTRUYEN, 60) { override val configKeyDomain: ConfigKey.Domain - get() = ConfigKey.Domain("dualeotruyeng.com") + get() = ConfigKey.Domain("dualeotruyenev.com") override val userAgentKey = ConfigKey.UserAgent(UserAgents.CHROME_DESKTOP) diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/GocTruyenTranh.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/GocTruyenTranh.kt index 7c61a72f..424297dc 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/GocTruyenTranh.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/GocTruyenTranh.kt @@ -15,7 +15,7 @@ import java.util.* internal class GocTruyenTranh(context: MangaLoaderContext) : PagedMangaParser(context, MangaParserSource.GOCTRUYENTRANH, 30) { - override val configKeyDomain = ConfigKey.Domain("goctruyentranh.org") + override val configKeyDomain = ConfigKey.Domain("goctruyentranh.net") override fun onCreateConfig(keys: MutableCollection>) { super.onCreateConfig(keys) diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/KuroNeko.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/KuroNeko.kt index 5c8074c3..1c9861fb 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/KuroNeko.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/KuroNeko.kt @@ -14,7 +14,7 @@ import java.util.* @MangaSourceParser("KURONEKO", "Kuro Neko / vi-Hentai", "vi", type = ContentType.HENTAI) internal class KuroNeko(context: MangaLoaderContext) : PagedMangaParser(context, MangaParserSource.KURONEKO, 30) { - override val configKeyDomain = ConfigKey.Domain("vi-hentai.moe") + override val configKeyDomain = ConfigKey.Domain("vi-hentai.moe", "vi-hentai.org") private val pagesRequestMutex = Mutex() private var lastPagesRequestTime = 0L diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/TruyenTranh3Q.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/TruyenTranh3Q.kt index 8946de90..14e31c68 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/TruyenTranh3Q.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/TruyenTranh3Q.kt @@ -16,7 +16,7 @@ internal class TruyenTranh3Q(context: MangaLoaderContext) : private val relativeTimePattern = Regex("(\\d+)\\s*(phút|giờ|ngày|tuần) trước") private val absoluteTimePattern = Regex("(\\d{2}-\\d{2}-\\d{4})") - override val configKeyDomain = ConfigKey.Domain("truyentranh3qq.com") + override val configKeyDomain = ConfigKey.Domain("truyentranh3qc.com") override val availableSortOrders: Set = EnumSet.of( 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 55825704..1cd6acc4 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) : PagedMangaParser(context, MangaParserSource.VCOMYCS, 36) { override val configKeyDomain: ConfigKey.Domain - get() = ConfigKey.Domain("vivicomi6.info") + get() = ConfigKey.Domain("vivicomi8.info") override val availableSortOrders: Set get() = EnumSet.of(SortOrder.UPDATED) diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/DocTruyen3Q.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/DocTruyen3Q.kt index f9fb3f4a..b38d138b 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/DocTruyen3Q.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/DocTruyen3Q.kt @@ -11,7 +11,7 @@ import java.util.* @MangaSourceParser("DOCTRUYEN3Q", "DocTruyen3Q", "vi") internal class DocTruyen3Q(context: MangaLoaderContext) : - WpComicsParser(context, MangaParserSource.DOCTRUYEN3Q, "doctruyen3qui13.pro", 36) { + WpComicsParser(context, MangaParserSource.DOCTRUYEN3Q, "doctruyen3qui15.pro", 36) { override val datePattern = "dd/MM/yyyy" diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/MeHentaiVN.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/MeHentaiVN.kt index fe389e1e..69d48cb4 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/MeHentaiVN.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/MeHentaiVN.kt @@ -17,12 +17,7 @@ import java.util.* @MangaSourceParser("MEHENTAIVN", "MeHentaiVN", "vi", ContentType.HENTAI) internal class MeHentaiVN(context: MangaLoaderContext) : - WpComicsParser(context, MangaParserSource.MEHENTAIVN, "www.mehentaivn.xyz", 44) { - - override val configKeyDomain: ConfigKey.Domain = ConfigKey.Domain( - "www.mehentaivn.xyz", - "www.hentaivnx.autos", - ) + WpComicsParser(context, MangaParserSource.MEHENTAIVN, "www.hentaivnx.autos", 44) { override fun getRequestHeaders() = super.getRequestHeaders().newBuilder() .add("referer", "https://$domain/") @@ -100,7 +95,7 @@ internal class MeHentaiVN(context: MangaLoaderContext) : } webClient.httpGet(url) // execute - + } else { val url = buildString { append("https://$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 fc1a3244..ccfb72cc 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, "newtruyentranh2.com", 36) { + WpComicsParser(context, MangaParserSource.NEWTRUYEN, "newtruyentranh4.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 ad1e9741..50942f7e 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 @@ -11,7 +11,7 @@ import java.util.* @MangaSourceParser("TOPTRUYEN", "TopTruyen", "vi") internal class TopTruyen(context: MangaLoaderContext) : - WpComicsParser(context, MangaParserSource.TOPTRUYEN, "www.toptruyentv9.com", 36) { + WpComicsParser(context, MangaParserSource.TOPTRUYEN, "www.toptruyentv11.com", 36) { override val datePattern = "dd/MM/yyyy"