MarinMoe: Fix seeking & cookies (#1197)

This commit is contained in:
Secozzi
2023-01-21 21:23:27 +01:00
committed by GitHub
parent e488738935
commit fed99f9fde
2 changed files with 11 additions and 13 deletions

View File

@ -6,7 +6,7 @@ ext {
extName = 'marin.moe' extName = 'marin.moe'
pkgNameSuffix = 'en.marinmoe' pkgNameSuffix = 'en.marinmoe'
extClass = '.MarinMoe' extClass = '.MarinMoe'
extVersionCode = 6 extVersionCode = 7
libVersion = '13' libVersion = '13'
} }

View File

@ -65,7 +65,7 @@ class MarinMoe : ConfigurableAnimeSource, AnimeHttpSource() {
} }
override fun popularAnimeRequest(page: Int): Request { override fun popularAnimeRequest(page: Int): Request {
return GET("$baseUrl/anime?sort=vwk-d&page=$page") return GET("$baseUrl/anime?sort=vwk-d&page=$page", headers = headers)
} }
// =============================== Latest =============================== // =============================== Latest ===============================
@ -196,25 +196,23 @@ class MarinMoe : ConfigurableAnimeSource, AnimeHttpSource() {
} }
override fun videoListParse(response: Response): List<Video> { override fun videoListParse(response: Response): List<Video> {
var cookiesResponse = client.newCall(GET(response.request.url.toString(), headers = headers)).execute()
var newHeaders = headers.newBuilder() var newHeaders = headers.newBuilder()
val ddosCookies = client.cookieJar.loadForRequest(response.request.url).filter {
// Don't need these
it.name !in arrayOf("__ddgid_", "__ddgmark_")
}.joinToString(";") { "${it.name}=${it.value}" }
for (cookie in cookiesResponse.headers) { newHeaders.add(
if (cookie.first == "set-cookie" && cookie.second.startsWith("XSRF-TOKEN")) { "X-XSRF-TOKEN",
newHeaders.add("X-XSRF-TOKEN", cookie.second.substringAfter("=").substringBefore(";").replace("%3D", "=")) ddosCookies.substringAfter("XSRF-TOKEN=").substringBefore(";").replace("%3D", "=")
} )
if (cookie.first == "set-cookie" && cookie.second.startsWith("marinmoe_session")) { newHeaders.add("Cookie", ddosCookies)
newHeaders.add("Cookie", cookie.second.substringBefore(";").replace("%3D", "="))
}
}
val videoHeaders = newHeaders.build().newBuilder() val videoHeaders = newHeaders.build().newBuilder()
.add("Accept", "video/webm,video/ogg,video/*;q=0.9,application/ogg;q=0.7,audio/*;q=0.6,*/*;q=0.5") .add("Accept", "video/webm,video/ogg,video/*;q=0.9,application/ogg;q=0.7,audio/*;q=0.6,*/*;q=0.5")
.add("Referer", response.request.url.toString()) .add("Referer", response.request.url.toString())
.add("Accept-Language", "en-US,en;q=0.5") .add("Accept-Language", "en-US,en;q=0.5")
.add("Range", "bytes=0-")
newHeaders.add("Origin", baseUrl) newHeaders.add("Origin", baseUrl)
.add("Content-Type", "application/json") .add("Content-Type", "application/json")