diff --git a/src/id/kuronime/build.gradle b/src/id/kuronime/build.gradle index ebaa5d211..77af14c89 100644 --- a/src/id/kuronime/build.gradle +++ b/src/id/kuronime/build.gradle @@ -1,12 +1,17 @@ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' +apply plugin: 'kotlinx-serialization' ext { extName = 'Kuronime' pkgNameSuffix = 'id.kuronime' extClass = '.Kuronime' - extVersionCode = 4 + extVersionCode = 5 libVersion = '13' } +dependencies { + implementation "dev.datlag.jsunpacker:jsunpacker:1.0.1" +} + apply from: "$rootDir/common.gradle" diff --git a/src/id/kuronime/src/eu/kanade/tachiyomi/animeextension/id/kuronime/Kuronime.kt b/src/id/kuronime/src/eu/kanade/tachiyomi/animeextension/id/kuronime/Kuronime.kt index efd3b9cef..37d314420 100644 --- a/src/id/kuronime/src/eu/kanade/tachiyomi/animeextension/id/kuronime/Kuronime.kt +++ b/src/id/kuronime/src/eu/kanade/tachiyomi/animeextension/id/kuronime/Kuronime.kt @@ -2,8 +2,16 @@ package eu.kanade.tachiyomi.animeextension.id.kuronime import android.app.Application import android.content.SharedPreferences +import android.util.Base64 import androidx.preference.ListPreference +import androidx.preference.MultiSelectListPreference import androidx.preference.PreferenceScreen +import eu.kanade.tachiyomi.animeextension.id.kuronime.extractors.AnimekuExtractor +import eu.kanade.tachiyomi.animeextension.id.kuronime.extractors.HxFileExtractor +import eu.kanade.tachiyomi.animeextension.id.kuronime.extractors.LinkBoxExtractor +import eu.kanade.tachiyomi.animeextension.id.kuronime.extractors.Mp4uploadExtractor +import eu.kanade.tachiyomi.animeextension.id.kuronime.extractors.StreamlareExtractor +import eu.kanade.tachiyomi.animeextension.id.kuronime.extractors.YourUploadExtractor import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource import eu.kanade.tachiyomi.animesource.model.AnimeFilterList import eu.kanade.tachiyomi.animesource.model.SAnime @@ -14,6 +22,7 @@ import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.util.asJsoup import okhttp3.Request import okhttp3.Response +import org.jsoup.Jsoup import org.jsoup.nodes.Document import org.jsoup.nodes.Element import uy.kohesive.injekt.Injekt @@ -76,7 +85,14 @@ class Kuronime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { private fun getAnimeFromAnimeElement(element: Element): SAnime { val anime = SAnime.create() anime.setUrlWithoutDomain(element.select("div > a").first().attr("href")) - anime.thumbnail_url = element.select("div > a > div.limit > img").first().attr("src") + + val thumbnailElement = element.selectFirst("div > a > div.limit > img") + val thumbnail = thumbnailElement.attr("src") + anime.thumbnail_url = if (thumbnail.startsWith("https:")) { + thumbnail + } else { + if (thumbnailElement.hasAttr("data-src")) thumbnailElement.attr("data-src") else "" + } anime.title = element.select("div > a > div.tt > h4").text() return anime } @@ -90,7 +106,7 @@ class Kuronime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun popularAnimeNextPageSelector(): String = "div.pagination > a.next" - override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/anime/?page=$page") + override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/anime/page/$page") override fun popularAnimeSelector(): String = "div.listupd > article" @@ -107,39 +123,51 @@ class Kuronime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun videoListParse(response: Response): List