From c56e03abca84c0729e03ba07d1b649f2ed5df520 Mon Sep 17 00:00:00 2001 From: Dark25 Date: Thu, 1 Aug 2024 22:37:03 +0200 Subject: [PATCH] feat(fr/franime,frenchanime)): add vidmoly extractor and missing players --- lib/vidmoly-extractor/build.gradle.kts | 7 ++++ .../lib/vidmolyextractor/VidMolyExtractor.kt | 40 +++++++++++++++++++ src/fr/franime/build.gradle | 3 +- .../animeextension/fr/franime/FrAnime.kt | 14 +++++-- src/fr/frenchanime/build.gradle | 4 +- .../fr/frenchanime/FrenchAnime.kt | 38 +++++++++++++----- 6 files changed, 90 insertions(+), 16 deletions(-) create mode 100644 lib/vidmoly-extractor/build.gradle.kts create mode 100644 lib/vidmoly-extractor/src/main/java/eu/kanade/tachiyomi/lib/vidmolyextractor/VidMolyExtractor.kt diff --git a/lib/vidmoly-extractor/build.gradle.kts b/lib/vidmoly-extractor/build.gradle.kts new file mode 100644 index 000000000..a503203dd --- /dev/null +++ b/lib/vidmoly-extractor/build.gradle.kts @@ -0,0 +1,7 @@ +plugins { + id("lib-android") +} + +dependencies { + implementation(project(":lib:playlist-utils")) +} \ No newline at end of file diff --git a/lib/vidmoly-extractor/src/main/java/eu/kanade/tachiyomi/lib/vidmolyextractor/VidMolyExtractor.kt b/lib/vidmoly-extractor/src/main/java/eu/kanade/tachiyomi/lib/vidmolyextractor/VidMolyExtractor.kt new file mode 100644 index 000000000..105d43f6e --- /dev/null +++ b/lib/vidmoly-extractor/src/main/java/eu/kanade/tachiyomi/lib/vidmolyextractor/VidMolyExtractor.kt @@ -0,0 +1,40 @@ +package eu.kanade.tachiyomi.lib.vidmolyextractor + +import eu.kanade.tachiyomi.animesource.model.Video +import eu.kanade.tachiyomi.lib.playlistutils.PlaylistUtils +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.util.asJsoup +import okhttp3.Headers +import okhttp3.OkHttpClient +import okhttp3.internal.commonEmptyHeaders + +class VidMolyExtractor(private val client: OkHttpClient, headers: Headers = commonEmptyHeaders) { + + private val baseUrl = "https://vidmoly.to" + + private val playlistUtils by lazy { PlaylistUtils(client) } + + private val headers: Headers = headers.newBuilder() + .set("Origin", baseUrl) + .set("Referer", "$baseUrl/") + .build() + + private val sourcesRegex = Regex("sources: (.*?]),") + private val urlsRegex = Regex("""file:"(.*?)"""") + + fun videosFromUrl(url: String, prefix: String = ""): List