From d70e1fe173b096e6458b5fcc862df8c07b6ea311 Mon Sep 17 00:00:00 2001 From: CakesTwix Date: Sat, 5 Oct 2024 11:15:53 +0300 Subject: [PATCH] uaserialspro: Fix m3u8 parsing --- UASerialsProProvider/build.gradle.kts | 2 +- .../main/kotlin/com/lagradost/UASerialsProProvider.kt | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/UASerialsProProvider/build.gradle.kts b/UASerialsProProvider/build.gradle.kts index 92b9345..ac2ebc2 100644 --- a/UASerialsProProvider/build.gradle.kts +++ b/UASerialsProProvider/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 7 +version = 8 dependencies { implementation("com.google.code.gson:gson:2.9.0") diff --git a/UASerialsProProvider/src/main/kotlin/com/lagradost/UASerialsProProvider.kt b/UASerialsProProvider/src/main/kotlin/com/lagradost/UASerialsProProvider.kt index 6d4af22..a9dddc0 100644 --- a/UASerialsProProvider/src/main/kotlin/com/lagradost/UASerialsProProvider.kt +++ b/UASerialsProProvider/src/main/kotlin/com/lagradost/UASerialsProProvider.kt @@ -244,9 +244,12 @@ class UASerialsProProvider : MainAPI() { Gson().fromJson>(decryptData, listDecodedJSONModel)[0] .seasons[dataList[0].toInt()].episodes[dataList[1].toInt()].sounds.forEach { episode -> - val m3u8Url = app.get(episode.url).document.select("script").html() - .substringAfterLast("file: \"") - .substringBefore("\",") + val m3u8Url = app.get(episode.url).document.select("script").html() + .let { + val regex = """file:\s*"(.*?)"""".toRegex() + val matchResult = regex.find(it) + matchResult?.groups?.get(1)?.value.toString() + } M3u8Helper.generateM3u8( source = episode.title, streamUrl = m3u8Url.replace("https://", "http://"),