9goal 👍 (#60)

This commit is contained in:
Zaw 2022-11-30 20:24:51 +03:00 committed by GitHub
parent 2faa926b2d
commit 24336c1fb9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 12 deletions

View file

@ -1,4 +1,4 @@
version = 4
version = 5
cloudstream {
description = ""

View file

@ -5,6 +5,7 @@ import com.lagradost.cloudstream3.utils.ExtractorLink
import com.fasterxml.jackson.annotation.JsonProperty
import com.lagradost.cloudstream3.utils.AppUtils.parseJson
import com.lagradost.cloudstream3.utils.Qualities
import java.net.URL
import java.net.UnknownHostException
import java.util.*
@ -60,10 +61,6 @@ data class sourcesJSON (
@JsonProperty("data" ) var data : sourceData? = sourceData()
)
private fun String.getDomainFromUrl(): String? {
return Regex("""^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n\?\=]+)""").find(this)?.groupValues?.firstOrNull()
}
class NineGoal : MainAPI() {
override var mainUrl = "https://9goaltv.to"
override var name = "9Goal"
@ -76,7 +73,10 @@ class NineGoal : MainAPI() {
override suspend fun getMainPage(page: Int, request : MainPageRequest): HomePageResponse {
val doc = app.get(mainUrl).document
val apiUrl = doc.select("head > script").first()?.html()?.substringAfter("window.api_base_url = \"")?.substringBefore("\";")
val apiUrl = doc.select("head > script")
.firstOrNull { it.html().contains("window.api_base_url") }.let {
Regex("""window\.api_base_url = "(.*)";""").find(it?.html() ?: "")?.groupValues?.lastOrNull()
} ?: "https://justameanlessdomain.com"
val matchesData = parseJson<matchesJSON>(app.get("$apiUrl/v1/match/featured").text)
val liveHomePageList = matchesData.data.filter { it.isLive == true }.map {
LiveSearchResponse(
@ -132,16 +132,16 @@ class NineGoal : MainAPI() {
}
}
val language = it.name?.replace("""\(.*""".toRegex(), "") ?: ""
val url = URL(it.url)
val requestStatus = try {
app.head(
fixUrl(
it.url?.getDomainFromUrl() ?: "canyou.letmestreamyou.net"
it.url ?: ""
)
).isSuccessful
} catch (e: UnknownHostException) {
false
}
val domain = fixUrl(it.url?.getDomainFromUrl() ?: "https://canyou.letmestreamyou.net")
if (!requestStatus) {
mapOf(
"(1)" to "https://playing.smoothlikebutterstream.com",
@ -153,8 +153,8 @@ class NineGoal : MainAPI() {
callback.invoke(
ExtractorLink(
this.name,
"$language - $name",
it.url?.replace(domain, value) ?: "",
"$language $name",
it.url?.replace(url.host, value) ?: "",
"$mainUrl/",
quality,
isM3u8 = true,
@ -165,7 +165,7 @@ class NineGoal : MainAPI() {
callback.invoke(
ExtractorLink(
this.name,
"$language - ${sourcesData.name}",
"$language ${sourcesData.name}",
it.url ?: "",
"$mainUrl/",
quality,