From 99c8f52676947620627389fbd69af4e8ff379b50 Mon Sep 17 00:00:00 2001 From: Chopper <156493704+choppeh@users.noreply.github.com> Date: Mon, 17 Mar 2025 11:47:07 -0300 Subject: [PATCH] Update domains (#8108) * Update SamuraiScan domain * Update RuyaManga domain * Update DuaLeonTruyen domain * Bump version * Add interceptor in SamuraiScan --- src/es/manhuaonline/build.gradle | 4 +- .../extension/es/manhuaonline/SamuraiScan.kt | 46 ++++++++++++++++++- src/tr/ruyamanga/build.gradle | 4 +- .../extension/tr/ruyamanga/RuyaManga.kt | 2 +- src/vi/dualeotruyen/build.gradle | 2 +- .../extension/vi/dualeotruyen/DuaLeoTruyen.kt | 2 +- 6 files changed, 52 insertions(+), 8 deletions(-) diff --git a/src/es/manhuaonline/build.gradle b/src/es/manhuaonline/build.gradle index 614e3b2c8..615850cac 100644 --- a/src/es/manhuaonline/build.gradle +++ b/src/es/manhuaonline/build.gradle @@ -2,8 +2,8 @@ ext { extName = 'SamuraiScan' extClass = '.SamuraiScan' themePkg = 'madara' - baseUrl = 'https://samuraiscan.cookni.net' - overrideVersionCode = 12 + baseUrl = 'https://samurai.wordoco.com' + overrideVersionCode = 13 isNsfw = false } diff --git a/src/es/manhuaonline/src/eu/kanade/tachiyomi/extension/es/manhuaonline/SamuraiScan.kt b/src/es/manhuaonline/src/eu/kanade/tachiyomi/extension/es/manhuaonline/SamuraiScan.kt index 883095498..917d9a44c 100644 --- a/src/es/manhuaonline/src/eu/kanade/tachiyomi/extension/es/manhuaonline/SamuraiScan.kt +++ b/src/es/manhuaonline/src/eu/kanade/tachiyomi/extension/es/manhuaonline/SamuraiScan.kt @@ -2,26 +2,70 @@ package eu.kanade.tachiyomi.extension.es.manhuaonline import eu.kanade.tachiyomi.multisrc.madara.Madara import eu.kanade.tachiyomi.network.interceptor.rateLimit +import okhttp3.Interceptor import okhttp3.OkHttpClient +import okhttp3.Response +import java.net.SocketTimeoutException import java.text.SimpleDateFormat import java.util.Locale class SamuraiScan : Madara( "SamuraiScan", - "https://samuraiscan.cookni.net", + "https://samurai.wordoco.com", "es", SimpleDateFormat("dd MMMM, yyyy", Locale("es")), ) { override val id = 5713083996691468192 override val useLoadMoreRequest = LoadMoreStrategy.Never + override val useNewChapterEndpoint = true override val mangaSubString = "rd" override val client: OkHttpClient = super.client.newBuilder() + .followRedirects(false) + .addInterceptor(::fixFollowRedirects) .rateLimit(3) .build() override val mangaDetailsSelectorDescription = "div.summary_content div.manga-summary" + + // ========================== Utilities ========================= + + private fun fixFollowRedirects(chain: Interceptor.Chain): Response { + val response = chain.proceed(chain.request()) + val location = response.takeIf { it.isRedirect }?.headers?.get("location") + ?: return response + + response.close() + + val sslLocation = location + .replace(SSL_REGEX, "https") + .replace(WWW_REGEX, "") + + mutableListOf(sslLocation, location).forEach { url -> + val newRequest = response.request.newBuilder() + .url(url) + .build() + + val redirectResponse = try { + chain.proceed(newRequest) + } catch (e: SocketTimeoutException) { + return@forEach + } + + if (redirectResponse.isSuccessful.not()) { + redirectResponse.close() + return@forEach + } + return redirectResponse + } + return chain.proceed(chain.request()) + } + + companion object { + val SSL_REGEX = """https?""".toRegex() + val WWW_REGEX = """[wW]{3}\.""".toRegex() + } } diff --git a/src/tr/ruyamanga/build.gradle b/src/tr/ruyamanga/build.gradle index 0aac8df1b..5dcfcdafd 100644 --- a/src/tr/ruyamanga/build.gradle +++ b/src/tr/ruyamanga/build.gradle @@ -2,8 +2,8 @@ ext { extName = 'Rüya Manga' extClass = '.RuyaManga' themePkg = 'madara' - baseUrl = 'https://www.ruya-manga.com' - overrideVersionCode = 3 + baseUrl = 'https://www.ruyamanga2.com' + overrideVersionCode = 4 isNsfw = false } diff --git a/src/tr/ruyamanga/src/eu/kanade/tachiyomi/extension/tr/ruyamanga/RuyaManga.kt b/src/tr/ruyamanga/src/eu/kanade/tachiyomi/extension/tr/ruyamanga/RuyaManga.kt index ac40e425d..66f887ae6 100644 --- a/src/tr/ruyamanga/src/eu/kanade/tachiyomi/extension/tr/ruyamanga/RuyaManga.kt +++ b/src/tr/ruyamanga/src/eu/kanade/tachiyomi/extension/tr/ruyamanga/RuyaManga.kt @@ -6,7 +6,7 @@ import java.util.Locale class RuyaManga : Madara( "Rüya Manga", - "https://www.ruya-manga.com", + "https://www.ruyamanga2.com", "tr", SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH), ) { diff --git a/src/vi/dualeotruyen/build.gradle b/src/vi/dualeotruyen/build.gradle index b1ed344fa..6c8a5adff 100644 --- a/src/vi/dualeotruyen/build.gradle +++ b/src/vi/dualeotruyen/build.gradle @@ -1,7 +1,7 @@ ext { extName = "Dua Leo Truyen" extClass = ".DuaLeoTruyen" - extVersionCode = 7 + extVersionCode = 8 isNsfw = true } diff --git a/src/vi/dualeotruyen/src/eu/kanade/tachiyomi/extension/vi/dualeotruyen/DuaLeoTruyen.kt b/src/vi/dualeotruyen/src/eu/kanade/tachiyomi/extension/vi/dualeotruyen/DuaLeoTruyen.kt index 532b27c24..ec7b7e48e 100644 --- a/src/vi/dualeotruyen/src/eu/kanade/tachiyomi/extension/vi/dualeotruyen/DuaLeoTruyen.kt +++ b/src/vi/dualeotruyen/src/eu/kanade/tachiyomi/extension/vi/dualeotruyen/DuaLeoTruyen.kt @@ -22,7 +22,7 @@ class DuaLeoTruyen : ParsedHttpSource() { override val name = "Dưa Leo Truyện" - override val baseUrl = "https://dualeotruyenbeta.com" + override val baseUrl = "https://dualeotruyenbotz.com" override val lang = "vi"