diff --git a/src/zh/copymanga/build.gradle b/src/zh/copymanga/build.gradle index e6a0fb0b2..3dd510c3e 100644 --- a/src/zh/copymanga/build.gradle +++ b/src/zh/copymanga/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'CopyManga' pkgNameSuffix = 'zh.copymanga' extClass = '.CopyManga' - extVersionCode = 7 + extVersionCode = 8 libVersion = '1.2' } apply from: "$rootDir/common.gradle" diff --git a/src/zh/copymanga/src/eu/kanade/tachiyomi/extension/zh/copymanga/CopyManga.kt b/src/zh/copymanga/src/eu/kanade/tachiyomi/extension/zh/copymanga/CopyManga.kt index a8744b380..d8ca2b0e4 100644 --- a/src/zh/copymanga/src/eu/kanade/tachiyomi/extension/zh/copymanga/CopyManga.kt +++ b/src/zh/copymanga/src/eu/kanade/tachiyomi/extension/zh/copymanga/CopyManga.kt @@ -16,6 +16,7 @@ import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.util.asJsoup import okhttp3.HttpUrl +import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.Response import org.json.JSONArray @@ -23,12 +24,16 @@ import org.json.JSONObject 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.Date import java.util.Locale import javax.crypto.Cipher import javax.crypto.spec.IvParameterSpec import javax.crypto.spec.SecretKeySpec +import javax.net.ssl.SSLContext +import javax.net.ssl.X509TrustManager import kotlin.collections.ArrayList class CopyManga : ConfigurableSource, HttpSource() { @@ -42,6 +47,24 @@ class CopyManga : ConfigurableSource, HttpSource() { private val preferences: SharedPreferences by lazy { Injekt.get().getSharedPreferences("source_$id", 0x0000) } + private val trustManager = object : X509TrustManager { + override fun getAcceptedIssuers(): Array { + return emptyArray() + } + + override fun checkClientTrusted(chain: Array, authType: String) { + } + + override fun checkServerTrusted(chain: Array, authType: String) { + } + } + private val sslContext = SSLContext.getInstance("SSL").apply { + init(null, arrayOf(trustManager), SecureRandom()) + } + + override val client: OkHttpClient = super.client.newBuilder() + .sslSocketFactory(sslContext.socketFactory, trustManager) + .build() override fun popularMangaRequest(page: Int) = GET("$baseUrl/comics?ordering=-popular&offset=${(page - 1) * popularLatestPageSize}&limit=$popularLatestPageSize", headers) override fun popularMangaParse(response: Response): MangasPage = parseSearchMangaWithFilterOrPopularOrLatestResponse(response)