diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt index 4ff4310c..64def63b 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt @@ -700,20 +700,7 @@ object SoraExtractor : SoraStream() { fixUrl(iframe, kimcartoonAPI) ).document.selectFirst("div#divContentVideo iframe") ?.attr("src") ?: return - loadExtractor(source, "$kimcartoonAPI/", subtitleCallback) { link -> - callback.invoke( - ExtractorLink( - "Kimcartoon", - "Kimcartoon", - link.url, - link.referer, - link.quality, - link.isM3u8, - link.headers, - link.extractorData - ) - ) - } + loadExtractor(source, "$kimcartoonAPI/", subtitleCallback, callback) } suspend fun invokeSoraStream( @@ -953,17 +940,12 @@ object SoraExtractor : SoraStream() { ).parsedSafe()?.let { source -> listOf(source.video, source.thirdParty).apmap { link -> if (link?.contains(".m3u8") == true) { - callback.invoke( - ExtractorLink( - "Kisskh", - "Kisskh", - link, - referer = "$kissKhAPI/", - Qualities.P720.value, - true, - headers = mapOf("Origin" to kissKhAPI) - ) - ) + M3u8Helper.generateM3u8( + "Kisskh", + link, + "$kissKhAPI/", + headers = mapOf("Origin" to kissKhAPI) + ).forEach(callback) } else { loadExtractor( link?.substringBefore("=http") ?: return@apmap null, @@ -2641,6 +2623,11 @@ class Sblongvu : StreamSB() { override var mainUrl = "https://sblongvu.com" } +class Keephealth : StreamSB() { + override var name = "Kimcartoon" + override var mainUrl = "https://keephealth.info" +} + data class TitleSlug( val dotSlug: String? = null, val spaceSlug: String? = null, diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraStreamPlugin.kt b/SoraStream/src/main/kotlin/com/hexated/SoraStreamPlugin.kt index 6073c8f8..754b2f44 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraStreamPlugin.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraStreamPlugin.kt @@ -13,5 +13,6 @@ class SoraStreamPlugin: Plugin() { registerMainAPI(SoraStreamLite()) registerExtractorAPI(StreamM4u()) registerExtractorAPI(Sblongvu()) + registerExtractorAPI(Keephealth()) } } \ No newline at end of file