[ConstellarScans] use mobile UA for requesting page list (#15044)

This commit is contained in:
beerpsi 2023-01-21 00:51:55 +07:00 committed by GitHub
parent 2c306a4da4
commit fe093b3eac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 2 deletions

View File

@ -8,9 +8,15 @@ import android.graphics.ColorMatrixColorFilter
import android.graphics.Paint
import android.graphics.Rect
import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.interceptor.rateLimit
import eu.kanade.tachiyomi.source.model.Page
import eu.kanade.tachiyomi.source.model.SChapter
import kotlinx.serialization.json.jsonArray
import kotlinx.serialization.json.jsonObject
import kotlinx.serialization.json.jsonPrimitive
import okhttp3.MediaType.Companion.toMediaTypeOrNull
import okhttp3.Request
import okhttp3.ResponseBody.Companion.toResponseBody
import org.jsoup.nodes.Document
import java.io.ByteArrayOutputStream
@ -39,10 +45,28 @@ class ConstellarScans : MangaThemesia("Constellar Scans", "https://constellarsca
response.newBuilder()
.body(body)
.build()
}.build()
}
.build()
override val seriesStatusSelector = ".status"
private val mobileUserAgent by lazy {
val req = GET(UA_DB_URL)
val resp = client.newCall(req).execute()
val mobileUaList = resp.body!!.use {
json.parseToJsonElement(it.string()).jsonObject["mobile"]!!.jsonArray.map {
it.jsonPrimitive.content
}
}
mobileUaList.random().trim()
}
override fun pageListRequest(chapter: SChapter): Request =
super.pageListRequest(chapter).newBuilder()
.header("User-Agent", mobileUserAgent)
.build()
override fun pageListParse(document: Document): List<Page> {
val pageList = super.pageListParse(document)
return when {
@ -150,6 +174,7 @@ class ConstellarScans : MangaThemesia("Constellar Scans", "https://constellarsca
companion object {
const val DESCRAMBLE = "descramble"
const val UA_DB_URL = "https://tachiyomiorg.github.io/user-agents/user-agents.json"
const val LOOKUP_STRING =
" !\"#${'$'}%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}"
const val LOOKUP_STRING_ALNUM =

View File

@ -25,7 +25,7 @@ class MangaThemesiaGenerator : ThemeSourceGenerator {
SingleLang("Azure Scans", "https://azuremanga.com", "en", overrideVersionCode = 1),
SingleLang("Boosei", "https://boosei.net", "id", overrideVersionCode = 2),
SingleLang("Clayrer", "https://clayrer.net", "es"),
SingleLang("Constellar Scans", "https://constellarscans.com", "en", isNsfw = true, overrideVersionCode = 2),
SingleLang("Constellar Scans", "https://constellarscans.com", "en", isNsfw = true, overrideVersionCode = 3),
SingleLang("Cosmic Scans", "https://cosmicscans.com", "en", overrideVersionCode = 1),
SingleLang("Diskus Scan", "https://diskusscan.com", "pt-BR", overrideVersionCode = 7),
SingleLang("Dojing.net", "https://dojing.net", "id", isNsfw = true, className = "DojingNet"),