Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@ package com.lagradost.cloudstream3.extractors

import com.lagradost.cloudstream3.utils.*
import com.lagradost.cloudstream3.app
import com.lagradost.cloudstream3.SubtitleFile
import com.lagradost.cloudstream3.USER_AGENT
import com.lagradost.cloudstream3.newSubtitleFile
import com.lagradost.cloudstream3.utils.*

// import android.util.Log

class Uqload1 : Uqload() {
override var mainUrl = "https://uqload.com"
Expand All @@ -11,27 +17,40 @@ class Uqload2 : Uqload() {
override var mainUrl = "https://uqload.co"
}

class Uqloadcx : Uqload() {
override var mainUrl = "https://uqload.cx"
}

class Uqloadbz : Uqload() {
override var mainUrl = "https://uqload.bz"
}

open class Uqload : ExtractorApi() {
override val name: String = "Uqload"
override val mainUrl: String = "https://www.uqload.com"
private val srcRegex = Regex("""sources:.\[(.*?)\]""") // would be possible to use the parse and find src attribute
override var name: String = "Uqload"
override var mainUrl: String = "https://www.uqload.com"
override val requiresReferer = true

private val srcRegex = Regex("""sources:.*"(.*?)".*""") // would be possible to use the parse and find src attribute

override suspend fun getUrl(url: String, referer: String?): List<ExtractorLink>? {
override suspend fun getUrl(
url: String,
referer: String?,
subtitleCallback: (SubtitleFile) -> Unit,
callback: (ExtractorLink) -> Unit
) {
with(app.get(url)) { // raised error ERROR_CODE_PARSING_CONTAINER_UNSUPPORTED (3003) is due to the response: "error_nofile"
srcRegex.find(this.text)?.groupValues?.get(1)?.replace("\"", "")?.let { link ->
return listOf(
srcRegex.find(this.text)?.groupValues?.get(1)?.let { link ->
// Log.d("CS3debugUQload","decoded URL: $link")
callback.invoke(
newExtractorLink(
name,
name,
link
source = name,
name = name,
url = link
) {
this.referer = url
this.referer = "$mainUrl/"
}
)
}
}
return null
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,8 @@ import com.lagradost.cloudstream3.extractors.UpstreamExtractor
import com.lagradost.cloudstream3.extractors.Uqload
import com.lagradost.cloudstream3.extractors.Uqload1
import com.lagradost.cloudstream3.extractors.Uqload2
import com.lagradost.cloudstream3.extractors.Uqloadcx
import com.lagradost.cloudstream3.extractors.Uqloadbz
import com.lagradost.cloudstream3.extractors.UqloadsXyz
import com.lagradost.cloudstream3.extractors.Urochsunloath
import com.lagradost.cloudstream3.extractors.Userload
Expand Down Expand Up @@ -283,6 +285,8 @@ import com.lagradost.cloudstream3.extractors.Vidguardto3
import com.lagradost.cloudstream3.extractors.VidhideExtractor
import com.lagradost.cloudstream3.extractors.Vidmoly
import com.lagradost.cloudstream3.extractors.Vidmolyme
import com.lagradost.cloudstream3.extractors.Vidmolyto
import com.lagradost.cloudstream3.extractors.Vidmolybiz
import com.lagradost.cloudstream3.extractors.Vidnest
import com.lagradost.cloudstream3.extractors.Vido
import com.lagradost.cloudstream3.extractors.Vidoza
Expand Down Expand Up @@ -996,6 +1000,8 @@ val extractorApis: MutableList<ExtractorApi> = arrayListOf(
Uqload(),
Uqload1(),
Uqload2(),
Uqloadcx(),
Uqloadbz(),
Evoload(),
Evoload1(),
UpstreamExtractor(),
Expand Down Expand Up @@ -1129,6 +1135,8 @@ val extractorApis: MutableList<ExtractorApi> = arrayListOf(
Streamplay(),
Vidmoly(),
Vidmolyme(),
Vidmolyto(),
Vidmolybiz(),
Voe(),
Voe1(),
Tubeless(),
Expand Down