From aa2b5807d507c99b50ea7568d7749cc3b432fdff Mon Sep 17 00:00:00 2001 From: WebDitto Date: Wed, 16 Oct 2024 14:17:48 -0300 Subject: [PATCH] feat: Added new lib extractor: fireplayer-extractor --- lib/fireplayer-extractor/build.gradle.kts | 10 +++++ .../FireplayerExtractor.kt | 43 +++++++++++-------- src/pt/vizer/build.gradle | 1 + .../animeextension/pt/vizer/Vizer.kt | 9 ++-- 4 files changed, 41 insertions(+), 22 deletions(-) create mode 100644 lib/fireplayer-extractor/build.gradle.kts rename {src/pt/vizer/src/eu/kanade/tachiyomi/animeextension/pt/vizer/extractors => lib/fireplayer-extractor/src/main/java/eu/kanade/tachiyomi/lib/fireplayerextractor}/FireplayerExtractor.kt (51%) diff --git a/lib/fireplayer-extractor/build.gradle.kts b/lib/fireplayer-extractor/build.gradle.kts new file mode 100644 index 00000000..b102264b --- /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/src/pt/vizer/src/eu/kanade/tachiyomi/animeextension/pt/vizer/extractors/FireplayerExtractor.kt b/lib/fireplayer-extractor/src/main/java/eu/kanade/tachiyomi/lib/fireplayerextractor/FireplayerExtractor.kt similarity index 51% rename from src/pt/vizer/src/eu/kanade/tachiyomi/animeextension/pt/vizer/extractors/FireplayerExtractor.kt rename to lib/fireplayer-extractor/src/main/java/eu/kanade/tachiyomi/lib/fireplayerextractor/FireplayerExtractor.kt index 1dc111f0..f9735def 100644 --- a/src/pt/vizer/src/eu/kanade/tachiyomi/animeextension/pt/vizer/extractors/FireplayerExtractor.kt +++ b/lib/fireplayer-extractor/src/main/java/eu/kanade/tachiyomi/lib/fireplayerextractor/FireplayerExtractor.kt @@ -1,4 +1,4 @@ -package eu.kanade.tachiyomi.animeextension.pt.vizer.extractors +package eu.kanade.tachiyomi.lib.fireplayerextractor import dev.datlag.jsunpacker.JsUnpacker import eu.kanade.tachiyomi.animesource.model.Video @@ -8,31 +8,36 @@ 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 host: String = "https://embedplayer.online") { - private val headers by lazy { - Headers.headersOf( - "X-Requested-With", - "XMLHttpRequest", - "Referer", - host, - "Origin", - host, - ) - } +class FireplayerExtractor( + private val client: OkHttpClient, + private val defaultHost: String? = null, +) { + fun videosFromUrl( + url: String, + videoNameGen: (String) -> String = { quality -> quality }, + videoHost: String? = null, + ): List