From fd9fb1273023c50ac3ac047f87cf4de249aaa63d Mon Sep 17 00:00:00 2001 From: cristal-node <47137955+cristal-node@users.noreply.github.com> Date: Sun, 19 Jan 2025 06:02:31 +0900 Subject: [PATCH] feat(all/subsplease): debrid support for all/Subsplease (#568) * adding debrid sources by torrentio api * version update --- src/all/subsplease/build.gradle | 2 +- .../all/subsplease/Subsplease.kt | 88 ++++++++++++++++++- 2 files changed, 85 insertions(+), 5 deletions(-) diff --git a/src/all/subsplease/build.gradle b/src/all/subsplease/build.gradle index 9bc65153..076ef4d1 100644 --- a/src/all/subsplease/build.gradle +++ b/src/all/subsplease/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Subsplease' extClass = '.Subsplease' - extVersionCode = 1 + extVersionCode = 2 containsNsfw = false } diff --git a/src/all/subsplease/src/eu/kanade/tachiyomi/animeextension/all/subsplease/Subsplease.kt b/src/all/subsplease/src/eu/kanade/tachiyomi/animeextension/all/subsplease/Subsplease.kt index 250e0045..4eedcc59 100644 --- a/src/all/subsplease/src/eu/kanade/tachiyomi/animeextension/all/subsplease/Subsplease.kt +++ b/src/all/subsplease/src/eu/kanade/tachiyomi/animeextension/all/subsplease/Subsplease.kt @@ -2,6 +2,8 @@ package eu.kanade.tachiyomi.animeextension.all.subsplease import android.app.Application import android.content.SharedPreferences +import android.widget.Toast +import androidx.preference.EditTextPreference import androidx.preference.ListPreference import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource @@ -107,6 +109,19 @@ class Subsplease : ConfigurableAnimeSource, AnimeHttpSource() { return videosFromElement(responseString, num) } + private fun debrid(magnet: String): String { + val regex = Regex("xt=urn:btih:([A-Fa-f0-9]{40}|[A-Za-z0-9]{32})|dn=([^&]+)") + var infohash = "" + var title = "" + regex.findAll(magnet).forEach { match -> + match.groups[1]?.value?.let { infohash = it } + match.groups[2]?.value?.let { title = it } + } + val token = preferences.getString(PREF_TOKEN_KEY, null) + val debridProvider = preferences.getString(PREF_DEBRID_KEY, "none") + return "https://torrentio.strem.fun/$debridProvider/$token/$infohash/null/0/$title" + } + private fun videosFromElement(jsonLine: String?, num: String): List