SuperStream: Change search url (#1060)

closes https://github.com/jmir1/aniyomi-extensions/issues/1061
This commit is contained in:
Samfun75
2022-12-06 17:10:23 +03:00
committed by GitHub
parent 01c752740a
commit b94a5f3b27
2 changed files with 9 additions and 7 deletions

View File

@ -1,7 +1,6 @@
package eu.kanade.tachiyomi.animeextension.en.superstream package eu.kanade.tachiyomi.animeextension.en.superstream
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
import kotlinx.serialization.json.JsonElement
@Serializable @Serializable
data class LinkData( data class LinkData(
@ -267,7 +266,7 @@ data class Subtitles(
val lang: String? = null, val lang: String? = null,
val language: String? = null, val language: String? = null,
val delay: Int? = null, val delay: Int? = null,
val point: JsonElement? = null, val point: String? = null,
val order: Int? = null, val order: Int? = null,
val admin_order: Int? = null, val admin_order: Int? = null,
val myselect: Int? = null, val myselect: Int? = null,

View File

@ -689,7 +689,6 @@ import eu.kanade.tachiyomi.network.POST
import kotlinx.serialization.decodeFromString import kotlinx.serialization.decodeFromString
import kotlinx.serialization.encodeToString import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json
import kotlinx.serialization.json.jsonPrimitive
import okhttp3.FormBody import okhttp3.FormBody
import okhttp3.Headers import okhttp3.Headers
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
@ -813,7 +812,7 @@ class SuperStreamAPI(val json: Json) {
} }
} }
private fun queryApi(query: String): Response { private fun queryApi(query: String, altApi: Boolean = false): Response {
val encryptedQuery = CipherUtils.encrypt(query, key, iv)!! val encryptedQuery = CipherUtils.encrypt(query, key, iv)!!
val appKeyHash = CipherUtils.md5(appKey)!! val appKeyHash = CipherUtils.md5(appKey)!!
val newBody = val newBody =
@ -835,7 +834,8 @@ class SuperStreamAPI(val json: Json) {
.add("medium", "Website&token$token") .add("medium", "Website&token$token")
.build() .build()
try { try {
return client.newCall(POST(apiUrl, headers = headers, body = formData)).execute() val url = if (altApi) secondApiUrl else apiUrl
return client.newCall(POST(url, headers = headers, body = formData)).execute()
} catch (e: Exception) { } catch (e: Exception) {
throw Exception("Query Failed $e") throw Exception("Query Failed $e")
} }
@ -863,6 +863,9 @@ class SuperStreamAPI(val json: Json) {
private val key = base64Decode("MTIzZDZjZWRmNjI2ZHk1NDIzM2FhMXc2") private val key = base64Decode("MTIzZDZjZWRmNjI2ZHk1NDIzM2FhMXc2")
private val ip = base64Decode("aHR0cHM6Ly8xNTIuMzIuMTQ5LjE2MA==") private val ip = base64Decode("aHR0cHM6Ly8xNTIuMzIuMTQ5LjE2MA==")
val apiUrl = "$ip${base64Decode("L2FwaS9hcGlfY2xpZW50L2luZGV4Lw==")}" val apiUrl = "$ip${base64Decode("L2FwaS9hcGlfY2xpZW50L2luZGV4Lw==")}"
// Thanks @Blatzar and his dream from cloudstream for the secondurl
private val secondApiUrl =
base64Decode("aHR0cHM6Ly9tYnBhcGkuc2hlZ3UubmV0L2FwaS9hcGlfY2xpZW50L2luZGV4Lw==")
private val appKey = base64Decode("bW92aWVib3g=") private val appKey = base64Decode("bW92aWVib3g=")
private val appId = base64Decode("Y29tLnRkby5zaG93Ym94") private val appId = base64Decode("Y29tLnRkby5zaG93Ym94")
@ -933,7 +936,7 @@ class SuperStreamAPI(val json: Json) {
val apiQuery = val apiQuery =
// Originally 8 pagelimit // Originally 8 pagelimit
"""{"childmode":"$hideNsfw","app_version":"11.5","appid":"$appId","module":"Search3","channel":"Website","page":"$page","lang":"en","type":"all","keyword":"$query","pagelimit":"20","expired_date":"${getExpiryDate()}","platform":"android"}""" """{"childmode":"$hideNsfw","app_version":"11.5","appid":"$appId","module":"Search3","channel":"Website","page":"$page","lang":"en","type":"all","keyword":"$query","pagelimit":"20","expired_date":"${getExpiryDate()}","platform":"android"}"""
val searchResponse = parseJson<MainData>(queryApi(apiQuery).body!!.string()).data.mapNotNull { val searchResponse = parseJson<MainData>(queryApi(apiQuery, true).body!!.string()).data.mapNotNull {
it.toSearchResponse() it.toSearchResponse()
} }
return searchResponse return searchResponse
@ -1006,7 +1009,7 @@ class SuperStreamAPI(val json: Json) {
subsList.add( subsList.add(
Track( Track(
sub.file_path, sub.file_path,
(sub.language ?: sub.lang ?: "Sub") + " ${index + 1} (${sub.point!!.jsonPrimitive.content})" (sub.language ?: sub.lang ?: "Sub") + " ${index + 1} (${sub.point!!})"
) )
) )
} }