From 424f04dda5d7bf3797fe8628e9f8a4d57d1e0aed Mon Sep 17 00:00:00 2001 From: Dark25 Date: Mon, 19 Aug 2024 23:13:40 +0200 Subject: [PATCH] Fix(en/Aniwave): fix encryption --- src/en/nineanime/build.gradle | 2 +- .../animeextension/en/nineanime/Aniwave.kt | 20 ++-- .../en/nineanime/AniwaveUtils.kt | 105 ++++++++++++++++-- 3 files changed, 106 insertions(+), 21 deletions(-) diff --git a/src/en/nineanime/build.gradle b/src/en/nineanime/build.gradle index 88b81902..728eee5b 100644 --- a/src/en/nineanime/build.gradle +++ b/src/en/nineanime/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Aniwave' extClass = '.Aniwave' - extVersionCode = 74 + extVersionCode = 75 } apply from: "$rootDir/common.gradle" diff --git a/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/Aniwave.kt b/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/Aniwave.kt index b40fc5bb..c9d85d87 100644 --- a/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/Aniwave.kt +++ b/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/Aniwave.kt @@ -2,7 +2,6 @@ package eu.kanade.tachiyomi.animeextension.en.nineanime import android.app.Application import android.content.SharedPreferences -import android.util.Log import android.webkit.URLUtil import android.widget.Toast import androidx.preference.EditTextPreference @@ -97,7 +96,7 @@ class Aniwave : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun searchAnimeRequest(page: Int, query: String, filters: AnimeFilterList): Request { val filters = AniwaveFilters.getSearchParameters(filters) - val vrf = if (query.isNotBlank()) utils.vrfEncrypt(ENCRYPTION_KEY, query) else "" + val vrf = if (query.isNotBlank()) utils.vrfEncrypt(query) else "" var url = "$baseUrl/filter?keyword=$query" if (filters.genre.isNotBlank()) url += filters.genre @@ -150,13 +149,12 @@ class Aniwave : ConfigurableAnimeSource, ParsedAnimeHttpSource() { // ============================== Episodes ============================== override fun episodeListRequest(anime: SAnime): Request { - Log.i(name, "episodeListRequest") val response = client.newCall(GET(baseUrl + anime.url)).execute() var document = response.asJsoup() document = resolveSearchAnime(anime, document) val id = document.selectFirst("div[data-id]")?.attr("data-id") ?: throw Exception("ID not found") - val vrf = utils.vrfEncrypt(ENCRYPTION_KEY, id) + val vrf = utils.vrfEncrypt(id) val listHeaders = headers.newBuilder().apply { add("Accept", "application/json, text/javascript, */*; q=0.01") @@ -212,7 +210,7 @@ class Aniwave : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun videoListRequest(episode: SEpisode): Request { val ids = episode.url.substringBefore("&") - val vrf = utils.vrfEncrypt(ENCRYPTION_KEY, ids) + val vrf = utils.vrfEncrypt(ids) val url = "/ajax/server/list/$ids?vrf=$vrf" val epurl = episode.url.substringAfter("epurl=") @@ -265,7 +263,7 @@ class Aniwave : ConfigurableAnimeSource, ParsedAnimeHttpSource() { private val mp4uploadExtractor by lazy { Mp4uploadExtractor(client) } private fun extractVideo(server: VideoData, epUrl: String): List