This commit is contained in:
almightyhak 2024-07-10 11:30:57 +07:00
commit e1d2f0731f
6 changed files with 16 additions and 6 deletions

View file

@ -1,7 +1,7 @@
ext { ext {
extName = 'Anime4up' extName = 'Anime4up'
extClass = '.Anime4Up' extClass = '.Anime4Up'
extVersionCode = 56 extVersionCode = 57
} }
apply from: "$rootDir/common.gradle" apply from: "$rootDir/common.gradle"

View file

@ -22,7 +22,6 @@ import eu.kanade.tachiyomi.lib.vidbomextractor.VidBomExtractor
import eu.kanade.tachiyomi.lib.voeextractor.VoeExtractor import eu.kanade.tachiyomi.lib.voeextractor.VoeExtractor
import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
import kotlinx.serialization.decodeFromString import kotlinx.serialization.decodeFromString
import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json
@ -154,7 +153,7 @@ class Anime4Up : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
val parsedData = json.decodeFromString<Qualities>(base64) val parsedData = json.decodeFromString<Qualities>(base64)
val streamLinks = with(parsedData) { fhd + hd + sd } val streamLinks = with(parsedData) { fhd + hd + sd }
return streamLinks.values.distinct().parallelCatchingFlatMapBlocking(::extractVideos) return streamLinks.values.distinct().flatMap(::extractVideos)
} }
private val uqloadExtractor by lazy { UqloadExtractor(client) } private val uqloadExtractor by lazy { UqloadExtractor(client) }

View file

@ -1,7 +1,7 @@
ext { ext {
extName = 'Hackstore' extName = 'Hackstore'
extClass = '.Hackstore' extClass = '.Hackstore'
extVersionCode = 9 extVersionCode = 10
} }
apply from: "$rootDir/common.gradle" apply from: "$rootDir/common.gradle"
@ -12,4 +12,5 @@ dependencies {
implementation(project(':lib:filemoon-extractor')) implementation(project(':lib:filemoon-extractor'))
implementation(project(':lib:streamwish-extractor')) implementation(project(':lib:streamwish-extractor'))
implementation(project(':lib:dood-extractor')) implementation(project(':lib:dood-extractor'))
implementation(project(':lib:vidhide-extractor'))
} }

View file

@ -16,6 +16,7 @@ import eu.kanade.tachiyomi.lib.doodextractor.DoodExtractor
import eu.kanade.tachiyomi.lib.filemoonextractor.FilemoonExtractor import eu.kanade.tachiyomi.lib.filemoonextractor.FilemoonExtractor
import eu.kanade.tachiyomi.lib.streamtapeextractor.StreamTapeExtractor import eu.kanade.tachiyomi.lib.streamtapeextractor.StreamTapeExtractor
import eu.kanade.tachiyomi.lib.streamwishextractor.StreamWishExtractor import eu.kanade.tachiyomi.lib.streamwishextractor.StreamWishExtractor
import eu.kanade.tachiyomi.lib.vidhideextractor.VidHideExtractor
import eu.kanade.tachiyomi.lib.voeextractor.VoeExtractor import eu.kanade.tachiyomi.lib.voeextractor.VoeExtractor
import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup import eu.kanade.tachiyomi.util.asJsoup
@ -32,7 +33,7 @@ class Hackstore : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val name = "Hackstore" override val name = "Hackstore"
override val baseUrl = "https://hackstore.to" override val baseUrl = "https://hackstore.fo"
override val lang = "es" override val lang = "es"
@ -177,6 +178,7 @@ class Hackstore : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
private val filemoonExtractor by lazy { FilemoonExtractor(client) } private val filemoonExtractor by lazy { FilemoonExtractor(client) }
private val streamWishExtractor by lazy { StreamWishExtractor(client, headers) } private val streamWishExtractor by lazy { StreamWishExtractor(client, headers) }
private val doodExtractor by lazy { DoodExtractor(client) } private val doodExtractor by lazy { DoodExtractor(client) }
private val vidHideExtractor by lazy { VidHideExtractor(client, headers) }
override fun videoListParse(response: Response): List<Video> { override fun videoListParse(response: Response): List<Video> {
val document = response.asJsoup() val document = response.asJsoup()
@ -202,6 +204,9 @@ class Hackstore : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
server.contains("doodstream") || server.contains("dood.") || server.contains("ds2play") || server.contains("doods.") -> { server.contains("doodstream") || server.contains("dood.") || server.contains("ds2play") || server.contains("doods.") -> {
doodExtractor.videosFromUrl(url, "$prefix DoodStream") doodExtractor.videosFromUrl(url, "$prefix DoodStream")
} }
server.contains("vidhide") || server.contains("vid.") -> {
vidHideExtractor.videosFromUrl(url) { "$prefix VidHide:$it" }
}
else -> emptyList() else -> emptyList()
} }
} }

View file

@ -1,7 +1,7 @@
ext { ext {
extName = 'ANIMEWORLD.tv' extName = 'ANIMEWORLD.tv'
extClass = '.ANIMEWORLD' extClass = '.ANIMEWORLD'
extVersionCode = 38 extVersionCode = 39
} }
apply from: "$rootDir/common.gradle" apply from: "$rootDir/common.gradle"

View file

@ -14,6 +14,7 @@ import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource
import eu.kanade.tachiyomi.lib.doodextractor.DoodExtractor import eu.kanade.tachiyomi.lib.doodextractor.DoodExtractor
import eu.kanade.tachiyomi.lib.filemoonextractor.FilemoonExtractor import eu.kanade.tachiyomi.lib.filemoonextractor.FilemoonExtractor
import eu.kanade.tachiyomi.lib.streamtapeextractor.StreamTapeExtractor
import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup import eu.kanade.tachiyomi.util.asJsoup
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
@ -148,6 +149,10 @@ class ANIMEWORLD : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
DoodExtractor(client).videoFromUrl(url, redirect = true) DoodExtractor(client).videoFromUrl(url, redirect = true)
?.let(::listOf) ?.let(::listOf)
} }
url.contains("streamtape") -> {
StreamTapeExtractor(client).videoFromUrl(url.replace("/v/", "/e/"))
?.let(::listOf)
}
url.contains("filemoon") -> { url.contains("filemoon") -> {
FilemoonExtractor(client).videosFromUrl(url, prefix = "${server.first} - ", headers = headers) FilemoonExtractor(client).videosFromUrl(url, prefix = "${server.first} - ", headers = headers)
} }