From 93ce6ec7179fff0bdc3800e0cd80df913f486c4d Mon Sep 17 00:00:00 2001 From: Agung Watanabe <52477630+uragiristereo@users.noreply.github.com> Date: Mon, 5 Aug 2024 21:12:06 +0700 Subject: [PATCH] Fix Aniwave Vidstream & MegaF sources (#108) * VidSrc-Extractor: Update extraction logic * Aniwave: Fix server name * Aniwave: Bump version code --- .../lib/vidsrcextractor/VidSrcExtractor.kt | 134 +++++++----------- src/en/nineanime/build.gradle | 2 +- .../animeextension/en/nineanime/Aniwave.kt | 5 +- 3 files changed, 53 insertions(+), 88 deletions(-) diff --git a/lib/vidsrc-extractor/src/main/java/eu/kanade/tachiyomi/lib/vidsrcextractor/VidSrcExtractor.kt b/lib/vidsrc-extractor/src/main/java/eu/kanade/tachiyomi/lib/vidsrcextractor/VidSrcExtractor.kt index aecda1f6..c6cf9db4 100644 --- a/lib/vidsrc-extractor/src/main/java/eu/kanade/tachiyomi/lib/vidsrcextractor/VidSrcExtractor.kt +++ b/lib/vidsrc-extractor/src/main/java/eu/kanade/tachiyomi/lib/vidsrcextractor/VidSrcExtractor.kt @@ -1,18 +1,19 @@ package eu.kanade.tachiyomi.lib.vidsrcextractor import android.util.Base64 -import app.cash.quickjs.QuickJs import eu.kanade.tachiyomi.animesource.model.Track import eu.kanade.tachiyomi.animesource.model.Video import eu.kanade.tachiyomi.lib.playlistutils.PlaylistUtils +import eu.kanade.tachiyomi.lib.vidsrcextractor.MediaResponseBody.Result import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.util.parseAs import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable -import okhttp3.CacheControl +import kotlinx.serialization.json.Json import okhttp3.Headers import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.OkHttpClient +import uy.kohesive.injekt.injectLazy import java.net.URLDecoder import javax.crypto.Cipher import javax.crypto.spec.SecretKeySpec @@ -21,54 +22,32 @@ import javax.crypto.spec.SecretKeySpec class VidsrcExtractor(private val client: OkHttpClient, private val headers: Headers) { private val playlistUtils by lazy { PlaylistUtils(client, headers) } + private val json: Json by injectLazy() - private val cacheControl = CacheControl.Builder().noStore().build() - private val noCacheClient = client.newBuilder() - .cache(null) - .build() - - private val keys by lazy { - noCacheClient.newCall( - GET("https://raw.githubusercontent.com/KillerDogeEmpire/vidplay-keys/keys/keys.json", cache = cacheControl), - ).execute().parseAs>() - } - - fun videosFromUrl(embedLink: String, hosterName: String, type: String = "", subtitleList: List = emptyList()): List