Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
phisher98 committed Sep 3, 2024
2 parents 0e9a32e + af9fa1f commit 1d22f2b
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 42 deletions.
2 changes: 1 addition & 1 deletion Eporner/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version = 5
version = 6

cloudstream {
authors = listOf("HindiProvider, megix")
Expand Down
10 changes: 6 additions & 4 deletions Eporner/src/main/kotlin/com/Eporner/Eporner.kt
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class Eporner : MainAPI() {

override suspend fun getMainPage(page: Int, request: MainPageRequest): HomePageResponse {
val document = app.get("$mainUrl/${request.data}/$page/").document
val home = document.select("#vidresults div.mb").mapNotNull { it.toSearchResult() }
val home = document.select("div.mb.hdy").mapNotNull { it.toSearchResult() }

return newHomePageResponse(
list = HomePageList(
Expand All @@ -44,8 +44,10 @@ class Eporner : MainAPI() {
private fun Element.toSearchResult(): SearchResponse {
val title = fixTitle(this.select("div.mbunder p a").text()).trim()
val href = fixUrl(this.select("div.mbcontent a").attr("href"))
val posterUrl = fixUrlNull(this.select("div.mbcontent a img").attr("src"))

var posterUrl = fixUrl(this.selectFirst("img").attr("data-src"))
if (posterUrl.isNullOrBlank()) {
posterUrl = fixUrl(this.selectFirst("img").attr("src"))
}
return newMovieSearchResponse(title, href, TvType.Movie) {
this.posterUrl = posterUrl
}
Expand All @@ -57,7 +59,7 @@ class Eporner : MainAPI() {
for (i in 1..10) {
val document = app.get("${mainUrl}/search/$query/$i").document

val results = document.select("#vidresults div.mb").mapNotNull { it.toSearchResult() }
val results = document.select("div.mb.hdy").mapNotNull { it.toSearchResult() }

if (!searchResponse.containsAll(results)) {
searchResponse.addAll(results)
Expand Down
4 changes: 2 additions & 2 deletions actionviewphotography/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
version = 6
version = 7

cloudstream {
authors = listOf("Hindi Provider")
authors = listOf("Hindi Provider, megix")
language = "en"
description = "NSFW Search Videos"

Expand Down
Original file line number Diff line number Diff line change
@@ -1,30 +1,27 @@
package com.coxju


import com.google.gson.Gson
import org.json.JSONObject
import org.jsoup.nodes.Element
import com.lagradost.cloudstream3.*
import com.lagradost.cloudstream3.utils.*



class actionviewphotography : MainAPI() {
override var mainUrl = "https://ukdevilz.com"
override var name = "Noodle NSFW"
override val hasMainPage = true
override var lang = "hi"
override var lang = "en"
override val hasQuickSearch = false
override val hasDownloadSupport = true
override val hasChromecastSupport = true
override val supportedTypes = setOf(TvType.NSFW)
override val vpnStatus = VPNStatus.MightBeNeeded

override val mainPage = mainPageOf(
"video/milf" to "Milf",
"video/brattysis" to "Brattysis",
"video/web%20series" to "Web Series",
"video/japanese" to "Japanese",
"video/Step" to "Step category",
"video/milf" to "Milf",
"video/brattysis" to "Brattysis",
"video/web%20series" to "Web Series",
"video/japanese" to "Japanese",
"video/Step" to "Step category",
)

override suspend fun getMainPage(page: Int, request: MainPageRequest): HomePageResponse {
Expand Down Expand Up @@ -83,32 +80,28 @@ class actionviewphotography : MainAPI() {

override suspend fun loadLinks(data: String, isCasting: Boolean, subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit): Boolean {
val document = app.get(data).document
val embededurl=document.select("#iplayer").attr("src")
val properurldoc = app.get(mainUrl+embededurl).document
val properurldocactual=properurldoc.selectFirst("script:containsData(window.playlistUrl)")?.data().toString()
// Extracting Base64 encoded string using regex
val regex = Regex("""window\.playlistUrl='([^']+)';""")
val matchResult = regex.find(properurldocactual)
val playlistUrl = matchResult?.groups?.get(1)?.value
val sourcesurl= app.get(mainUrl+playlistUrl).document
val links=sourcesurl.body().text().toString().trim()
val gson = Gson()
val jsonObject = gson.fromJson(links, Map::class.java)
val sources = (jsonObject["sources"] as? List<Map<String, Any>>) ?: emptyList()
sources.forEach { source ->
val file = source["file"] as? String
val label = source["label"] as? String
callback.invoke(
ExtractorLink(
source = this.name,
name = this.name,
url = file.toString(),
referer = data,
quality = getQualityFromName(label)

val script = document.selectFirst("script:containsData(window.playlist)")
if (script != null) {
val jsonString = script.data()
.substringAfter("window.playlist = ")
.substringBefore(";")
val jsonObject = JSONObject(jsonString)
val sources = jsonObject.getJSONArray("sources")
val extlinkList = mutableListOf<ExtractorLink>()

for (i in 0 until sources.length()) {
val source = sources.getJSONObject(i)
extlinkList.add(
ExtractorLink(
source = name,
name = name,
url = source.getString("file"),
referer = data,
quality = getQualityFromName(source.getString("label"))
)
)
)
//println(" File: $file, Label: $label")
}
extlinkList.forEach(callback)
}
return true
}
Expand Down

0 comments on commit 1d22f2b

Please sign in to comment.