kuronime: fix search

This commit is contained in:
hexated 2023-06-17 14:48:57 +07:00
parent 1fe5ed78be
commit c66b1bdedb
5 changed files with 36 additions and 26 deletions

View file

@ -1,5 +1,5 @@
// use an integer for version numbers // use an integer for version numbers
version = 12 version = 13
cloudstream { cloudstream {

View file

@ -9,10 +9,11 @@ import com.lagradost.cloudstream3.utils.getQualityFromName
import com.lagradost.cloudstream3.utils.loadExtractor import com.lagradost.cloudstream3.utils.loadExtractor
import org.jsoup.Jsoup import org.jsoup.Jsoup
import org.jsoup.nodes.Element import org.jsoup.nodes.Element
import java.net.URI
import java.util.ArrayList import java.util.ArrayList
class KuronimeProvider : MainAPI() { class KuronimeProvider : MainAPI() {
override var mainUrl = "https://kuronime.lol" override var mainUrl = "https://kuronime.top"
override var name = "Kuronime" override var name = "Kuronime"
override val hasQuickSearch = true override val hasQuickSearch = true
override val hasMainPage = true override val hasMainPage = true
@ -53,7 +54,9 @@ class KuronimeProvider : MainAPI() {
page: Int, page: Int,
request: MainPageRequest request: MainPageRequest
): HomePageResponse { ): HomePageResponse {
val document = app.get(request.data + page).document val req = app.get(request.data + page)
mainUrl = getBaseUrl(req.url)
val document = req.document
val home = document.select("article").map { val home = document.select("article").map {
it.toSearchResult() it.toSearchResult()
} }
@ -98,6 +101,7 @@ class KuronimeProvider : MainAPI() {
override suspend fun quickSearch(query: String): List<SearchResponse>? = search(query) override suspend fun quickSearch(query: String): List<SearchResponse>? = search(query)
override suspend fun search(query: String): List<SearchResponse>? { override suspend fun search(query: String): List<SearchResponse>? {
mainUrl = app.get(mainUrl).url
return app.post( return app.post(
"$mainUrl/wp-admin/admin-ajax.php", data = mapOf( "$mainUrl/wp-admin/admin-ajax.php", data = mapOf(
"action" to "ajaxy_sf", "action" to "ajaxy_sf",
@ -205,6 +209,12 @@ class KuronimeProvider : MainAPI() {
return true return true
} }
private fun getBaseUrl(url: String): String {
return URI(url).let {
"${it.scheme}://${it.host}"
}
}
data class All( data class All(
@JsonProperty("post_image") var postImage: String? = null, @JsonProperty("post_image") var postImage: String? = null,
@JsonProperty("post_image_html") var postImageHtml: String? = null, @JsonProperty("post_image_html") var postImageHtml: String? = null,

View file

@ -1,5 +1,5 @@
// use an integer for version numbers // use an integer for version numbers
version = 16 version = 17
cloudstream { cloudstream {

View file

@ -9,7 +9,7 @@ import org.jsoup.Jsoup
import org.jsoup.nodes.Element import org.jsoup.nodes.Element
class OploverzProvider : MainAPI() { class OploverzProvider : MainAPI() {
override var mainUrl = "https://oploverz.love" override var mainUrl = "https://oploverz.care"
override var name = "Oploverz" override var name = "Oploverz"
override val hasMainPage = true override val hasMainPage = true
override var lang = "id" override var lang = "id"

View file

@ -127,7 +127,6 @@ open class SoraStream : TmdbProvider() {
// INDEX SITE // INDEX SITE
const val blackMoviesAPI = "https://dl.blacklistedbois.workers.dev/0:" const val blackMoviesAPI = "https://dl.blacklistedbois.workers.dev/0:"
const val rinzryMoviesAPI = "https://rinzry.stream/0:"
const val codexMoviesAPI = "https://packs.codexcloudx.tech/0:" const val codexMoviesAPI = "https://packs.codexcloudx.tech/0:"
const val edithxMoviesAPI = "https://index.edithx.ga/0:" const val edithxMoviesAPI = "https://index.edithx.ga/0:"
const val dahmerMoviesAPI = "https://edytjedhgmdhm.abfhaqrhbnf.workers.dev" const val dahmerMoviesAPI = "https://edytjedhgmdhm.abfhaqrhbnf.workers.dev"
@ -140,15 +139,16 @@ open class SoraStream : TmdbProvider() {
base64DecodeAPI("ZXY=LmQ=cnM=a2U=b3I=Lnc=ZXI=ZGQ=bGE=cy0=b2I=YWM=Lmo=YWw=aW4=LWY=cm4=Ym8=cmU=Ly8=czo=dHA=aHQ=") base64DecodeAPI("ZXY=LmQ=cnM=a2U=b3I=Lnc=ZXI=ZGQ=bGE=cy0=b2I=YWM=Lmo=YWw=aW4=LWY=cm4=Ym8=cmU=Ly8=czo=dHA=aHQ=")
// DEAD SITE // DEAD SITE
const val chillmovies0API = "https://chill.aicirou.workers.dev/0:" // dead const val rinzryMoviesAPI = "https://rinzry.stream/0:"
const val chillmovies1API = "https://chill.aicirou.workers.dev/1:" // dead const val chillmovies0API = "https://chill.aicirou.workers.dev/0:"
const val gamMoviesAPI = "https://drive.gamick.workers.dev/0:" // dead const val chillmovies1API = "https://chill.aicirou.workers.dev/1:"
const val jsMoviesAPI = "https://jsupload.jnsbot.workers.dev/0:" // dead const val gamMoviesAPI = "https://drive.gamick.workers.dev/0:"
const val xtremeMoviesAPI = "https://kartik19.xtrememirror0.workers.dev/0:" // dead const val jsMoviesAPI = "https://jsupload.jnsbot.workers.dev/0:"
const val tgarMovieAPI = "https://tgarchive.eu.org" // dead const val xtremeMoviesAPI = "https://kartik19.xtrememirror0.workers.dev/0:"
const val baymoviesAPI = "https://opengatewayindex.pages.dev" // dead const val tgarMovieAPI = "https://tgarchive.eu.org"
const val papaonMovies1API = "https://m.papaonwork.workers.dev/0:" // dead const val baymoviesAPI = "https://opengatewayindex.pages.dev"
const val papaonMovies2API = "https://m.papaonwork.workers.dev/1:" // dead const val papaonMovies1API = "https://m.papaonwork.workers.dev/0:"
const val papaonMovies2API = "https://m.papaonwork.workers.dev/1:"
fun getType(t: String?): TvType { fun getType(t: String?): TvType {
return when (t) { return when (t) {
@ -646,17 +646,17 @@ open class SoraStream : TmdbProvider() {
callback callback
) )
}, },
{ // {
invokeRinzrymovies( // invokeRinzrymovies(
rinzryMoviesAPI, // rinzryMoviesAPI,
"RinzryMovies", // "RinzryMovies",
res.title, // res.title,
res.year, // res.year,
res.season, // res.season,
res.episode, // res.episode,
callback, // callback,
) // )
}, // },
{ {
if (!res.isAnime) invokeCodexmovies( if (!res.isAnime) invokeCodexmovies(
codexMoviesAPI, codexMoviesAPI,