Extractor: added Pichive & Sobreatsesuyp (#1184)

This commit is contained in:
Ömer Faruk Sancak 2024-07-08 23:59:02 +03:00 committed by GitHub
parent 145c42f1c8
commit e86c926c30
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 65 additions and 0 deletions

View file

@ -22,6 +22,11 @@ class FourPlayRu : ContentX() {
override var mainUrl = "https://four.playru.net" override var mainUrl = "https://four.playru.net"
} }
class Pichive : ContentX() {
override var name = "Pichive"
override var mainUrl = "https://pichive.online"
}
class FourPichive : ContentX() { class FourPichive : ContentX() {
override var name = "FourPichive" override var name = "FourPichive"
override var mainUrl = "https://four.pichive.online" override var mainUrl = "https://four.pichive.online"

View file

@ -0,0 +1,56 @@
// ! Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
package com.lagradost.cloudstream3.extractors
import android.util.Log
import com.lagradost.cloudstream3.*
import com.lagradost.cloudstream3.utils.*
import com.fasterxml.jackson.annotation.JsonProperty
open class Sobreatsesuyp : ExtractorApi() {
override val name = "Sobreatsesuyp"
override val mainUrl = "https://sobreatsesuyp.com"
override val requiresReferer = true
override suspend fun getUrl(url: String, referer: String?, subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit) {
val extRef = referer ?: ""
val videoReq = app.get(url, referer = extRef).text
val file = Regex("""file\":\"([^\"]+)""").find(videoReq)?.groupValues?.get(1) ?: throw ErrorLoadingException("File not found")
val postLink = "${mainUrl}/" + file.replace("\\", "")
val rawList = app.post(postLink, referer = extRef).parsedSafe<List<Any>>() ?: throw ErrorLoadingException("Post link not found")
val postJson: List<SobreatsesuypVideoData> = rawList.drop(1).map { item ->
val mapItem = item as Map<*, *>
SobreatsesuypVideoData(
title = mapItem["title"] as? String,
file = mapItem["file"] as? String
)
}
Log.d("Kekik_${this.name}", "postJson » ${postJson}")
for (item in postJson) {
if (item.file == null || item.title == null) continue
val fileUrl = "${mainUrl}/playlist/${item.file.substring(1)}.txt"
val videoData = app.post(fileUrl, referer = extRef).text
callback.invoke(
ExtractorLink(
source = this.name,
name = "${this.name} - ${item.title}",
url = videoData,
referer = extRef,
quality = Qualities.Unknown.value,
type = INFER_TYPE
)
)
}
}
data class SobreatsesuypVideoData(
@JsonProperty("title") val title: String? = null,
@JsonProperty("file") val file: String? = null
)
}

View file

@ -115,6 +115,7 @@ import com.lagradost.cloudstream3.extractors.Hotlinger
import com.lagradost.cloudstream3.extractors.FourCX import com.lagradost.cloudstream3.extractors.FourCX
import com.lagradost.cloudstream3.extractors.PlayRu import com.lagradost.cloudstream3.extractors.PlayRu
import com.lagradost.cloudstream3.extractors.FourPlayRu import com.lagradost.cloudstream3.extractors.FourPlayRu
import com.lagradost.cloudstream3.extractors.Pichive
import com.lagradost.cloudstream3.extractors.FourPichive import com.lagradost.cloudstream3.extractors.FourPichive
import com.lagradost.cloudstream3.extractors.HDMomPlayer import com.lagradost.cloudstream3.extractors.HDMomPlayer
import com.lagradost.cloudstream3.extractors.HDPlayerSystem import com.lagradost.cloudstream3.extractors.HDPlayerSystem
@ -124,6 +125,7 @@ import com.lagradost.cloudstream3.extractors.HDStreamAble
import com.lagradost.cloudstream3.extractors.RapidVid import com.lagradost.cloudstream3.extractors.RapidVid
import com.lagradost.cloudstream3.extractors.TRsTX import com.lagradost.cloudstream3.extractors.TRsTX
import com.lagradost.cloudstream3.extractors.VidMoxy import com.lagradost.cloudstream3.extractors.VidMoxy
import com.lagradost.cloudstream3.extractors.Sobreatsesuyp
import com.lagradost.cloudstream3.extractors.PixelDrain import com.lagradost.cloudstream3.extractors.PixelDrain
import com.lagradost.cloudstream3.extractors.MailRu import com.lagradost.cloudstream3.extractors.MailRu
import com.lagradost.cloudstream3.extractors.Mediafire import com.lagradost.cloudstream3.extractors.Mediafire
@ -734,6 +736,7 @@ val extractorApis: MutableList<ExtractorApi> = arrayListOf(
FourCX(), FourCX(),
PlayRu(), PlayRu(),
FourPlayRu(), FourPlayRu(),
Pichive(),
FourPichive(), FourPichive(),
HDMomPlayer(), HDMomPlayer(),
HDPlayerSystem(), HDPlayerSystem(),
@ -743,6 +746,7 @@ val extractorApis: MutableList<ExtractorApi> = arrayListOf(
RapidVid(), RapidVid(),
TRsTX(), TRsTX(),
VidMoxy(), VidMoxy(),
Sobreatsesuyp(),
PixelDrain(), PixelDrain(),
MailRu(), MailRu(),