[Madaradex] Fixes

master
Koitharu 7 months ago
parent 14c0eaf273
commit f62809407b
Signed by: Koitharu
GPG Key ID: 676DEE768C17A9D7

@ -15,17 +15,23 @@ import org.koitharu.kotatsu.parsers.network.UserAgents
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import org.koitharu.kotatsu.parsers.util.* import org.koitharu.kotatsu.parsers.util.*
private const val F_URL = "fullUrl="
@MangaSourceParser("MADARADEX", "MadaraDex", "en", ContentType.HENTAI) @MangaSourceParser("MADARADEX", "MadaraDex", "en", ContentType.HENTAI)
internal class MadaraDex(context: MangaLoaderContext) : internal class MadaraDex(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.MADARADEX, "madaradex.org") { MadaraParser(context, MangaParserSource.MADARADEX, "madaradex.org") {
init {
context.cookieJar.insertCookies(domain, "wpmanga-adault=1")
}
override fun onCreateConfig(keys: MutableCollection<ConfigKey<*>>) { override fun onCreateConfig(keys: MutableCollection<ConfigKey<*>>) {
super.onCreateConfig(keys) super.onCreateConfig(keys)
keys.remove(userAgentKey) keys.remove(userAgentKey)
} }
override fun getRequestHeaders() = super.getRequestHeaders().newBuilder() override fun getRequestHeaders() = super.getRequestHeaders().newBuilder()
.add("sec-fetch-site", "same-site") .set("User-Agent", UserAgents.CHROME_DESKTOP)
.build() .build()
override val authUrl: String override val authUrl: String
@ -66,14 +72,12 @@ internal class MadaraDex(context: MangaLoaderContext) :
override fun intercept(chain: Interceptor.Chain): Response { override fun intercept(chain: Interceptor.Chain): Response {
val request = chain.request() val request = chain.request()
val url = request.url val url = request.url
val fullUrl = url.fragment?.substringAfter(F_URL) val fullUrl = url.fragment?.substringAfter(F_URL, "")
return if (!fullUrl.isNullOrEmpty()) { return if (!fullUrl.isNullOrEmpty()) {
copyCookies()
val cleanUrl = url.newBuilder().fragment(null).toString() val cleanUrl = url.newBuilder().fragment(null).toString()
val newReq = request.newBuilder() val newReq = request.newBuilder()
.header("sec-fetch-site", "same-site")
.header("Referer", fullUrl) .header("Referer", fullUrl)
.header("User-Agent", UserAgents.CHROME_DESKTOP)
.header("Cookie", context.cookieJar.getCookies(fullUrl).toString())
.url(cleanUrl) .url(cleanUrl)
.build() .build()
chain.proceed(newReq) chain.proceed(newReq)
@ -82,7 +86,5 @@ internal class MadaraDex(context: MangaLoaderContext) :
} }
} }
private companion object { private fun copyCookies() = context.cookieJar.copyCookies(domain, "cdn.$domain")
const val F_URL = "fullUrl="
}
} }

Loading…
Cancel
Save