From 6651c0421b9bc8c2e41b24de43d7b6bd259e2c42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ferm=C3=ADn=20Cirella?= Date: Fri, 12 Jan 2024 22:51:01 -0300 Subject: [PATCH] Anchira - Remove response decrypt (#200) --- src/en/anchira/build.gradle | 2 +- .../tachiyomi/extension/en/anchira/Anchira.kt | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/en/anchira/build.gradle b/src/en/anchira/build.gradle index 0a4dfaaf0..1c3b56ba9 100644 --- a/src/en/anchira/build.gradle +++ b/src/en/anchira/build.gradle @@ -6,7 +6,7 @@ ext { extName = 'Anchira' pkgNameSuffix = 'en.anchira' extClass = '.Anchira' - extVersionCode = 3 + extVersionCode = 4 isNsfw = true } diff --git a/src/en/anchira/src/eu/kanade/tachiyomi/extension/en/anchira/Anchira.kt b/src/en/anchira/src/eu/kanade/tachiyomi/extension/en/anchira/Anchira.kt index 3c1c23543..e7f777f39 100644 --- a/src/en/anchira/src/eu/kanade/tachiyomi/extension/en/anchira/Anchira.kt +++ b/src/en/anchira/src/eu/kanade/tachiyomi/extension/en/anchira/Anchira.kt @@ -6,9 +6,7 @@ import android.content.SharedPreferences import androidx.preference.ListPreference import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreferenceCompat -import eu.kanade.tachiyomi.extension.en.anchira.AnchiraHelper.decodeBytes import eu.kanade.tachiyomi.extension.en.anchira.AnchiraHelper.getPathFromUrl -import eu.kanade.tachiyomi.extension.en.anchira.AnchiraHelper.json import eu.kanade.tachiyomi.extension.en.anchira.AnchiraHelper.prepareTags import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.interceptor.rateLimit @@ -21,6 +19,8 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.model.UpdateStrategy import eu.kanade.tachiyomi.source.online.HttpSource +import kotlinx.serialization.decodeFromString +import kotlinx.serialization.json.Json import kotlinx.serialization.json.decodeFromStream import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.Interceptor @@ -52,6 +52,8 @@ class Anchira : HttpSource(), ConfigurableSource { .addInterceptor { apiInterceptor(it) } .build() + private val json = Json { ignoreUnknownKeys = true } + private val preferences: SharedPreferences by lazy { Injekt.get().getSharedPreferences("source_$id", 0x0000) } @@ -63,7 +65,7 @@ class Anchira : HttpSource(), ConfigurableSource { override fun latestUpdatesRequest(page: Int) = GET("$libraryUrl?page=$page", headers) override fun latestUpdatesParse(response: Response): MangasPage { - val data = decodeBytes(response.body, anchiraData.key) + val data = json.decodeFromString(response.body.string()) return MangasPage( data.entries.map { @@ -154,7 +156,7 @@ class Anchira : HttpSource(), ConfigurableSource { GET("$libraryUrl/${getPathFromUrl(manga.url)}", headers) override fun mangaDetailsParse(response: Response): SManga { - val data = decodeBytes(response.body, anchiraData.key) + val data = json.decodeFromString(response.body.string()) return SManga.create().apply { url = "/g/${data.id}/${data.key}" @@ -182,7 +184,7 @@ class Anchira : HttpSource(), ConfigurableSource { GET("$libraryUrl/${getPathFromUrl(manga.url)}", headers) override fun chapterListParse(response: Response): List { - val data = decodeBytes(response.body, anchiraData.key) + val data = json.decodeFromString(response.body.string()) return listOf( SChapter.create().apply { @@ -202,7 +204,7 @@ class Anchira : HttpSource(), ConfigurableSource { GET("$libraryUrl/${getPathFromUrl(chapter.url)}", headers) override fun pageListParse(response: Response): List { - val data = decodeBytes(response.body, anchiraData.key) + val data = json.decodeFromString(response.body.string()) val imageData = getImageData(data) return imageData.names.mapIndexed { i, name -> @@ -225,7 +227,7 @@ class Anchira : HttpSource(), ConfigurableSource { client.newCall(GET("$libraryUrl/${entry.id}/${entry.key}/data", headers)).execute() val body = response.body - return decodeBytes(body, anchiraData.key) + return json.decodeFromString(response.body.string()) } catch (_: IOException) { throw IOException("Complete a Captcha in the site to continue") }