diff --git a/lib/fireplayer-extractor/build.gradle.kts b/lib/fireplayer-extractor/build.gradle.kts new file mode 100644 index 000000000..b102264b2 --- /dev/null +++ b/lib/fireplayer-extractor/build.gradle.kts @@ -0,0 +1,10 @@ +plugins { + id("lib-android") +} + +dependencies { + implementation("dev.datlag.jsunpacker:jsunpacker:1.0.1") { + exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib-jdk8") + } + implementation(project(":lib:playlist-utils")) +} diff --git a/lib/fireplayer-extractor/src/main/java/eu/kanade/tachiyomi/lib/fireplayerextractor/FireplayerExtractor.kt b/lib/fireplayer-extractor/src/main/java/eu/kanade/tachiyomi/lib/fireplayerextractor/FireplayerExtractor.kt new file mode 100644 index 000000000..f9735def4 --- /dev/null +++ b/lib/fireplayer-extractor/src/main/java/eu/kanade/tachiyomi/lib/fireplayerextractor/FireplayerExtractor.kt @@ -0,0 +1,63 @@ +package eu.kanade.tachiyomi.lib.fireplayerextractor + +import dev.datlag.jsunpacker.JsUnpacker +import eu.kanade.tachiyomi.animesource.model.Video +import eu.kanade.tachiyomi.lib.playlistutils.PlaylistUtils +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.network.POST +import eu.kanade.tachiyomi.util.asJsoup +import okhttp3.FormBody +import okhttp3.Headers +import okhttp3.HttpUrl.Companion.toHttpUrl +import okhttp3.OkHttpClient + +class FireplayerExtractor( + private val client: OkHttpClient, + private val defaultHost: String? = null, +) { + fun videosFromUrl( + url: String, + videoNameGen: (String) -> String = { quality -> quality }, + videoHost: String? = null, + ): List