diff --git a/AnitubeinuaProvider/src/main/kotlin/com/lagradost/AnitubeinuaProvider.kt b/AnitubeinuaProvider/src/main/kotlin/com/lagradost/AnitubeinuaProvider.kt index 33b0057..8fe8c43 100644 --- a/AnitubeinuaProvider/src/main/kotlin/com/lagradost/AnitubeinuaProvider.kt +++ b/AnitubeinuaProvider/src/main/kotlin/com/lagradost/AnitubeinuaProvider.kt @@ -3,13 +3,14 @@ package com.lagradost import android.util.Log import com.lagradost.models.PlayerJson import com.lagradost.cloudstream3.* -import com.lagradost.cloudstream3.LoadResponse.Companion.addActors -import com.lagradost.cloudstream3.LoadResponse.Companion.addTrailer -import com.lagradost.cloudstream3.utils.AppUtils.toJson import com.lagradost.cloudstream3.utils.AppUtils.tryParseJson import com.lagradost.cloudstream3.utils.ExtractorLink import com.lagradost.cloudstream3.utils.M3u8Helper +import okio.ByteString.Companion.decodeBase64 +import okio.ByteString.Companion.decodeHex +import okio.ByteString.Companion.encodeUtf8 import org.jsoup.nodes.Element +import java.nio.charset.Charset class AnitubeinuaProvider : MainAPI() { @@ -93,10 +94,28 @@ class AnitubeinuaProvider : MainAPI() { // 12 - json with episodes // Players, Episodes, Number of episodes // TODO: Parse Episodes - val playerScriptJson = document.select("script")[12].html().substringAfterLast(".init(").substringBefore(");") - val playerNames = playerScriptJson.substringAfterLast("],") - val numberOfEpisodes = playerScriptJson.substringAfterLast(",") - Log.d("load-debug", playerScriptJson.substringAfterLast(",")) + document.select("script").map{ script -> + if (script.data().contains("RalodePlayer.init(")) { + val playerScriptRawJson = script.data().substringAfterLast(".init(").substringBefore(");") + val playerEpisodesRawJson = playerScriptRawJson.substringAfter("],").substringBeforeLast(",") + val playerNamesArray = (playerScriptRawJson.substringBefore("],") + "]").dropLast(1).drop(1).split(",") + val numberOfEpisodesInt = playerScriptRawJson.substringAfterLast(",").toIntOrNull() + Log.d("load-debug", playerNamesArray[0].dropLast(1).drop(1)) + + // TODO: Decode string + Log.d("load-debug", decode(playerNamesArray[0])) + val playerJson = tryParseJson>>(playerEpisodesRawJson)!! + for(item in playerJson) { + for (item2 in item) { + //Log.d("load-debug", item2.name) + } + } + } + + } //.substringAfterLast(".init(").substringBefore(");") + + + var episodes: List = emptyList() @@ -138,23 +157,9 @@ class AnitubeinuaProvider : MainAPI() { .substringAfterLast("file:\'") .substringBefore("\',") - tryParseJson>(playerRawJson)?.map { dubs -> // Dubs - for(season in dubs.folder){ // Seasons - if(season.title == dataList[0]){ - for(episode in season.folder){ // Episodes - if(episode.title == dataList[1]){ - // Add as source - M3u8Helper.generateM3u8( - source = dubs.title, - streamUrl = episode.file, - referer = "https://tortuga.wtf/" - ).forEach(callback) - } - } - } - } - } + return true } + fun decode(input: String): String = java.net.URLDecoder.decode(input, "utf-16") } \ No newline at end of file diff --git a/AnitubeinuaProvider/src/main/kotlin/com/lagradost/models/PlayerJson.kt b/AnitubeinuaProvider/src/main/kotlin/com/lagradost/models/PlayerJson.kt index 163dd77..c6cdcbc 100644 --- a/AnitubeinuaProvider/src/main/kotlin/com/lagradost/models/PlayerJson.kt +++ b/AnitubeinuaProvider/src/main/kotlin/com/lagradost/models/PlayerJson.kt @@ -2,21 +2,8 @@ package com.lagradost.models data class PlayerJson ( - val title : String, - val folder : List -) - -data class Season ( - - val title : String, - val folder : List -) - -data class Episode ( - - val title : String, - val file : String, - val id : String, - val poster : String, - val subtitle : String, + val name : String, // Серія 0 + val code : String, // iframe block + val zid : Int, + val sid : Int )