diff --git a/src/es/jkanime/build.gradle b/src/es/jkanime/build.gradle index 6a774799..07cf9550 100644 --- a/src/es/jkanime/build.gradle +++ b/src/es/jkanime/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Jkanime' extClass = '.Jkanime' - extVersionCode = 25 + extVersionCode = 26 } apply from: "$rootDir/common.gradle" @@ -14,4 +14,6 @@ dependencies { implementation(project(':lib:filemoon-extractor')) implementation(project(':lib:streamtape-extractor')) implementation(project(':lib:voe-extractor')) + implementation(project(':lib:vidhide-extractor')) + implementation 'org.mozilla:rhino:1.7.14' } diff --git a/src/es/jkanime/src/eu/kanade/tachiyomi/animeextension/es/jkanime/Jkanime.kt b/src/es/jkanime/src/eu/kanade/tachiyomi/animeextension/es/jkanime/Jkanime.kt index bf4fbb3d..0b305cb4 100644 --- a/src/es/jkanime/src/eu/kanade/tachiyomi/animeextension/es/jkanime/Jkanime.kt +++ b/src/es/jkanime/src/eu/kanade/tachiyomi/animeextension/es/jkanime/Jkanime.kt @@ -20,16 +20,21 @@ import eu.kanade.tachiyomi.lib.mp4uploadextractor.Mp4uploadExtractor import eu.kanade.tachiyomi.lib.okruextractor.OkruExtractor import eu.kanade.tachiyomi.lib.streamtapeextractor.StreamTapeExtractor import eu.kanade.tachiyomi.lib.streamwishextractor.StreamWishExtractor +import eu.kanade.tachiyomi.lib.vidhideextractor.VidHideExtractor import eu.kanade.tachiyomi.lib.voeextractor.VoeExtractor import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.util.asJsoup import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking import eu.kanade.tachiyomi.util.parseAs +import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable +import kotlinx.serialization.json.Json import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element +import org.mozilla.javascript.Context +import org.mozilla.javascript.Scriptable import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get @@ -43,6 +48,13 @@ class Jkanime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override val supportsLatest = true + private val json = Json { + ignoreUnknownKeys = true + isLenient = true + prettyPrint = true + coerceInputValues = true + } + private val preferences: SharedPreferences by lazy { Injekt.get().getSharedPreferences("source_$id", 0x0000) } @@ -172,6 +184,7 @@ class Jkanime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { private val mp4uploadExtractor by lazy { Mp4uploadExtractor(client) } private val mixDropExtractor by lazy { MixDropExtractor(client) } private val streamWishExtractor by lazy { StreamWishExtractor(client, headers) } + private val vidHideExtractor by lazy { VidHideExtractor(client, headers) } private val jkanimeExtractor by lazy { JkanimeExtractor(client) } override fun videoListParse(response: Response): List