cloudstream-extensions-hexated/SoraStream/src/main/kotlin/com/hexated/SoraParser.kt

483 lines
15 KiB
Kotlin
Raw Normal View History

2023-06-26 05:11:27 +00:00
package com.hexated
import com.fasterxml.jackson.annotation.JsonProperty
2024-01-12 07:17:54 +00:00
import org.jsoup.Jsoup
import org.jsoup.nodes.Document
2023-06-26 05:11:27 +00:00
2024-01-01 11:42:32 +00:00
data class CrunchyrollAccessToken(
2024-01-12 07:17:54 +00:00
val accessToken: String? = null,
val tokenType: String? = null,
val bucket: String? = null,
val policy: String? = null,
val signature: String? = null,
val key_pair_id: String? = null,
2024-01-01 11:42:32 +00:00
)
2023-06-26 05:11:27 +00:00
data class FDMovieIFrame(
2024-01-12 07:17:54 +00:00
val link: String,
val quality: String,
val size: String,
val type: String,
2023-06-26 05:11:27 +00:00
)
2024-01-02 23:57:41 +00:00
data class AniIds(var id: Int? = null, var idMal: Int? = null)
2023-06-26 05:11:27 +00:00
2023-11-17 20:16:45 +00:00
data class TmdbDate(
2024-01-12 07:17:54 +00:00
val today: String,
val nextWeek: String,
2023-11-17 20:16:45 +00:00
)
2024-01-12 07:17:54 +00:00
data class AniwaveResponse(
val result: String
) {
fun asJsoup(): Document {
return Jsoup.parse(result)
}
}
data class AniwaveServer(
val result: Result
) {
data class Result(
val url: String
) {
fun decrypt(): String {
return AniwaveUtils.decodeVrf(url)
}
}
}
2024-01-21 12:39:02 +00:00
data class MoflixResponse(
@JsonProperty("title") val title: Episode? = null,
@JsonProperty("episode") val episode: Episode? = null,
) {
data class Episode(
@JsonProperty("id") val id: Int? = null,
@JsonProperty("videos") val videos: ArrayList<Videos>? = arrayListOf(),
) {
data class Videos(
@JsonProperty("name") val name: String? = null,
@JsonProperty("category") val category: String? = null,
@JsonProperty("src") val src: String? = null,
@JsonProperty("quality") val quality: String? = null,
)
}
}
2024-01-12 07:17:54 +00:00
data class AniMedia(
@JsonProperty("id") var id: Int? = null,
@JsonProperty("idMal") var idMal: Int? = null
)
2023-06-26 05:11:27 +00:00
2024-01-02 23:57:41 +00:00
data class AniPage(@JsonProperty("media") var media: java.util.ArrayList<AniMedia> = arrayListOf())
2023-06-26 05:11:27 +00:00
2024-01-02 23:57:41 +00:00
data class AniData(@JsonProperty("Page") var Page: AniPage? = AniPage())
2023-06-26 05:11:27 +00:00
2024-01-02 23:57:41 +00:00
data class AniSearch(@JsonProperty("data") var data: AniData? = AniData())
2023-06-26 05:11:27 +00:00
2023-09-23 03:28:11 +00:00
data class GpressSources(
2024-01-12 07:17:54 +00:00
@JsonProperty("src") val src: String,
@JsonProperty("file") val file: String? = null,
@JsonProperty("label") val label: Int? = null,
@JsonProperty("max") val max: String,
2023-06-26 05:11:27 +00:00
)
data class UHDBackupUrl(
2024-01-12 07:17:54 +00:00
@JsonProperty("url") val url: String? = null,
2023-06-26 05:11:27 +00:00
)
data class ResponseHash(
2024-01-12 07:17:54 +00:00
@JsonProperty("embed_url") val embed_url: String,
@JsonProperty("key") val key: String? = null,
@JsonProperty("type") val type: String? = null,
2023-06-26 05:11:27 +00:00
)
data class KisskhSources(
2024-01-12 07:17:54 +00:00
@JsonProperty("Video") val video: String?,
@JsonProperty("ThirdParty") val thirdParty: String?,
2023-06-26 05:11:27 +00:00
)
data class KisskhSubtitle(
2024-01-12 07:17:54 +00:00
@JsonProperty("src") val src: String?,
@JsonProperty("label") val label: String?,
2023-06-26 05:11:27 +00:00
)
data class KisskhEpisodes(
2024-01-12 07:17:54 +00:00
@JsonProperty("id") val id: Int?,
@JsonProperty("number") val number: Int?,
2023-06-26 05:11:27 +00:00
)
data class KisskhDetail(
2024-01-12 07:17:54 +00:00
@JsonProperty("episodes") val episodes: ArrayList<KisskhEpisodes>? = arrayListOf(),
2023-06-26 05:11:27 +00:00
)
data class KisskhResults(
2024-01-12 07:17:54 +00:00
@JsonProperty("id") val id: Int?,
@JsonProperty("title") val title: String?,
2023-06-26 05:11:27 +00:00
)
data class DriveBotLink(
2024-01-12 07:17:54 +00:00
@JsonProperty("url") val url: String? = null,
2023-06-26 05:11:27 +00:00
)
data class DirectDl(
2024-01-12 07:17:54 +00:00
@JsonProperty("download_url") val download_url: String? = null,
2023-06-26 05:11:27 +00:00
)
data class Safelink(
2024-01-12 07:17:54 +00:00
@JsonProperty("safelink") val safelink: String? = null,
2023-06-26 05:11:27 +00:00
)
data class FDAds(
2024-01-12 07:17:54 +00:00
@JsonProperty("linkr") val linkr: String? = null,
2023-06-26 05:11:27 +00:00
)
2023-09-18 07:36:12 +00:00
data class ZShowEmbed(
2024-01-12 07:17:54 +00:00
@JsonProperty("m") val meta: String? = null,
2023-09-18 07:36:12 +00:00
)
2023-06-26 05:11:27 +00:00
data class WatchsomuchTorrents(
2024-01-12 07:17:54 +00:00
@JsonProperty("id") val id: Int? = null,
@JsonProperty("movieId") val movieId: Int? = null,
@JsonProperty("season") val season: Int? = null,
@JsonProperty("episode") val episode: Int? = null,
2023-06-26 05:11:27 +00:00
)
data class WatchsomuchMovies(
2024-01-12 07:17:54 +00:00
@JsonProperty("torrents") val torrents: ArrayList<WatchsomuchTorrents>? = arrayListOf(),
2023-06-26 05:11:27 +00:00
)
data class WatchsomuchResponses(
2024-01-12 07:17:54 +00:00
@JsonProperty("movie") val movie: WatchsomuchMovies? = null,
2023-06-26 05:11:27 +00:00
)
data class WatchsomuchSubtitles(
2024-01-12 07:17:54 +00:00
@JsonProperty("url") val url: String? = null,
@JsonProperty("label") val label: String? = null,
2023-06-26 05:11:27 +00:00
)
data class WatchsomuchSubResponses(
2024-01-12 07:17:54 +00:00
@JsonProperty("subtitles") val subtitles: ArrayList<WatchsomuchSubtitles>? = arrayListOf(),
2023-06-26 05:11:27 +00:00
)
data class IndexMedia(
2024-01-12 07:17:54 +00:00
@JsonProperty("id") val id: String? = null,
@JsonProperty("driveId") val driveId: String? = null,
@JsonProperty("mimeType") val mimeType: String? = null,
@JsonProperty("size") val size: String? = null,
@JsonProperty("name") val name: String? = null,
@JsonProperty("modifiedTime") val modifiedTime: String? = null,
2023-06-26 05:11:27 +00:00
)
data class IndexData(
2024-01-12 07:17:54 +00:00
@JsonProperty("files") val files: ArrayList<IndexMedia>? = arrayListOf(),
2023-06-26 05:11:27 +00:00
)
data class IndexSearch(
2024-01-12 07:17:54 +00:00
@JsonProperty("data") val data: IndexData? = null,
2023-06-26 05:11:27 +00:00
)
2023-08-21 00:55:21 +00:00
data class JikanExternal(
2024-01-12 07:17:54 +00:00
@JsonProperty("name") val name: String? = null,
@JsonProperty("url") val url: String? = null,
2023-06-26 05:11:27 +00:00
)
2023-08-21 00:55:21 +00:00
data class JikanData(
2024-01-12 07:17:54 +00:00
@JsonProperty("title") val title: String? = null,
@JsonProperty("external") val external: ArrayList<JikanExternal>? = arrayListOf(),
2023-06-26 05:11:27 +00:00
)
2023-08-21 00:55:21 +00:00
data class JikanResponse(
2024-01-12 07:17:54 +00:00
@JsonProperty("data") val data: JikanData? = null,
2023-06-26 05:11:27 +00:00
)
2023-11-27 03:33:23 +00:00
data class VidsrctoResult(
2024-01-12 07:17:54 +00:00
@JsonProperty("id") val id: String? = null,
@JsonProperty("title") val title: String? = null,
@JsonProperty("url") val url: String? = null,
2023-11-27 03:33:23 +00:00
)
data class VidsrctoResponse(
2024-01-12 07:17:54 +00:00
@JsonProperty("result") val result: VidsrctoResult? = null,
2023-11-27 03:33:23 +00:00
)
data class VidsrctoSources(
2024-01-12 07:17:54 +00:00
@JsonProperty("result") val result: ArrayList<VidsrctoResult>? = arrayListOf(),
2023-11-27 03:33:23 +00:00
)
data class VidsrctoSubtitles(
2024-01-12 07:17:54 +00:00
@JsonProperty("label") val label: String? = null,
@JsonProperty("file") val file: String? = null,
2023-06-26 05:11:27 +00:00
)
data class AnilistExternalLinks(
2024-01-12 07:17:54 +00:00
@JsonProperty("id") var id: Int? = null,
@JsonProperty("site") var site: String? = null,
@JsonProperty("url") var url: String? = null,
@JsonProperty("type") var type: String? = null,
2023-06-26 05:11:27 +00:00
)
2024-01-02 23:57:41 +00:00
data class AnilistMedia(@JsonProperty("externalLinks") var externalLinks: ArrayList<AnilistExternalLinks> = arrayListOf())
2023-06-26 05:11:27 +00:00
2024-01-02 23:57:41 +00:00
data class AnilistData(@JsonProperty("Media") var Media: AnilistMedia? = AnilistMedia())
2023-06-26 05:11:27 +00:00
2024-01-02 23:57:41 +00:00
data class AnilistResponses(@JsonProperty("data") var data: AnilistData? = AnilistData())
2023-06-26 05:11:27 +00:00
data class CrunchyrollToken(
2024-01-12 07:17:54 +00:00
@JsonProperty("access_token") val accessToken: String? = null,
@JsonProperty("token_type") val tokenType: String? = null,
@JsonProperty("cms") val cms: Cms? = null,
2024-01-01 11:42:32 +00:00
) {
data class Cms(
2024-01-12 07:17:54 +00:00
@JsonProperty("bucket") var bucket: String? = null,
@JsonProperty("policy") var policy: String? = null,
@JsonProperty("signature") var signature: String? = null,
@JsonProperty("key_pair_id") var key_pair_id: String? = null,
2024-01-01 11:42:32 +00:00
)
}
2023-06-26 05:11:27 +00:00
data class CrunchyrollVersions(
2024-01-12 07:17:54 +00:00
@JsonProperty("audio_locale") val audio_locale: String? = null,
@JsonProperty("guid") val guid: String? = null,
2023-06-26 05:11:27 +00:00
)
data class CrunchyrollData(
2024-01-12 07:17:54 +00:00
@JsonProperty("id") val id: String? = null,
@JsonProperty("title") val title: String? = null,
@JsonProperty("slug_title") val slug_title: String? = null,
@JsonProperty("season_number") val season_number: Int? = null,
@JsonProperty("episode_number") val episode_number: Int? = null,
@JsonProperty("versions") val versions: ArrayList<CrunchyrollVersions>? = null,
@JsonProperty("streams_link") val streams_link: String? = null,
2023-06-26 05:11:27 +00:00
)
data class CrunchyrollResponses(
2024-01-12 07:17:54 +00:00
@JsonProperty("data") val data: ArrayList<CrunchyrollData>? = arrayListOf(),
2023-06-26 05:11:27 +00:00
)
data class CrunchyrollSourcesResponses(
2024-01-12 07:17:54 +00:00
@JsonProperty("streams") val streams: Streams? = Streams(),
@JsonProperty("subtitles") val subtitles: HashMap<String, HashMap<String, String>>? = hashMapOf(),
2024-01-01 11:42:32 +00:00
) {
data class Streams(
2024-01-12 07:17:54 +00:00
@JsonProperty("adaptive_hls") val adaptive_hls: HashMap<String, HashMap<String, String>>? = hashMapOf(),
@JsonProperty("vo_adaptive_hls") val vo_adaptive_hls: HashMap<String, HashMap<String, String>>? = hashMapOf(),
2024-01-01 11:42:32 +00:00
)
}
2023-06-26 05:11:27 +00:00
2023-07-23 18:05:02 +00:00
data class MALSyncSites(
2024-01-12 07:17:54 +00:00
@JsonProperty("Zoro") val zoro: HashMap<String?, HashMap<String, String?>>? = hashMapOf(),
@JsonProperty("9anime") val nineAnime: HashMap<String?, HashMap<String, String?>>? = hashMapOf(),
2023-06-26 05:11:27 +00:00
)
data class MALSyncResponses(
2024-01-12 07:17:54 +00:00
@JsonProperty("Sites") val sites: MALSyncSites? = null,
2023-06-26 05:11:27 +00:00
)
2024-03-05 16:51:56 +00:00
data class HianimeResponses(
2024-01-12 07:17:54 +00:00
@JsonProperty("html") val html: String? = null,
@JsonProperty("link") val link: String? = null,
2023-06-26 05:11:27 +00:00
)
data class MalSyncRes(
2024-01-12 07:17:54 +00:00
@JsonProperty("Sites") val Sites: Map<String, Map<String, Map<String, String>>>? = null,
2023-06-26 05:11:27 +00:00
)
data class GokuData(
2024-01-12 07:17:54 +00:00
@JsonProperty("link") val link: String? = null,
2023-06-26 05:11:27 +00:00
)
data class GokuServer(
2024-01-12 07:17:54 +00:00
@JsonProperty("data") val data: GokuData? = GokuData(),
2023-06-26 05:11:27 +00:00
)
2023-12-30 09:09:19 +00:00
data class AllMovielandEpisodeFolder(
2024-01-12 07:17:54 +00:00
@JsonProperty("title") val title: String? = null,
@JsonProperty("id") val id: String? = null,
@JsonProperty("file") val file: String? = null,
2023-06-26 05:11:27 +00:00
)
2023-12-30 09:09:19 +00:00
data class AllMovielandSeasonFolder(
2024-01-12 07:17:54 +00:00
@JsonProperty("episode") val episode: String? = null,
@JsonProperty("id") val id: String? = null,
@JsonProperty("folder") val folder: ArrayList<AllMovielandEpisodeFolder>? = arrayListOf(),
2023-06-26 05:11:27 +00:00
)
2023-12-30 09:09:19 +00:00
data class AllMovielandServer(
2024-01-12 07:17:54 +00:00
@JsonProperty("title") val title: String? = null,
@JsonProperty("id") val id: String? = null,
@JsonProperty("file") val file: String? = null,
@JsonProperty("folder") val folder: ArrayList<AllMovielandSeasonFolder>? = arrayListOf(),
2023-06-26 05:11:27 +00:00
)
2023-12-30 09:09:19 +00:00
data class AllMovielandPlaylist(
2024-01-12 07:17:54 +00:00
@JsonProperty("file") val file: String? = null,
@JsonProperty("key") val key: String? = null,
@JsonProperty("href") val href: String? = null,
2023-06-26 05:11:27 +00:00
)
data class DumpMedia(
2024-01-12 07:17:54 +00:00
@JsonProperty("id") val id: String? = null,
@JsonProperty("domainType") val domainType: Int? = null,
@JsonProperty("name") val name: String? = null,
@JsonProperty("releaseTime") val releaseTime: String? = null,
2023-06-26 05:11:27 +00:00
)
data class DumpQuickSearchData(
2024-01-12 07:17:54 +00:00
@JsonProperty("searchResults") val searchResults: ArrayList<DumpMedia>? = arrayListOf(),
2023-06-26 05:11:27 +00:00
)
data class SubtitlingList(
2024-01-12 07:17:54 +00:00
@JsonProperty("languageAbbr") val languageAbbr: String? = null,
@JsonProperty("language") val language: String? = null,
@JsonProperty("subtitlingUrl") val subtitlingUrl: String? = null,
2023-06-26 05:11:27 +00:00
)
data class DefinitionList(
2024-01-12 07:17:54 +00:00
@JsonProperty("code") val code: String? = null,
@JsonProperty("description") val description: String? = null,
2023-06-26 05:11:27 +00:00
)
data class EpisodeVo(
2024-01-12 07:17:54 +00:00
@JsonProperty("id") val id: Int? = null,
@JsonProperty("seriesNo") val seriesNo: Int? = null,
@JsonProperty("definitionList") val definitionList: ArrayList<DefinitionList>? = arrayListOf(),
@JsonProperty("subtitlingList") val subtitlingList: ArrayList<SubtitlingList>? = arrayListOf(),
2023-06-26 05:11:27 +00:00
)
data class DumpMediaDetail(
2024-01-12 07:17:54 +00:00
@JsonProperty("episodeVo") val episodeVo: ArrayList<EpisodeVo>? = arrayListOf(),
2023-06-26 05:11:27 +00:00
)
2023-07-04 09:38:14 +00:00
data class EMovieServer(
2024-01-12 07:17:54 +00:00
@JsonProperty("value") val value: String? = null,
2023-07-04 09:38:14 +00:00
)
data class EMovieSources(
2024-01-12 07:17:54 +00:00
@JsonProperty("file") val file: String? = null,
2023-07-04 09:38:14 +00:00
)
data class EMovieTraks(
2024-01-12 07:17:54 +00:00
@JsonProperty("file") val file: String? = null,
@JsonProperty("label") val label: String? = null,
2023-10-03 16:47:31 +00:00
)
2023-10-08 01:32:01 +00:00
data class ShowflixResultsMovies(
2024-01-12 07:17:54 +00:00
@JsonProperty("movieName") val movieName: String? = null,
@JsonProperty("streamwish") val streamwish: String? = null,
@JsonProperty("filelions") val filelions: String? = null,
@JsonProperty("streamruby") val streamruby: String? = null,
2023-10-08 01:32:01 +00:00
)
data class ShowflixResultsSeries(
2024-01-12 07:17:54 +00:00
@JsonProperty("seriesName") val seriesName: String? = null,
@JsonProperty("streamwish") val streamwish: HashMap<String, List<String>>? = hashMapOf(),
@JsonProperty("filelions") val filelions: HashMap<String, List<String>>? = hashMapOf(),
@JsonProperty("streamruby") val streamruby: HashMap<String, List<String>>? = hashMapOf(),
2023-10-08 01:32:01 +00:00
)
data class ShowflixSearchMovies(
2024-01-12 07:17:54 +00:00
@JsonProperty("results") val resultsMovies: ArrayList<ShowflixResultsMovies>? = arrayListOf(),
2023-10-08 01:32:01 +00:00
)
data class ShowflixSearchSeries(
2024-01-12 07:17:54 +00:00
@JsonProperty("results") val resultsSeries: ArrayList<ShowflixResultsSeries>? = arrayListOf(),
2023-10-14 10:15:09 +00:00
)
data class SFMoviesSeriess(
2024-01-12 07:17:54 +00:00
@JsonProperty("title") var title: String? = null,
@JsonProperty("svideos") var svideos: String? = null,
2023-10-14 10:15:09 +00:00
)
data class SFMoviesAttributes(
2024-01-12 07:17:54 +00:00
@JsonProperty("title") var title: String? = null,
@JsonProperty("video") var video: String? = null,
@JsonProperty("releaseDate") var releaseDate: String? = null,
@JsonProperty("seriess") var seriess: ArrayList<ArrayList<SFMoviesSeriess>>? = arrayListOf(),
@JsonProperty("contentId") var contentId: String? = null,
2023-10-14 10:15:09 +00:00
)
2024-01-12 07:17:54 +00:00
data class SFMoviesData(
@JsonProperty("id") var id: Int? = null,
@JsonProperty("attributes") var attributes: SFMoviesAttributes? = SFMoviesAttributes()
)
2023-10-14 10:15:09 +00:00
data class SFMoviesSearch(
2024-01-12 07:17:54 +00:00
@JsonProperty("data") var data: ArrayList<SFMoviesData>? = arrayListOf(),
2023-10-22 09:35:23 +00:00
)
data class RidoContentable(
2024-01-12 07:17:54 +00:00
@JsonProperty("imdbId") var imdbId: String? = null,
@JsonProperty("tmdbId") var tmdbId: Int? = null,
2023-10-22 09:35:23 +00:00
)
data class RidoItems(
2024-01-12 07:17:54 +00:00
@JsonProperty("slug") var slug: String? = null,
@JsonProperty("contentable") var contentable: RidoContentable? = null,
2023-10-22 09:35:23 +00:00
)
data class RidoData(
2024-01-12 07:17:54 +00:00
@JsonProperty("url") var url: String? = null,
@JsonProperty("items") var items: ArrayList<RidoItems>? = arrayListOf(),
2023-10-22 09:35:23 +00:00
)
data class RidoResponses(
2024-01-12 07:17:54 +00:00
@JsonProperty("data") var data: ArrayList<RidoData>? = arrayListOf(),
2023-10-22 09:35:23 +00:00
)
data class RidoSearch(
2024-01-12 07:17:54 +00:00
@JsonProperty("data") var data: RidoData? = null,
2023-11-08 21:34:56 +00:00
)
data class SmashySources(
2024-01-12 07:17:54 +00:00
@JsonProperty("sourceUrls") var sourceUrls: ArrayList<String>? = arrayListOf(),
@JsonProperty("subtitleUrls") var subtitleUrls: String? = null,
2023-12-08 21:10:52 +00:00
)
2023-12-15 04:32:48 +00:00
data class AoneroomResponse(
2024-01-12 07:17:54 +00:00
@JsonProperty("data") val data: Data? = null,
2023-12-15 04:32:48 +00:00
) {
data class Data(
2024-01-12 07:17:54 +00:00
@JsonProperty("items") val items: ArrayList<Items>? = arrayListOf(),
@JsonProperty("list") val list: ArrayList<List>? = arrayListOf(),
2023-12-15 04:32:48 +00:00
) {
data class Items(
2024-01-12 07:17:54 +00:00
@JsonProperty("subjectId") val subjectId: String? = null,
@JsonProperty("title") val title: String? = null,
@JsonProperty("releaseDate") val releaseDate: String? = null,
2023-12-15 04:32:48 +00:00
)
data class List(
2024-01-12 07:17:54 +00:00
@JsonProperty("resourceLink") val resourceLink: String? = null,
@JsonProperty("extCaptions") val extCaptions: ArrayList<ExtCaptions>? = arrayListOf(),
@JsonProperty("se") val se: Int? = null,
@JsonProperty("ep") val ep: Int? = null,
@JsonProperty("resolution") val resolution: Int? = null,
2023-12-15 04:32:48 +00:00
) {
data class ExtCaptions(
2024-01-12 07:17:54 +00:00
@JsonProperty("lanName") val lanName: String? = null,
@JsonProperty("url") val url: String? = null,
2023-12-15 04:32:48 +00:00
)
}
}
2024-01-30 16:44:18 +00:00
}
data class CinemaTvResponse(
@JsonProperty("streams") val streams: HashMap<String, String>? = null,
@JsonProperty("subtitles") val subtitles: ArrayList<Subtitles>? = arrayListOf(),
) {
data class Subtitles(
@JsonProperty("language") val language: String? = null,
@JsonProperty("file") val file: Any? = null,
)
2024-02-12 13:06:53 +00:00
}
data class NepuSearch(
@JsonProperty("data") val data: ArrayList<Data>? = arrayListOf(),
) {
data class Data(
@JsonProperty("url") val url: String? = null,
@JsonProperty("name") val name: String? = null,
@JsonProperty("type") val type: String? = null,
)
2023-12-15 04:32:48 +00:00
}