2023-07-24 14:25:57 +00:00
|
|
|
package com.hexated
|
|
|
|
|
|
|
|
import com.fasterxml.jackson.annotation.JsonProperty
|
|
|
|
import com.lagradost.cloudstream3.SubtitleFile
|
|
|
|
import com.lagradost.cloudstream3.app
|
|
|
|
import com.lagradost.cloudstream3.utils.ExtractorApi
|
|
|
|
import com.lagradost.cloudstream3.utils.ExtractorLink
|
2023-11-16 19:55:54 +00:00
|
|
|
import com.lagradost.cloudstream3.utils.INFER_TYPE
|
2023-07-24 14:25:57 +00:00
|
|
|
import com.lagradost.cloudstream3.utils.Qualities
|
|
|
|
|
|
|
|
open class Mitedrive : ExtractorApi() {
|
|
|
|
override val name = "Mitedrive"
|
|
|
|
override val mainUrl = "https://mitedrive.com"
|
|
|
|
override val requiresReferer = false
|
|
|
|
|
|
|
|
override suspend fun getUrl(
|
|
|
|
url: String,
|
|
|
|
referer: String?,
|
|
|
|
subtitleCallback: (SubtitleFile) -> Unit,
|
|
|
|
callback: (ExtractorLink) -> Unit
|
|
|
|
) {
|
|
|
|
val id = url.substringAfterLast("/")
|
|
|
|
val video = app.post(
|
2023-11-16 19:55:54 +00:00
|
|
|
"https://api.mitedrive.com/api/view/$id",
|
2023-07-24 14:25:57 +00:00
|
|
|
referer = "$mainUrl/",
|
|
|
|
data = mapOf(
|
2023-11-16 19:55:54 +00:00
|
|
|
"csrf_token" to "ZXlKcGNDSTZJak0yTGpneExqWTFMakUyTWlJc0ltUmxkbWxqWlNJNklrMXZlbWxzYkdFdk5TNHdJQ2hYYVc1a2IzZHpJRTVVSURFd0xqQTdJRmRwYmpZME95QjROalE3SUhKMk9qRXdNUzR3S1NCSFpXTnJieTh5TURFd01ERXdNU0JHYVhKbFptOTRMekV3TVM0d0lpd2lZbkp2ZDNObGNpSTZJazF2ZW1sc2JHRWlMQ0pqYjI5cmFXVWlPaUlpTENKeVpXWmxjbkpsY2lJNklpSjk=",
|
|
|
|
"slug" to id
|
2023-07-24 14:25:57 +00:00
|
|
|
)
|
|
|
|
).parsedSafe<Responses>()?.data?.url
|
|
|
|
|
|
|
|
callback.invoke(
|
|
|
|
ExtractorLink(
|
|
|
|
this.name,
|
|
|
|
this.name,
|
|
|
|
video ?: return,
|
2023-11-16 19:55:54 +00:00
|
|
|
"$mainUrl/",
|
2023-07-24 14:25:57 +00:00
|
|
|
Qualities.Unknown.value,
|
2023-11-16 19:55:54 +00:00
|
|
|
INFER_TYPE,
|
2023-07-24 14:25:57 +00:00
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
data class Data(
|
2023-11-16 19:55:54 +00:00
|
|
|
@JsonProperty("original_url") val url: String? = null,
|
2023-07-24 14:25:57 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
data class Responses(
|
|
|
|
@JsonProperty("data") val data: Data? = null,
|
|
|
|
)
|
|
|
|
|
2024-01-15 13:04:54 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
open class Berkasdrive : ExtractorApi() {
|
|
|
|
override val name = "Berkasdrive"
|
|
|
|
override val mainUrl = "https://dl.berkasdrive.com"
|
|
|
|
override val requiresReferer = true
|
|
|
|
|
|
|
|
override suspend fun getUrl(
|
|
|
|
url: String,
|
|
|
|
referer: String?,
|
|
|
|
subtitleCallback: (SubtitleFile) -> Unit,
|
|
|
|
callback: (ExtractorLink) -> Unit
|
|
|
|
) {
|
|
|
|
val res = app.get(url, referer = referer).document
|
|
|
|
val video = res.select("video#player source").attr("src")
|
|
|
|
|
|
|
|
callback.invoke(
|
|
|
|
ExtractorLink(
|
|
|
|
this.name,
|
|
|
|
this.name,
|
|
|
|
video,
|
|
|
|
"$mainUrl/",
|
|
|
|
Qualities.Unknown.value,
|
|
|
|
INFER_TYPE
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2023-07-24 14:25:57 +00:00
|
|
|
}
|