diff --git a/src/en/holymanga/build.gradle b/src/en/holymanga/build.gradle index d4487c5d4..59d09493a 100644 --- a/src/en/holymanga/build.gradle +++ b/src/en/holymanga/build.gradle @@ -2,8 +2,8 @@ ext { extName = 'HolyManga' extClass = '.HolyManga' themePkg = 'zbulu' - baseUrl = 'https://w30.holymanga.net' - overrideVersionCode = 2 + baseUrl = 'https://w33.holymanga.net' + overrideVersionCode = 3 isNsfw = true } diff --git a/src/en/holymanga/src/eu/kanade/tachiyomi/extension/en/holymanga/HolyManga.kt b/src/en/holymanga/src/eu/kanade/tachiyomi/extension/en/holymanga/HolyManga.kt index 6c40522c4..529a7dfe0 100644 --- a/src/en/holymanga/src/eu/kanade/tachiyomi/extension/en/holymanga/HolyManga.kt +++ b/src/en/holymanga/src/eu/kanade/tachiyomi/extension/en/holymanga/HolyManga.kt @@ -2,4 +2,4 @@ package eu.kanade.tachiyomi.extension.en.holymanga import eu.kanade.tachiyomi.multisrc.zbulu.Zbulu -class HolyManga : Zbulu("HolyManga", "https://w30.holymanga.net", "en") +class HolyManga : Zbulu("HolyManga", "https://w33.holymanga.net", "en") diff --git a/src/es/nekoscans/build.gradle b/src/es/nekoscans/build.gradle index 507b36271..437b3579a 100644 --- a/src/es/nekoscans/build.gradle +++ b/src/es/nekoscans/build.gradle @@ -2,8 +2,8 @@ ext { extName = 'NekoScans' extClass = '.NekoScans' themePkg = 'zeistmanga' - baseUrl = 'https://nekoscanlationlector.blogspot.com' - overrideVersionCode = 22 + baseUrl = 'https://www.nekoscans.org' + overrideVersionCode = 23 isNsfw = true } diff --git a/src/es/nekoscans/src/eu/kanade/tachiyomi/extension/es/nekoscans/NekoScans.kt b/src/es/nekoscans/src/eu/kanade/tachiyomi/extension/es/nekoscans/NekoScans.kt index 3cb35dc05..d69d2fed2 100644 --- a/src/es/nekoscans/src/eu/kanade/tachiyomi/extension/es/nekoscans/NekoScans.kt +++ b/src/es/nekoscans/src/eu/kanade/tachiyomi/extension/es/nekoscans/NekoScans.kt @@ -2,14 +2,12 @@ package eu.kanade.tachiyomi.extension.es.nekoscans import eu.kanade.tachiyomi.multisrc.zeistmanga.ZeistManga import eu.kanade.tachiyomi.network.interceptor.rateLimit -import eu.kanade.tachiyomi.source.model.SManga -import eu.kanade.tachiyomi.util.asJsoup import okhttp3.Response import java.util.concurrent.TimeUnit class NekoScans : ZeistManga( "NekoScans", - "https://nekoscanlationlector.blogspot.com", + "https://www.nekoscans.org", "es", ) { // Theme changed from MangaThemesia to ZeistManga @@ -25,20 +23,5 @@ class NekoScans : ZeistManga( override fun popularMangaParse(response: Response) = latestUpdatesParse(response) override val supportsLatest = false - override fun mangaDetailsParse(response: Response) = SManga.create().apply { - val document = response.asJsoup() - document.selectFirst("header[itemprop=mainEntity]")!!.let { element -> - title = element.selectFirst("h1[itemprop=name]")!!.text() - thumbnail_url = element.selectFirst("img[itemprop=image]")!!.attr("src") - status = parseStatus(element.selectFirst("span[data-status]")!!.text()) - genre = element.select("dl:has(dt:contains(Genre)) > dd > a[rel=tag]").joinToString { it.text() } - } - description = document.selectFirst("#synopsis, #sinop")!!.text() - document.selectFirst("div#extra-info")?.let { element -> - author = element.selectFirst("dl:has(dt:contains(Autor)) > dd")!!.text() - artist = element.selectFirst("dl:has(dt:contains(Artista)) > dd")!!.text() - } - } - override val pageListSelector = "div#readarea img" } diff --git a/src/vi/umetruyen/build.gradle b/src/vi/umetruyen/build.gradle index 10b21b8a8..5acc04f14 100644 --- a/src/vi/umetruyen/build.gradle +++ b/src/vi/umetruyen/build.gradle @@ -2,8 +2,8 @@ ext { extName = "UmeTruyen" extClass = ".UmeTruyen" themePkg = "manhwaz" - baseUrl = "https://umetruyenz.com" - overrideVersionCode = 1 + baseUrl = "https://umetruyenhay.net" + overrideVersionCode = 2 isNsfw = true } diff --git a/src/vi/umetruyen/src/eu/kanade/tachiyomi/extension/vi/umetruyen/UmeTruyen.kt b/src/vi/umetruyen/src/eu/kanade/tachiyomi/extension/vi/umetruyen/UmeTruyen.kt index c7be63acb..f4b86719c 100644 --- a/src/vi/umetruyen/src/eu/kanade/tachiyomi/extension/vi/umetruyen/UmeTruyen.kt +++ b/src/vi/umetruyen/src/eu/kanade/tachiyomi/extension/vi/umetruyen/UmeTruyen.kt @@ -4,7 +4,7 @@ import eu.kanade.tachiyomi.multisrc.manhwaz.ManhwaZ class UmeTruyen : ManhwaZ( "UmeTruyen", - "https://umetruyenz.com", + "https://umetruyenhay.net", "vi", mangaDetailsAuthorHeading = "Tác giả", mangaDetailsStatusHeading = "Trạng thái", diff --git a/src/vi/ungtycomics/build.gradle b/src/vi/ungtycomics/build.gradle index 7f8af4794..52af10d74 100644 --- a/src/vi/ungtycomics/build.gradle +++ b/src/vi/ungtycomics/build.gradle @@ -1,7 +1,7 @@ ext { extName = "Ung Ty Comics" extClass = ".UngTyComics" - extVersionCode = 1 + extVersionCode = 2 isNsfw = true } diff --git a/src/vi/ungtycomics/src/eu/kanade/tachiyomi/extension/vi/ungtycomics/UngTyComics.kt b/src/vi/ungtycomics/src/eu/kanade/tachiyomi/extension/vi/ungtycomics/UngTyComics.kt index cfb02d2b1..ccdebde70 100644 --- a/src/vi/ungtycomics/src/eu/kanade/tachiyomi/extension/vi/ungtycomics/UngTyComics.kt +++ b/src/vi/ungtycomics/src/eu/kanade/tachiyomi/extension/vi/ungtycomics/UngTyComics.kt @@ -1,5 +1,6 @@ package eu.kanade.tachiyomi.extension.vi.ungtycomics +import android.annotation.SuppressLint import android.app.Application import android.widget.Toast import androidx.preference.ListPreference @@ -15,14 +16,20 @@ import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup import okhttp3.HttpUrl.Companion.toHttpUrl +import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get +import java.security.SecureRandom +import java.security.cert.X509Certificate import java.text.SimpleDateFormat import java.util.Locale +import javax.net.ssl.SSLContext +import javax.net.ssl.TrustManager +import javax.net.ssl.X509TrustManager class UngTyComics : ParsedHttpSource(), ConfigurableSource { @@ -45,8 +52,25 @@ class UngTyComics : ParsedHttpSource(), ConfigurableSource { override val client = network.cloudflareClient.newBuilder() .rateLimitHost(baseUrl.toHttpUrl(), 2) + .ignoreAllSSLErrors() .build() + private fun OkHttpClient.Builder.ignoreAllSSLErrors(): OkHttpClient.Builder { + val naiveTrustManager = @SuppressLint("CustomX509TrustManager") + object : X509TrustManager { + override fun getAcceptedIssuers(): Array = emptyArray() + override fun checkClientTrusted(certs: Array, authType: String) = Unit + override fun checkServerTrusted(certs: Array, authType: String) = Unit + } + val insecureSocketFactory = SSLContext.getInstance("TLSv1.2").apply { + val trustAllCerts = arrayOf(naiveTrustManager) + init(null, trustAllCerts, SecureRandom()) + }.socketFactory + sslSocketFactory(insecureSocketFactory, naiveTrustManager) + hostnameVerifier { _, _ -> true } + return this + } + override fun headersBuilder() = super.headersBuilder() .add("Referer", "$baseUrl/") @@ -184,7 +208,7 @@ class UngTyComics : ParsedHttpSource(), ConfigurableSource { } private const val PREF_BASE_URL = "baseUrl" -private val MIRRORS = arrayOf("https://ungtycomicsvip.com", "https://topdammy.com") +private val MIRRORS = arrayOf("https://www.ungtycomics.io", "https://ungtycomicsvip.com", "https://topdammy.com") private val DATE_FORMAT = SimpleDateFormat("dd-MM-yyyy", Locale.ROOT) private class GenreFilter(val genres: List) : Filter.Select(