Initial commit

This commit is contained in:
almightyhak 2024-06-20 11:54:12 +07:00
commit 98ed7e8839
2263 changed files with 108711 additions and 0 deletions

View file

@ -0,0 +1,7 @@
plugins {
id("lib-android")
}
dependencies {
implementation(project(":lib:playlist-utils"))
}

View file

@ -0,0 +1,29 @@
package eu.kanade.tachiyomi.lib.sendvidextractor
import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.lib.playlistutils.PlaylistUtils
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import okhttp3.Headers
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.OkHttpClient
class SendvidExtractor(private val client: OkHttpClient, private val headers: Headers) {
private val playlistUtils by lazy { PlaylistUtils(client, headers) }
fun videosFromUrl(url: String, prefix: String = ""): List<Video> {
val document = client.newCall(GET(url, headers)).execute().asJsoup()
val masterUrl = document.selectFirst("source#video_source")?.attr("src") ?: return emptyList()
return if (masterUrl.contains(".m3u8")) {
playlistUtils.extractFromHls(masterUrl, url, videoNameGen = { prefix + "Sendvid:$it" })
} else {
val httpUrl = "https://${url.toHttpUrl()}"
val newHeaders = headers.newBuilder()
.set("Origin", httpUrl)
.set("Referer", "$httpUrl/")
.build()
listOf(Video(masterUrl, prefix + "Sendvid:default", masterUrl, newHeaders))
}
}
}