bump extensions-lib version
* also update all the `Video` constructors
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
// used both in common.gradle and themesources library
|
||||
dependencies {
|
||||
// Lib 12, but using specific commit so we don't need to bump up the version
|
||||
compileOnly "com.github.jmir1:extensions-lib:3581001"
|
||||
compileOnly "com.github.jmir1:extensions-lib:8400462"
|
||||
|
||||
// These are provided by the app itself
|
||||
compileOnly "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'Onepace'
|
||||
pkgNameSuffix = 'all.onepace'
|
||||
extClass = '.OnepaceFactory'
|
||||
extVersionCode = 3
|
||||
libVersion = '12'
|
||||
extVersionCode = 4
|
||||
libVersion = '13'
|
||||
containsNsfw = false
|
||||
}
|
||||
|
||||
|
@ -133,7 +133,7 @@ open class Onepace(override val lang: String, override val name: String) : Confi
|
||||
val videoId = realUrl.substringAfter("/v/").substringBefore("/file")
|
||||
val videoName = document.selectFirst("div.center div font+font").text()
|
||||
val videoUrl = "$hostUrl/d/$videoId/${(timeId.toInt() % 1000) + 11}/${URLEncoder.encode(videoName)}"
|
||||
return listOf(Video(videoUrl, "ZippyShare", videoUrl, null))
|
||||
return listOf(Video(videoUrl, "ZippyShare", videoUrl))
|
||||
}
|
||||
|
||||
override fun videoListSelector() = throw Exception("not used")
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'أكوام'
|
||||
pkgNameSuffix = 'ar.akwam'
|
||||
extClass = '.Akwam'
|
||||
extVersionCode = 6
|
||||
libVersion = '12'
|
||||
extVersionCode = 7
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -82,7 +82,7 @@ class Akwam : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
override fun videoListSelector() = "source"
|
||||
|
||||
override fun videoFromElement(element: Element): Video {
|
||||
return Video(element.attr("src").replace("https", "http"), element.attr("size") + "p", element.attr("src").replace("https", "http"), null)
|
||||
return Video(element.attr("src").replace("https", "http"), element.attr("size") + "p", element.attr("src").replace("https", "http"))
|
||||
}
|
||||
|
||||
override fun List<Video>.sort(): List<Video> {
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'اكوام مسلسلات'
|
||||
pkgNameSuffix = 'ar.akwams'
|
||||
extClass = '.AkwamS'
|
||||
extVersionCode = 5
|
||||
libVersion = '12'
|
||||
extVersionCode = 6
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -91,7 +91,7 @@ class AkwamS : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
override fun videoListSelector() = "source"
|
||||
|
||||
override fun videoFromElement(element: Element): Video {
|
||||
return Video(element.attr("src").replace("https", "http"), element.attr("size") + "p", element.attr("src").replace("https", "http"), null)
|
||||
return Video(element.attr("src").replace("https", "http"), element.attr("size") + "p", element.attr("src").replace("https", "http"))
|
||||
}
|
||||
|
||||
override fun List<Video>.sort(): List<Video> {
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'Anime4up'
|
||||
pkgNameSuffix = 'ar.anime4up'
|
||||
extClass = '.Anime4Up'
|
||||
extVersionCode = 28
|
||||
libVersion = '12'
|
||||
extVersionCode = 29
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -139,7 +139,7 @@ class Anime4Up : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
masterPlaylist.substringAfter("#EXT-X-STREAM-INF:").split("#EXT-X-STREAM-INF:").forEach {
|
||||
val quality = it.substringAfter("RESOLUTION=").substringAfter("x").substringBefore(",") + "p"
|
||||
val videoUrl = it.substringAfter("\n").substringBefore("\n")
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl))
|
||||
}
|
||||
return videoList
|
||||
}
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'أنمي بالكوم'
|
||||
pkgNameSuffix = 'ar.animeblkom'
|
||||
extClass = '.AnimeBlkom'
|
||||
extVersionCode = 6
|
||||
libVersion = '12'
|
||||
extVersionCode = 7
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -114,7 +114,7 @@ class AnimeBlkom : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
override fun videoListSelector() = "source"
|
||||
|
||||
override fun videoFromElement(element: Element): Video {
|
||||
return Video(element.attr("src").replace("watch", "download"), element.attr("res") + "p", element.attr("src").replace("watch", "download"), null)
|
||||
return Video(element.attr("src").replace("watch", "download"), element.attr("res") + "p", element.attr("src").replace("watch", "download"))
|
||||
}
|
||||
|
||||
override fun List<Video>.sort(): List<Video> {
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'AnimeLek'
|
||||
pkgNameSuffix = 'ar.animelek'
|
||||
extClass = '.AnimeLek'
|
||||
extVersionCode = 7
|
||||
libVersion = '12'
|
||||
extVersionCode = 8
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -108,7 +108,7 @@ class AnimeLek : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
url.contains("cloudemb.com") || url.contains("playersb.com") || url.contains("tubesb.com") ||
|
||||
url.contains("sbplay1.com") || url.contains("embedsb.com") || url.contains("watchsb.com") ||
|
||||
url.contains("sbplay2.com") || url.contains("japopav.tv") || url.contains("viewsb.com") ||
|
||||
url.contains("sbfast")|| url.contains("sbfull.com") || url.contains("javplaya.com") ||
|
||||
url.contains("sbfast") || url.contains("sbfull.com") || url.contains("javplaya.com") ||
|
||||
url.contains("ssbstream.net") || url.contains("p1ayerjavseen.com") || url.contains("sbthe.com")
|
||||
-> {
|
||||
val headers = headers.newBuilder()
|
||||
|
@ -26,7 +26,7 @@ class DoodExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = "$videoUrlStart$randomString?token=$token&expiry=$expiry"
|
||||
// val newQuality = "Doodstream mirror"
|
||||
|
||||
return Video(url, quality, videoUrl, null, doodHeaders(doodTld))
|
||||
return Video(url, quality, videoUrl, doodHeaders(doodTld))
|
||||
}
|
||||
|
||||
private fun getRandomString(length: Int = 10): String {
|
||||
|
@ -22,7 +22,7 @@ class OkruExtractor(private val client: OkHttpClient) {
|
||||
.replace("\\\\u0026", "&")
|
||||
val videoQuality = "Okru: " + it.substringBefore("\\\"")
|
||||
if (videoUrl.startsWith("https://")) {
|
||||
videoList.add(Video(videoUrl, videoQuality, videoUrl, null))
|
||||
videoList.add(Video(videoUrl, videoQuality, videoUrl))
|
||||
}
|
||||
}
|
||||
return videoList
|
||||
|
@ -11,9 +11,9 @@ class SharedExtractor(private val client: OkHttpClient) {
|
||||
val check = document.select("div.error4shared").text()
|
||||
val videoUrl = document.select("source").attr("src")
|
||||
return if (check.contains("This file is not available any more")) {
|
||||
Video(url, "no 1video", "https", null)
|
||||
Video(url, "no 1video", "https")
|
||||
} else {
|
||||
Video(url, quality, videoUrl, null)
|
||||
Video(url, quality, videoUrl)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ class StreamSBExtractor(private val client: OkHttpClient) {
|
||||
masterPlaylist.substringAfter("#EXT-X-STREAM-INF:").split("#EXT-X-STREAM-INF:").forEach {
|
||||
val quality = "StreamSB:" + it.substringAfter("RESOLUTION=").substringAfter("x").substringBefore(",") + "p"
|
||||
val videoUrl = it.substringAfter("\n").substringBefore("\n")
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null, headers))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, headers))
|
||||
}
|
||||
return videoList
|
||||
}
|
||||
|
@ -10,10 +10,10 @@ class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
val document = client.newCall(GET(url)).execute().asJsoup()
|
||||
val script = document.select("script:containsData(document.getElementById('robotlink'))")
|
||||
.firstOrNull()?.data()?.substringAfter("document.getElementById('robotlink').innerHTML = '")
|
||||
?: return Video(url, "no video", "videoUrl", null)
|
||||
?: return Video(url, "no video", "videoUrl")
|
||||
val videoUrl = "https:" + script.substringBefore("'") +
|
||||
script.substringAfter("+ ('xcd").substringBefore("'")
|
||||
val quality = "StreamTape"
|
||||
return Video(url, quality, videoUrl, null)
|
||||
return Video(url, quality, videoUrl)
|
||||
}
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ class VidBomExtractor(private val client: OkHttpClient) {
|
||||
for (source in sources) {
|
||||
val src = source.substringBefore("\"")
|
||||
val quality = "Vidbom:" + source.substringAfter("label:\"").substringBefore("\"") // .substringAfter("format: '")
|
||||
val video = Video(src, quality, src, null)
|
||||
val video = Video(src, quality, src)
|
||||
videoList.add(video)
|
||||
}
|
||||
return videoList
|
||||
@ -29,7 +29,7 @@ class VidBomExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = `object`.getString("file")
|
||||
Log.i("looool", videoUrl)
|
||||
val quality = "Vidbom:" + `object`.getString("label")
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl))
|
||||
}
|
||||
return videoList*/
|
||||
/*if (jas.contains("sources")) {
|
||||
@ -42,12 +42,12 @@ class VidBomExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = `object`.getString("file")
|
||||
Log.i("lol", videoUrl)
|
||||
val quality = "Vidbom:" + `object`.getString("label")
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl))
|
||||
}
|
||||
return videoList
|
||||
} else {
|
||||
val videoList = mutableListOf<Video>()
|
||||
videoList.add(Video(url, "no 2video", null, null))
|
||||
videoList.add(Video(url, "no 2video", null))
|
||||
return videoList
|
||||
}*/
|
||||
}
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'Animerco'
|
||||
pkgNameSuffix = 'ar.animerco'
|
||||
extClass = '.Animerco'
|
||||
extVersionCode = 9
|
||||
libVersion = '12'
|
||||
extVersionCode = 10
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -188,7 +188,7 @@ class Animerco : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
embedUrl.contains("cloudemb.com") || embedUrl.contains("playersb.com") || embedUrl.contains("tubesb.com") ||
|
||||
embedUrl.contains("sbplay1.com") || embedUrl.contains("embedsb.com") || embedUrl.contains("watchsb.com") ||
|
||||
embedUrl.contains("sbplay2.com") || embedUrl.contains("japopav.tv") || embedUrl.contains("viewsb.com") ||
|
||||
embedUrl.contains("sbfast")|| embedUrl.contains("sbfull.com") || embedUrl.contains("javplaya.com") ||
|
||||
embedUrl.contains("sbfast") || embedUrl.contains("sbfull.com") || embedUrl.contains("javplaya.com") ||
|
||||
embedUrl.contains("ssbstream.net") || embedUrl.contains("p1ayerjavseen.com") || embedUrl.contains("sbthe.com")
|
||||
-> {
|
||||
val headers = headers.newBuilder()
|
||||
|
@ -26,7 +26,7 @@ class DoodExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = "$videoUrlStart$randomString?token=$token&expiry=$expiry"
|
||||
val newQuality = "Doodstream mirror"
|
||||
|
||||
return Video(url, newQuality, videoUrl, null, doodHeaders(doodTld))
|
||||
return Video(url, newQuality, videoUrl, doodHeaders(doodTld))
|
||||
}
|
||||
|
||||
private fun getRandomString(length: Int = 10): String {
|
||||
|
@ -28,7 +28,7 @@ class FembedExtractor(private val client: OkHttpClient) {
|
||||
jsonR["data"]!!.jsonArray.forEach() {
|
||||
val videoUrl = it.jsonObject["file"].toString().trim('"')
|
||||
val quality = "Fembed:" + it.jsonObject["label"].toString().trim('"')
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl))
|
||||
}
|
||||
/*val jsonArray = json.getJSONArray("data")
|
||||
Log.i("jsoon", "$jsonArray")
|
||||
@ -36,13 +36,13 @@ class FembedExtractor(private val client: OkHttpClient) {
|
||||
val `object` = jsonArray.getJSONObject(i)
|
||||
val videoUrl = `object`.getString("file")
|
||||
val quality = "Fembed:" + `object`.getString("label")
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl))
|
||||
}*/
|
||||
return videoList
|
||||
} else {
|
||||
val videoUrl = "not used"
|
||||
val quality = "Video taken down for dmca"
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl))
|
||||
}
|
||||
return videoList
|
||||
}
|
||||
|
@ -11,9 +11,9 @@ class MpforuploadExtractor(private val client: OkHttpClient) {
|
||||
val check = document.select("div.error4shared").text()
|
||||
val videoUrl = document.select("source").attr("src")
|
||||
return if (check.contains("This file is not available any more")) {
|
||||
Video(url, "no 1video", "https", null)
|
||||
Video(url, "no 1video", "https")
|
||||
} else {
|
||||
Video(url, quality, videoUrl, null)
|
||||
Video(url, quality, videoUrl)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ class OkruExtractor(private val client: OkHttpClient) {
|
||||
.replace("\\\\u0026", "&")
|
||||
val videoQuality = "Okru: " + it.substringBefore("\\\"")
|
||||
if (videoUrl.startsWith("https://")) {
|
||||
videoList.add(Video(videoUrl, videoQuality, videoUrl, null))
|
||||
videoList.add(Video(videoUrl, videoQuality, videoUrl))
|
||||
}
|
||||
}
|
||||
return videoList
|
||||
|
@ -11,9 +11,9 @@ class SharedExtractor(private val client: OkHttpClient) {
|
||||
val check = document.select("div.error4shared").text()
|
||||
val videoUrl = document.select("source").attr("src")
|
||||
return if (check.contains("This file is not available any more")) {
|
||||
Video(url, "no 1video", "https", null)
|
||||
Video(url, "no 1video", "https")
|
||||
} else {
|
||||
Video(url, quality, videoUrl, null)
|
||||
Video(url, quality, videoUrl)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -40,7 +40,7 @@ class StreamSBExtractor(private val client: OkHttpClient) {
|
||||
masterPlaylist.substringAfter("#EXT-X-STREAM-INF:").split("#EXT-X-STREAM-INF:").forEach {
|
||||
val quality = "StreamSB:" + it.substringAfter("RESOLUTION=").substringAfter("x").substringBefore(",") + "p"
|
||||
val videoUrl = it.substringAfter("\n").substringBefore("\n")
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null, headers))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, headers))
|
||||
}
|
||||
return videoList
|
||||
}
|
||||
|
@ -10,10 +10,10 @@ class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
val document = client.newCall(GET(url)).execute().asJsoup()
|
||||
val script = document.select("script:containsData(document.getElementById('robotlink'))")
|
||||
.firstOrNull()?.data()?.substringAfter("document.getElementById('robotlink').innerHTML = '")
|
||||
?: return Video(url, "no video", "videoUrl", null)
|
||||
?: return Video(url, "no video", "videoUrl")
|
||||
val videoUrl = "https:" + script.substringBefore("'") +
|
||||
script.substringAfter("+ ('xcd").substringBefore("'")
|
||||
val quality = "StreamTape"
|
||||
return Video(url, quality, videoUrl, null)
|
||||
return Video(url, quality, videoUrl)
|
||||
}
|
||||
}
|
||||
|
@ -11,9 +11,9 @@ class UQLoadExtractor(private val client: OkHttpClient) {
|
||||
val check = document.selectFirst("script:containsData(sources)").data()
|
||||
val videoUrl = check.substringAfter("sources: [\"").substringBefore("\"")
|
||||
return if (check.contains("sources")) {
|
||||
Video(url, quality, videoUrl, null)
|
||||
Video(url, quality, videoUrl)
|
||||
} else {
|
||||
Video(url, "no 1video", "https", null)
|
||||
Video(url, "no 1video", "https")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ class VidBomExtractor(private val client: OkHttpClient) {
|
||||
for (source in sources) {
|
||||
val src = source.substringBefore("\"")
|
||||
val quality = "Vidbom:" + source.substringAfter("label:\"").substringBefore("\"") // .substringAfter("format: '")
|
||||
val video = Video(src, quality, src, null)
|
||||
val video = Video(src, quality, src)
|
||||
videoList.add(video)
|
||||
}
|
||||
return videoList
|
||||
@ -29,7 +29,7 @@ class VidBomExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = `object`.getString("file")
|
||||
Log.i("looool", videoUrl)
|
||||
val quality = "Vidbom:" + `object`.getString("label")
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl))
|
||||
}
|
||||
return videoList*/
|
||||
/*if (jas.contains("sources")) {
|
||||
@ -42,12 +42,12 @@ class VidBomExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = `object`.getString("file")
|
||||
Log.i("lol", videoUrl)
|
||||
val quality = "Vidbom:" + `object`.getString("label")
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl))
|
||||
}
|
||||
return videoList
|
||||
} else {
|
||||
val videoList = mutableListOf<Video>()
|
||||
videoList.add(Video(url, "no 2video", null, null))
|
||||
videoList.add(Video(url, "no 2video", null))
|
||||
return videoList
|
||||
}*/
|
||||
}
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'عرب سيد'
|
||||
pkgNameSuffix = 'ar.arabseed'
|
||||
extClass = '.ArabSeed'
|
||||
extVersionCode = 4
|
||||
libVersion = '12'
|
||||
extVersionCode = 5
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -100,7 +100,7 @@ class ArabSeed : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
embedUrl.contains("seeeed") -> {
|
||||
val iframeResponse = client.newCall(GET(embedUrl)).execute().asJsoup()
|
||||
val videoUrl = iframeResponse.select("source").attr("src")
|
||||
val video = Video(embedUrl, dataQu + "p", videoUrl.replace("https", "http"), null)
|
||||
val video = Video(embedUrl, dataQu + "p", videoUrl.replace("https", "http"))
|
||||
videoList.add(video)
|
||||
}
|
||||
}
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'asia2tv'
|
||||
pkgNameSuffix = 'ar.asia2tv'
|
||||
extClass = '.Asia2TV'
|
||||
extVersionCode = 4
|
||||
libVersion = '12'
|
||||
extVersionCode = 5
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -97,12 +97,12 @@ class Asia2TV : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
when {
|
||||
url.contains("https://dood") -> {
|
||||
val newQuality = "Doodstream mirror"
|
||||
val video = Video(url, newQuality, doodUrlParse(url), null, videoHeaders)
|
||||
val video = Video(url, newQuality, doodUrlParse(url), videoHeaders)
|
||||
videoList.add(video)
|
||||
}
|
||||
url.contains("https://streamtape") -> {
|
||||
val newQuality = "StreamTape mirror"
|
||||
val video = Video(url, newQuality, streamTapeParse(url), null, videoHeaders)
|
||||
val video = Video(url, newQuality, streamTapeParse(url), videoHeaders)
|
||||
videoList.add(video)
|
||||
}
|
||||
url.contains("https://www.fembed.com") -> {
|
||||
@ -112,7 +112,7 @@ class Asia2TV : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
for (source in sources) {
|
||||
val src = source.substringAfter("\"file\":\"").substringBefore("\"").replace("\\/", "/")
|
||||
val quality = source.substringAfter("\"label\":\"").substringBefore("\"")
|
||||
val video = Video(url, quality, src, null)
|
||||
val video = Video(url, quality, src)
|
||||
videoList.add(video)
|
||||
}
|
||||
}
|
||||
@ -172,8 +172,8 @@ class Asia2TV : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
for (source in sources) {
|
||||
val src = source.substringAfter("\"file\":\"").substringBefore("\"")
|
||||
val quality = source.substringBefore("\"") // .substringAfter("format: '")
|
||||
//val videos = Video(src, quality, src, null)
|
||||
return Video(url, quality, src, null)
|
||||
//val videos = Video(src, quality, src)
|
||||
return Video(url, quality, src)
|
||||
}
|
||||
return Video(url, quality, )
|
||||
}*/
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'CARTOONS4U'
|
||||
pkgNameSuffix = 'ar.cartons4u'
|
||||
extClass = '.Cartoons4U'
|
||||
extVersionCode = 2
|
||||
libVersion = '12'
|
||||
extVersionCode = 3
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -90,7 +90,7 @@ class Cartoons4U : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
for (source in sources) {
|
||||
val src = source.substringAfter("\"file\":\"").substringBefore("\"").replace("\\/", "/")
|
||||
val quality = source.substringAfter("\"label\":\"").substringBefore("\"")
|
||||
val video = Video(vidURL, quality, src, null)
|
||||
val video = Video(vidURL, quality, src)
|
||||
videoList.add(video)
|
||||
}
|
||||
return videoList
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'فاصل اعلاني'
|
||||
pkgNameSuffix = 'ar.faselhd'
|
||||
extClass = '.FASELHD'
|
||||
extVersionCode = 7
|
||||
libVersion = '12'
|
||||
extVersionCode = 8
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -114,7 +114,7 @@ class FASELHD : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
masterPlaylist.substringAfter("#EXT-X-STREAM-INF:").split("#EXT-X-STREAM-INF:").forEach {
|
||||
val quality = it.substringAfter("RESOLUTION=").substringAfter("x").substringBefore(",") + "p"
|
||||
val videoUrl = it.substringAfter("\n").substringBefore("\n").replace("https", "http")
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null, headers))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, headers))
|
||||
}
|
||||
return videoList
|
||||
}
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'فاصل اعلاني افلام بس'
|
||||
pkgNameSuffix = 'ar.faselhdmovies'
|
||||
extClass = '.FASELHDMOVIES'
|
||||
extVersionCode = 4
|
||||
libVersion = '12'
|
||||
extVersionCode = 5
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -95,7 +95,7 @@ class FASELHDMOVIES : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
masterPlaylist.substringAfter("#EXT-X-STREAM-INF:").split("#EXT-X-STREAM-INF:").forEach {
|
||||
val quality = it.substringAfter("RESOLUTION=").substringAfter("x").substringBefore(",") + "p"
|
||||
val videoUrl = it.substringAfter("\n").substringBefore("\n").replace("https", "http")
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null, headers))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, headers))
|
||||
}
|
||||
return videoList
|
||||
}
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'موفيز فور يو'
|
||||
pkgNameSuffix = 'ar.movies4u'
|
||||
extClass = '.Movies4U'
|
||||
extVersionCode = 3
|
||||
libVersion = '12'
|
||||
extVersionCode = 4
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -140,7 +140,7 @@ class Movies4U : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
for (source in sources) {
|
||||
val src = source.substringBefore("\"")
|
||||
val quality = source.substringAfter("label:\"").substringBefore("\"") // .substringAfter("format: '")
|
||||
val video = Video(src, quality, src, null)
|
||||
val video = Video(src, quality, src)
|
||||
videoList.add(video)
|
||||
}
|
||||
return videoList
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'MY CIMA'
|
||||
pkgNameSuffix = 'ar.mycima'
|
||||
extClass = '.MyCima'
|
||||
extVersionCode = 14
|
||||
libVersion = '12'
|
||||
extVersionCode = 15
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -124,13 +124,13 @@ class MyCima : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
for (source in sources) {
|
||||
val src = source.substringAfter("src: \"").substringBefore("\"")
|
||||
val quality = source.substringBefore("'") // .substringAfter("format: '")
|
||||
val video = Video(src, quality, src, null)
|
||||
val video = Video(src, quality, src)
|
||||
videoList.add(video)
|
||||
}
|
||||
return videoList
|
||||
}
|
||||
val sourceTag = element.ownerDocument().select("source").firstOrNull()!!
|
||||
return listOf(Video(sourceTag.attr("src"), "Default", sourceTag.attr("src"), null))
|
||||
return listOf(Video(sourceTag.attr("src"), "Default", sourceTag.attr("src")))
|
||||
}
|
||||
|
||||
override fun List<Video>.sort(): List<Video> {
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'MY CIMA MOVIES'
|
||||
pkgNameSuffix = 'ar.mycimamovie'
|
||||
extClass = '.MyCimaMovie'
|
||||
extVersionCode = 11
|
||||
libVersion = '12'
|
||||
extVersionCode = 12
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -97,13 +97,13 @@ class MyCimaMovie : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
for (source in sources) {
|
||||
val src = source.substringAfter("src: \"").substringBefore("\"")
|
||||
val quality = source.substringBefore("'") // .substringAfter("format: '")
|
||||
val video = Video(src, quality, src, null)
|
||||
val video = Video(src, quality, src)
|
||||
videoList.add(video)
|
||||
}
|
||||
return videoList
|
||||
}
|
||||
val sourceTag = element.ownerDocument().select("source").firstOrNull()!!
|
||||
return listOf(Video(sourceTag.attr("src"), "Default", sourceTag.attr("src"), null))
|
||||
return listOf(Video(sourceTag.attr("src"), "Default", sourceTag.attr("src")))
|
||||
}
|
||||
|
||||
override fun List<Video>.sort(): List<Video> {
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'WIT ANIME'
|
||||
pkgNameSuffix = 'ar.witanime'
|
||||
extClass = '.WitAnime'
|
||||
extVersionCode = 17
|
||||
libVersion = '12'
|
||||
extVersionCode = 18
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -108,7 +108,7 @@ class WitAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
server.contains("cloudemb.com") || server.contains("playersb.com") || server.contains("tubesb.com") ||
|
||||
server.contains("sbplay1.com") || server.contains("embedsb.com") || server.contains("watchsb.com") ||
|
||||
server.contains("sbplay2.com") || server.contains("japopav.tv") || server.contains("viewsb.com") ||
|
||||
server.contains("sbfast")|| server.contains("sbfull.com") || server.contains("javplaya.com") ||
|
||||
server.contains("sbfast") || server.contains("sbfull.com") || server.contains("javplaya.com") ||
|
||||
server.contains("ssbstream.net") || server.contains("p1ayerjavseen.com") || server.contains("sbthe.com")
|
||||
-> {
|
||||
val headers = headers.newBuilder()
|
||||
|
@ -26,7 +26,7 @@ class DoodExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = "$videoUrlStart$randomString?token=$token&expiry=$expiry"
|
||||
// val newQuality = "Doodstream mirror"
|
||||
|
||||
return Video(url, quality, videoUrl, null, doodHeaders(doodTld))
|
||||
return Video(url, quality, videoUrl, doodHeaders(doodTld))
|
||||
}
|
||||
|
||||
private fun getRandomString(length: Int = 10): String {
|
||||
|
@ -23,13 +23,13 @@ class FembedExtractor(private val client: OkHttpClient) {
|
||||
jsonR["data"]!!.jsonArray.forEach() {
|
||||
val videoUrl = it.jsonObject["file"].toString().trim('"')
|
||||
val quality = "Fembed:" + it.jsonObject["label"].toString().trim('"')
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl))
|
||||
}
|
||||
return videoList
|
||||
} else {
|
||||
val videoUrl = "not used"
|
||||
val quality = "Video taken down for dmca"
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl))
|
||||
}
|
||||
return videoList
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ class OkruExtractor(private val client: OkHttpClient) {
|
||||
.replace("\\\\u0026", "&")
|
||||
val videoQuality = "Okru: " + it.substringBefore("\\\"")
|
||||
if (videoUrl.startsWith("https://")) {
|
||||
videoList.add(Video(videoUrl, videoQuality, videoUrl, null))
|
||||
videoList.add(Video(videoUrl, videoQuality, videoUrl))
|
||||
}
|
||||
}
|
||||
return videoList
|
||||
|
@ -10,10 +10,10 @@ class SharedExtractor(private val client: OkHttpClient) {
|
||||
val document = client.newCall(GET(url)).execute().asJsoup()
|
||||
/*val videoList = mutableListOf<Video>()
|
||||
val src = document.select("source > src")
|
||||
val video = Video(src, "4Shared", src, null)
|
||||
val video = Video(src, "4Shared", src)
|
||||
videoList.add(video)
|
||||
return videoList*/
|
||||
// val vidSource = 4Shared.select("source")
|
||||
return Video(document.attr("source > src"), "4Shared", document.attr("source > src"), null)
|
||||
return Video(document.attr("source > src"), "4Shared", document.attr("source > src"))
|
||||
}
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ class SoraPlayExtractor(private val client: OkHttpClient) {
|
||||
for (source in sources) {
|
||||
val src = source.substringBefore("\"")
|
||||
val quality = "soraplay: " + source.substringAfter("\"label\":\"").substringBefore("\"") // .substringAfter("format: '")
|
||||
val video = Video(src, quality, src, null)
|
||||
val video = Video(src, quality, src)
|
||||
videoList.add(video)
|
||||
}
|
||||
return videoList
|
||||
|
@ -40,7 +40,7 @@ class StreamSBExtractor(private val client: OkHttpClient) {
|
||||
masterPlaylist.substringAfter("#EXT-X-STREAM-INF:").split("#EXT-X-STREAM-INF:").forEach {
|
||||
val quality = "StreamSB:" + it.substringAfter("RESOLUTION=").substringAfter("x").substringBefore(",") + "p"
|
||||
val videoUrl = it.substringAfter("\n").substringBefore("\n")
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null, headers))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, headers))
|
||||
}
|
||||
return videoList
|
||||
}
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'XS Anime'
|
||||
pkgNameSuffix = 'ar.xsanime'
|
||||
extClass = '.XsAnime'
|
||||
extVersionCode = 8
|
||||
libVersion = '12'
|
||||
extVersionCode = 9
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -92,7 +92,7 @@ class XsAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
|
||||
override fun videoFromElement(element: Element): Video {
|
||||
element.attr("src")
|
||||
return Video(element.attr("src"), "Default: If you want to change the quality go to extension settings", element.attr("src"), null)
|
||||
return Video(element.attr("src"), "Default: If you want to change the quality go to extension settings", element.attr("src"))
|
||||
}
|
||||
|
||||
override fun videoUrlParse(document: Document) = throw Exception("not used")
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'XS Movie'
|
||||
pkgNameSuffix = 'ar.xsmovie'
|
||||
extClass = '.XsMovie'
|
||||
extVersionCode = 3
|
||||
libVersion = '12'
|
||||
extVersionCode = 4
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -80,7 +80,7 @@ class XsMovie : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
override fun videoListSelector() = "source"
|
||||
|
||||
override fun videoFromElement(element: Element): Video {
|
||||
return Video(element.attr("src"), "Default: If you want to change the quality go to extension settings", element.attr("src"), null)
|
||||
return Video(element.attr("src"), "Default: If you want to change the quality go to extension settings", element.attr("src"))
|
||||
}
|
||||
|
||||
override fun videoUrlParse(document: Document) = throw Exception("not used")
|
||||
|
@ -6,8 +6,8 @@ ext {
|
||||
extName = 'Aniflix'
|
||||
pkgNameSuffix = 'de.aniflix'
|
||||
extClass = '.Aniflix'
|
||||
extVersionCode = 15
|
||||
libVersion = '12'
|
||||
extVersionCode = 16
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -23,7 +23,7 @@ class DoodExtractor(private val client: OkHttpClient) {
|
||||
).execute().body!!.string()
|
||||
val videoUrl = "$videoUrlStart$randomString?token=$token&expiry=$expiry"
|
||||
|
||||
return Video(url, quality, videoUrl, null, doodHeaders(doodTld))
|
||||
return Video(url, quality, videoUrl, doodHeaders(doodTld))
|
||||
}
|
||||
|
||||
private fun getRandomString(length: Int = 10): String {
|
||||
|
@ -13,6 +13,6 @@ class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
?: return null
|
||||
val videoUrl = "https:" + script.substringBefore("'") +
|
||||
script.substringAfter("+ ('xcd").substringBefore("'")
|
||||
return Video(url, quality, videoUrl, null)
|
||||
return Video(url, quality, videoUrl)
|
||||
}
|
||||
}
|
||||
|
@ -27,7 +27,7 @@ class StreamlareExtractor(private val client: OkHttpClient) {
|
||||
.substringBefore("\",")
|
||||
val response = client.newCall(POST("https://larecontent.com/video?token=$token")).execute()
|
||||
val videoUrl = response.request.url.toString()
|
||||
videoList.addAll((listOf(Video(videoUrl, quality, videoUrl, null))))
|
||||
videoList.addAll((listOf(Video(videoUrl, quality, videoUrl))))
|
||||
}
|
||||
return videoList
|
||||
}
|
||||
|
@ -12,6 +12,6 @@ class VoeExtractor(private val client: OkHttpClient) {
|
||||
val script = document.select("script:containsData(function d04ad2e48229ae25a282e15c7c2f69a2(dea04c5949242bfd216e35def894b930))")
|
||||
.firstOrNull()?.data()?.substringAfter("\"hls\": \"") ?: return null
|
||||
val videoUrl = script.substringAfter("\"hls\": \"").substringBefore("\",")
|
||||
return Video(url, quality, videoUrl, null)
|
||||
return Video(url, quality, videoUrl)
|
||||
}
|
||||
}
|
||||
|
@ -6,8 +6,8 @@ ext {
|
||||
extName = 'Anime Shitai'
|
||||
pkgNameSuffix = 'de.animeshitai'
|
||||
extClass = '.AnimeShitai'
|
||||
extVersionCode = 2
|
||||
libVersion = '12'
|
||||
extVersionCode = 3
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -25,7 +25,7 @@ class DoodExtractor(private val client: OkHttpClient) {
|
||||
).execute().body!!.string()
|
||||
val videoUrl = "$videoUrlStart$randomString?token=$token&expiry=$expiry"
|
||||
|
||||
return Video(url, quality, videoUrl, null, doodHeaders(doodTld))
|
||||
return Video(url, quality, videoUrl, doodHeaders(doodTld))
|
||||
}
|
||||
|
||||
private fun getRandomString(length: Int = 10): String {
|
||||
|
@ -13,6 +13,6 @@ class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
?: return null
|
||||
val videoUrl = "https:" + script.substringBefore("'") +
|
||||
script.substringAfter("+ ('xcd").substringBefore("'")
|
||||
return Video(url, quality, videoUrl, null)
|
||||
return Video(url, quality, videoUrl)
|
||||
}
|
||||
}
|
||||
|
@ -6,8 +6,8 @@ ext {
|
||||
extName = 'FilmPalast'
|
||||
pkgNameSuffix = 'de.filmpalast'
|
||||
extClass = '.FilmPalast'
|
||||
extVersionCode = 4
|
||||
libVersion = '12'
|
||||
extVersionCode = 5
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -108,10 +108,7 @@ class FilmPalast : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
linkRegex.find(this.select("script:containsData(document.getElementById('robotlink'))").toString())?.let {
|
||||
val quality = "Streamtape"
|
||||
val videoUrl = "https://streamtape.com/get_video?${it.groupValues[1]}&stream=1".replace("""" + '""", "")
|
||||
val video = Video(videoUrl, quality, videoUrl, null)
|
||||
if (video != null) {
|
||||
videoList.add(video)
|
||||
}
|
||||
videoList.add(Video(videoUrl, quality, videoUrl))
|
||||
}
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
@ -121,8 +118,8 @@ class FilmPalast : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
val quality = "Evoload"
|
||||
if (document.select("#EvoVid_html5_api").attr("src").contains("EvoStreams")) {
|
||||
val videoUrl = document.select("#EvoVid_html5_api").attr("src")
|
||||
if (Video(videoUrl, quality, videoUrl, null) != null) {
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null))
|
||||
if (videoUrl.isNotEmpty()) {
|
||||
videoList.add(Video(videoUrl, quality, videoUrl))
|
||||
}
|
||||
} else {
|
||||
EvoloadExtractor(client).videoFromUrl(url, quality)
|
||||
|
@ -27,7 +27,7 @@ class EvoloadExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = file.substringAfter("\"encoded_src\":\"").substringBefore("\",")
|
||||
when {
|
||||
!file.substringAfter("\"xstatus\":\"").substringBefore("\",").contains("del") -> {
|
||||
val video = Video(url, quality, videoUrl, null)
|
||||
val video = Video(url, quality, videoUrl)
|
||||
videoList.add(video)
|
||||
}
|
||||
}
|
||||
@ -35,7 +35,7 @@ class EvoloadExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = file.substringAfter("\"src\":\"").substringBefore("\",")
|
||||
when {
|
||||
!file.substringAfter("\"xstatus\":\"").substringBefore("\",").contains("del") -> {
|
||||
val video = Video(url, quality, videoUrl, null)
|
||||
val video = Video(url, quality, videoUrl)
|
||||
videoList.add(video)
|
||||
}
|
||||
}
|
||||
|
@ -12,6 +12,6 @@ class VoeExtractor(private val client: OkHttpClient) {
|
||||
val script = document.select("script:containsData(function d04ad2e48229ae25a282e15c7c2f69a2(dea04c5949242bfd216e35def894b930))")
|
||||
.firstOrNull()?.data()?.substringAfter("\"hls\": \"") ?: return null
|
||||
val videoUrl = script.substringAfter("\"hls\": \"").substringBefore("\",")
|
||||
return Video(url, quality, videoUrl, null)
|
||||
return Video(url, quality, videoUrl)
|
||||
}
|
||||
}
|
||||
|
@ -6,8 +6,8 @@ ext {
|
||||
extName = 'FireAnime'
|
||||
pkgNameSuffix = 'de.fireanime'
|
||||
extClass = '.FireAnime'
|
||||
extVersionCode = 3
|
||||
libVersion = '12'
|
||||
extVersionCode = 4
|
||||
libVersion = '13'
|
||||
containsNsfw = true
|
||||
}
|
||||
dependencies {
|
||||
|
@ -23,7 +23,7 @@ class DoodExtractor(private val client: OkHttpClient) {
|
||||
).execute().body!!.string()
|
||||
val videoUrl = "$videoUrlStart$randomString?token=$token&expiry=$expiry"
|
||||
|
||||
return Video(url, quality, videoUrl, null, doodHeaders(doodTld))
|
||||
return Video(url, quality, videoUrl, doodHeaders(doodTld))
|
||||
}
|
||||
|
||||
private fun getRandomString(length: Int = 10): String {
|
||||
|
@ -24,6 +24,6 @@ class FireCdnExtractor(private val client: OkHttpClient, private val json: Json)
|
||||
|
||||
val file = json.decodeFromString(FireCdnFileDto.serializer(), client.newCall(fileRequest).execute().body!!.string())
|
||||
val videoUrl = "${file.proxy.replace("\\", "")}/share/${file.file}/apple.mp4"
|
||||
return Video(url, quality, videoUrl, null)
|
||||
return Video(url, quality, videoUrl)
|
||||
}
|
||||
}
|
||||
|
@ -6,8 +6,8 @@ ext {
|
||||
extName = 'xCine'
|
||||
pkgNameSuffix = 'de.xcine'
|
||||
extClass = '.xCine'
|
||||
extVersionCode = 3
|
||||
libVersion = '12'
|
||||
extVersionCode = 4
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -44,7 +44,7 @@ class HDFilmExtractor(private val client: OkHttpClient) {
|
||||
if (client.newCall(GET(videoUrl)).execute().code == 204) {
|
||||
throw Exception("Einmal WebView öffnen und wieder schließen")
|
||||
} else {
|
||||
videoList.addAll((listOf(Video(videoUrl, quality, videoUrl, null))))
|
||||
videoList.addAll((listOf(Video(videoUrl, quality, videoUrl))))
|
||||
}
|
||||
}
|
||||
return videoList
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'AllMovies'
|
||||
pkgNameSuffix = 'en.allmovies'
|
||||
extClass = '.AllMovies'
|
||||
extVersionCode = 9
|
||||
libVersion = '12'
|
||||
extVersionCode = 10
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -128,7 +128,7 @@ class AllMovies : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
when {
|
||||
url.contains("https://dood") -> {
|
||||
val newQuality = "Doodstream mirror"
|
||||
val video = Video(url, newQuality, doodUrlParse(url), null, videoHeaders)
|
||||
val video = Video(url, newQuality, doodUrlParse(url), videoHeaders)
|
||||
videoList.add(video)
|
||||
}
|
||||
url.contains("streamhub") -> {
|
||||
@ -140,7 +140,7 @@ class AllMovies : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
masterPlaylist.substringAfter("#EXT-X-STREAM-INF:").split("#EXT-X-STREAM-INF:").forEach {
|
||||
val quality = it.substringAfter("RESOLUTION=").substringAfter("x").substringBefore(",") + "p"
|
||||
val videoUrl = it.substringAfter("\n").substringBefore("\n")
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'AnimeKisa'
|
||||
pkgNameSuffix = 'en.animekisa'
|
||||
extClass = '.AnimeKisa'
|
||||
extVersionCode = 4
|
||||
libVersion = '12'
|
||||
extVersionCode = 5
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -110,7 +110,7 @@ class AnimeKisa : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
masterPlaylist.substringAfter("#EXT-X-STREAM-INF:").split("#EXT-X-STREAM-INF:").forEach {
|
||||
val quality = it.substringAfter("RESOLUTION=").substringAfter("x").substringBefore("hls").replace("\n", "") + "p"
|
||||
val videoUrl = masterUrl.substringBeforeLast("/") + "/" + it.substringAfter("\n").substringBefore("\n")
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl))
|
||||
}
|
||||
return videoList
|
||||
}
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'AnimePahe'
|
||||
pkgNameSuffix = 'en.animepahe'
|
||||
extClass = '.AnimePahe'
|
||||
extVersionCode = 16
|
||||
libVersion = '12'
|
||||
extVersionCode = 17
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
@ -226,7 +226,7 @@ class AnimePahe : ConfigurableAnimeSource, AnimeHttpSource() {
|
||||
)
|
||||
} else {
|
||||
val videoUrl = KwikExtractor(client).getStreamUrlFromKwik(paheUrl)
|
||||
Video(videoUrl, quality, videoUrl, null)
|
||||
Video(videoUrl, quality, videoUrl)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'Animixplay'
|
||||
pkgNameSuffix = 'en.animixplay'
|
||||
extClass = '.Animixplay'
|
||||
extVersionCode = 11
|
||||
libVersion = '12'
|
||||
extVersionCode = 12
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -201,7 +201,7 @@ class Animixplay : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
masterPlaylist.substringAfter("#EXT-X-STREAM-INF:").split("#EXT-X-STREAM-INF:").forEach {
|
||||
val quality = it.substringAfter("RESOLUTION=").substringAfter("x").substringBefore(",") + "p"
|
||||
val videoUrl = it.substringAfter("\n").substringBefore("\n")
|
||||
videosList.add(Video(videoUrl, quality, videoUrl, null, headers))
|
||||
videosList.add(Video(videoUrl, quality, videoUrl, headers))
|
||||
}
|
||||
videosList
|
||||
}
|
||||
@ -213,7 +213,7 @@ class Animixplay : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
masterPlaylist.substringAfter("#EXT-X-STREAM-INF:").split("#EXT-X-STREAM-INF:").forEach {
|
||||
val quality = it.substringAfter("RESOLUTION=").substringAfter("x").substringBefore(",") + "p"
|
||||
val videoUrl = "$masterUrlPrefix/${it.substringAfter("\n").substringBefore("\r").substringBefore("\n")}"
|
||||
videosList.add(Video(videoUrl, quality, videoUrl, null, headers))
|
||||
videosList.add(Video(videoUrl, quality, videoUrl, headers))
|
||||
}
|
||||
return videosList
|
||||
}
|
||||
|
@ -47,7 +47,7 @@ class GogoCdnExtractor(private val client: OkHttpClient, private val json: Json)
|
||||
.split("#EXT-X-STREAM-INF:").reversed().forEach {
|
||||
val quality = it.substringAfter("RESOLUTION=").substringAfter("x").substringBefore("\n") + "p"
|
||||
val videoUrl = fileURL.substringBeforeLast("/") + "/" + it.substringAfter("\n").substringBefore("\n")
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl))
|
||||
}
|
||||
} else array.forEach {
|
||||
val label = it.jsonObject["label"].toString().toLowerCase(Locale.ROOT)
|
||||
@ -63,7 +63,7 @@ class GogoCdnExtractor(private val client: OkHttpClient, private val json: Json)
|
||||
videoHeaders
|
||||
)
|
||||
)
|
||||
else videoList.add(Video(fileURL, label, fileURL, null, videoHeaders))
|
||||
else videoList.add(Video(fileURL, label, fileURL, videoHeaders))
|
||||
}
|
||||
return videoList.reversed() + autoList
|
||||
} catch (e: Exception) {
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'AsianLoad'
|
||||
pkgNameSuffix = 'en.asianload'
|
||||
extClass = '.AsianLoad'
|
||||
extVersionCode = 13
|
||||
libVersion = '12'
|
||||
extVersionCode = 14
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -113,7 +113,7 @@ class AsianLoad : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
url.contains("cloudemb.com") || url.contains("playersb.com") || url.contains("tubesb.com") ||
|
||||
url.contains("sbplay1.com") || url.contains("embedsb.com") || url.contains("watchsb.com") ||
|
||||
url.contains("sbplay2.com") || url.contains("japopav.tv") || url.contains("viewsb.com") ||
|
||||
url.contains("sbfast")|| url.contains("sbfull.com") || url.contains("javplaya.com") ||
|
||||
url.contains("sbfast") || url.contains("sbfull.com") || url.contains("javplaya.com") ||
|
||||
url.contains("ssbstream.net") || url.contains("p1ayerjavseen.com") || url.contains("sbthe.com")
|
||||
-> {
|
||||
val headers = headers.newBuilder()
|
||||
|
@ -26,7 +26,7 @@ class DoodExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = "$videoUrlStart$randomString?token=$token&expiry=$expiry"
|
||||
val newQuality = "Doodstream mirror"
|
||||
|
||||
return Video(url, newQuality, videoUrl, null, doodHeaders(doodTld))
|
||||
return Video(url, newQuality, videoUrl, doodHeaders(doodTld))
|
||||
}
|
||||
|
||||
private fun getRandomString(length: Int = 10): String {
|
||||
|
@ -17,13 +17,13 @@ class FembedExtractor {
|
||||
val `object` = jsonArray.getJSONObject(i)
|
||||
val videoUrl = `object`.getString("file")
|
||||
val quality = "Fembed:" + `object`.getString("label")
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl))
|
||||
}
|
||||
return videoList
|
||||
} else {
|
||||
val videoUrl = "not used"
|
||||
val quality = "Video taken down for dmca"
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl))
|
||||
}
|
||||
return videoList
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ class StreamSBExtractor(private val client: OkHttpClient) {
|
||||
masterPlaylist.substringAfter("#EXT-X-STREAM-INF:").split("#EXT-X-STREAM-INF:").forEach {
|
||||
val quality = "StreamSB:" + it.substringAfter("RESOLUTION=").substringAfter("x").substringBefore(",") + "p"
|
||||
val videoUrl = it.substringAfter("\n").substringBefore("\n")
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null, headers))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, headers))
|
||||
}
|
||||
return videoList
|
||||
}
|
||||
|
@ -14,6 +14,6 @@ class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = "https:" + script.substringBefore("'") +
|
||||
script.substringAfter("+ ('xcd").substringBefore("'")
|
||||
val quality = "StreamTape"
|
||||
return Video(url, quality, videoUrl, null)
|
||||
return Video(url, quality, videoUrl)
|
||||
}
|
||||
}
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'DopeBox'
|
||||
pkgNameSuffix = 'en.dopebox'
|
||||
extClass = '.DopeBox'
|
||||
extVersionCode = 4
|
||||
libVersion = '12'
|
||||
extVersionCode = 5
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -176,11 +176,11 @@ class DopeBox : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
masterPlaylist.substringAfter("#EXT-X-STREAM-INF:").split("#EXT-X-STREAM-INF:").forEach {
|
||||
val quality = it.substringAfter("RESOLUTION=").substringAfter("x").substringBefore("\n") + "p"
|
||||
val videoUrl = it.substringAfter("\n").substringBefore("\n")
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl))
|
||||
}
|
||||
return videoList
|
||||
} else if (test.contains("index.m3u8")) {
|
||||
return listOf(Video(masterUrl, "Default", masterUrl, null))
|
||||
return listOf(Video(masterUrl, "Default", masterUrl))
|
||||
} else {
|
||||
throw Exception("never give up and try again :)")
|
||||
}
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'DramaCool'
|
||||
pkgNameSuffix = 'en.dramacool'
|
||||
extClass = '.DramaCool'
|
||||
extVersionCode = 16
|
||||
libVersion = '12'
|
||||
extVersionCode = 17
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -123,7 +123,7 @@ class DramaCool : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
url.contains("cloudemb.com") || url.contains("playersb.com") || url.contains("tubesb.com") ||
|
||||
url.contains("sbplay1.com") || url.contains("embedsb.com") || url.contains("watchsb.com") ||
|
||||
url.contains("sbplay2.com") || url.contains("japopav.tv") || url.contains("viewsb.com") ||
|
||||
url.contains("sbfast")|| url.contains("sbfull.com") || url.contains("javplaya.com") ||
|
||||
url.contains("sbfast") || url.contains("sbfull.com") || url.contains("javplaya.com") ||
|
||||
url.contains("ssbstream.net") || url.contains("p1ayerjavseen.com") || url.contains("sbthe.com")
|
||||
-> {
|
||||
val headers = headers.newBuilder()
|
||||
|
@ -26,7 +26,7 @@ class DoodExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = "$videoUrlStart$randomString?token=$token&expiry=$expiry"
|
||||
val newQuality = "Doodstream mirror"
|
||||
|
||||
return Video(url, newQuality, videoUrl, null, doodHeaders(doodTld))
|
||||
return Video(url, newQuality, videoUrl, doodHeaders(doodTld))
|
||||
}
|
||||
|
||||
private fun getRandomString(length: Int = 10): String {
|
||||
|
@ -17,13 +17,13 @@ class FembedExtractor {
|
||||
val `object` = jsonArray.getJSONObject(i)
|
||||
val videoUrl = `object`.getString("file")
|
||||
val quality = "Fembed:" + `object`.getString("label")
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl))
|
||||
}
|
||||
return videoList
|
||||
} else {
|
||||
val videoUrl = "not used"
|
||||
val quality = "Video taken down for dmca"
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl))
|
||||
}
|
||||
return videoList
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ class StreamSBExtractor(private val client: OkHttpClient) {
|
||||
masterPlaylist.substringAfter("#EXT-X-STREAM-INF:").split("#EXT-X-STREAM-INF:").forEach {
|
||||
val quality = "StreamSB:" + it.substringAfter("RESOLUTION=").substringAfter("x").substringBefore(",") + "p"
|
||||
val videoUrl = it.substringAfter("\n").substringBefore("\n")
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, null, headers))
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, headers))
|
||||
}
|
||||
return videoList
|
||||
}
|
||||
|
@ -14,6 +14,6 @@ class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = "https:" + script.substringBefore("'") +
|
||||
script.substringAfter("+ ('xcd").substringBefore("'")
|
||||
val quality = "StreamTape"
|
||||
return Video(url, quality, videoUrl, null)
|
||||
return Video(url, quality, videoUrl)
|
||||
}
|
||||
}
|
||||
|
@ -5,8 +5,8 @@ ext {
|
||||
extName = 'GenoAnime'
|
||||
pkgNameSuffix = 'en.genoanime'
|
||||
extClass = '.GenoAnime'
|
||||
extVersionCode = 13
|
||||
libVersion = '12'
|
||||
extVersionCode = 14
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
@ -127,7 +127,7 @@ class GenoAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
url.contains("cloudemb.com") || url.contains("playersb.com") || url.contains("tubesb.com") ||
|
||||
url.contains("sbplay1.com") || url.contains("embedsb.com") || url.contains("watchsb.com") ||
|
||||
url.contains("sbplay2.com") || url.contains("japopav.tv") || url.contains("viewsb.com") ||
|
||||
url.contains("sbfast")|| url.contains("sbfull.com") || url.contains("javplaya.com") ||
|
||||
url.contains("sbfast") || url.contains("sbfull.com") || url.contains("javplaya.com") ||
|
||||
url.contains("ssbstream.net") || url.contains("p1ayerjavseen.com") || url.contains("sbthe.com")
|
||||
-> {
|
||||
val headers = headers.newBuilder()
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user