fix fembed links bruh [AnimeOnlineNinja] (#714)
This commit is contained in:
committed by
GitHub
parent
f728e6e016
commit
4967a8a0f8
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'AnimeonlineNinja'
|
||||
pkgNameSuffix = 'es.animeonlineninja'
|
||||
extClass = '.AnimeonlineNinja'
|
||||
extVersionCode = 5
|
||||
extVersionCode = 6
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
|
@ -137,8 +137,9 @@ class AnimeonlineNinja : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
val videos = mutableListOf<Video>()
|
||||
val langSelect = preferences.getString("preferred_lang", "SUB").toString()
|
||||
when {
|
||||
serverUrl.contains("fembed888") && lang.contains(langSelect) -> {
|
||||
videos.addAll(FembedExtractor().videosFromUrl(serverUrl, lang))
|
||||
serverUrl.contains("fembed") && lang.contains(langSelect) -> {
|
||||
val video = FembedExtractor().videosFromUrl(serverUrl)
|
||||
videos.addAll(video.map { Video(it.url, "$lang ${it.quality}", it.url) })
|
||||
}
|
||||
serverUrl.contains("streamtape") && lang.contains(langSelect) -> {
|
||||
StreamTapeExtractor(client).videoFromUrl(serverUrl, "$lang StreamTape")?.let { it1 -> videos.add(it1) }
|
||||
@ -158,7 +159,9 @@ class AnimeonlineNinja : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
.set("watchsb", "streamsb")
|
||||
.set("authority", "embedsb.com")
|
||||
.build()
|
||||
videos.addAll(StreamSBExtractor(client).videosFromUrl(serverUrl, headers, lang))
|
||||
|
||||
val video = StreamSBExtractor(client).videosFromUrl(serverUrl, headers)
|
||||
videos.addAll(video.map { Video(it.url, "$lang ${it.quality}", it.url) })
|
||||
} catch (e: Exception) { }
|
||||
}
|
||||
serverUrl.contains("mixdrop") && lang.contains(langSelect) -> {
|
||||
|
@ -6,23 +6,24 @@ import org.jsoup.Connection
|
||||
import org.jsoup.Jsoup
|
||||
|
||||
class FembedExtractor {
|
||||
fun videosFromUrl(url: String, qualityP: String): List<Video> {
|
||||
fun videosFromUrl(url: String, qualityPrefix: String = ""): List<Video> {
|
||||
val videoApi = url.replace("/v/", "/api/source/")
|
||||
val json = JSONObject(Jsoup.connect(videoApi).ignoreContentType(true).method(Connection.Method.POST).execute().body())
|
||||
val videoList = mutableListOf<Video>()
|
||||
val prefix = qualityPrefix
|
||||
if (json.getBoolean("success")) {
|
||||
val videoList = mutableListOf<Video>()
|
||||
val jsonArray = json.getJSONArray("data")
|
||||
for (i in 0 until jsonArray.length()) {
|
||||
val `object` = jsonArray.getJSONObject(i)
|
||||
val videoUrl = `object`.getString("file")
|
||||
val quality = "$qualityP Fembed:" + `object`.getString("label")
|
||||
val quality = prefix + "Fembed:" + `object`.getString("label")
|
||||
videoList.add(Video(videoUrl, quality, videoUrl))
|
||||
}
|
||||
return videoList
|
||||
} else {
|
||||
val videoUrl = "not used"
|
||||
val quality = "$qualityP Video taken down for dmca"
|
||||
val quality = "Video taken down for dmca"
|
||||
videoList.add(Video(videoUrl, quality, videoUrl))
|
||||
}
|
||||
return videoList
|
||||
|
@ -24,12 +24,14 @@ class StreamSBExtractor(private val client: OkHttpClient) {
|
||||
return String(hexChars)
|
||||
}
|
||||
|
||||
fun videosFromUrl(url: String, headers: Headers, lang: String): List<Video> {
|
||||
val id = url.substringAfter("embed-").substringBefore(".html").substringAfter("/e/")
|
||||
fun videosFromUrl(url: String, headers: Headers): List<Video> {
|
||||
val sbUrl = url.substringBefore("/e/")
|
||||
val id = url.substringAfter("/e/").substringBefore(".html")
|
||||
val bytes = id.toByteArray()
|
||||
val bytesToHex = bytesToHex(bytes)
|
||||
val master =
|
||||
"https://embedsb.com/sources43/566d337678566f743674494a7c7c${bytesToHex}7c7c346b6767586d6934774855537c7c73747265616d7362/6565417268755339773461447c7c346133383438333436313335376136323337373433383634376337633465366534393338373136643732373736343735373237613763376334363733353737303533366236333463353333363534366137633763373337343732363536313664373336327c7c6b586c3163614468645a47617c7c73747265616d7362"
|
||||
"$sbUrl/sources43/416f794d637048744d4565577c7c${bytesToHex}7c7c776e6c7a365964385a484b767c7c73747265616d7362/656d5a62394f713230524a667c7c373635353537333734623561373634613330353134633631376337633339353037343631363934393335363434333730373633363763376337613737353836323434353534363431343633323533376137633763373337343732363536313664373336327c7c59304b7778506d424c4c32767c7c73747265616d7362"
|
||||
|
||||
val json = Json.decodeFromString<JsonObject>(
|
||||
client.newCall(GET(master, headers))
|
||||
.execute().body!!.string()
|
||||
@ -38,7 +40,7 @@ class StreamSBExtractor(private val client: OkHttpClient) {
|
||||
val masterPlaylist = client.newCall(GET(masterUrl, headers)).execute().body!!.string()
|
||||
val videoList = mutableListOf<Video>()
|
||||
masterPlaylist.substringAfter("#EXT-X-STREAM-INF:").split("#EXT-X-STREAM-INF:").forEach {
|
||||
val quality = "$lang StreamSB:" + it.substringAfter("RESOLUTION=").substringAfter("x")
|
||||
val quality = "StreamSB:" + it.substringAfter("RESOLUTION=").substringAfter("x")
|
||||
.substringBefore(",") + "p"
|
||||
val videoUrl = it.substringAfter("\n").substringBefore("\n")
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, headers = headers))
|
||||
|
Reference in New Issue
Block a user