[ConstellarScans] use mobile UA for requesting page list (#15044)
This commit is contained in:
parent
2c306a4da4
commit
fe093b3eac
@ -8,9 +8,15 @@ import android.graphics.ColorMatrixColorFilter
|
|||||||
import android.graphics.Paint
|
import android.graphics.Paint
|
||||||
import android.graphics.Rect
|
import android.graphics.Rect
|
||||||
import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
|
import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
|
||||||
|
import eu.kanade.tachiyomi.network.GET
|
||||||
import eu.kanade.tachiyomi.network.interceptor.rateLimit
|
import eu.kanade.tachiyomi.network.interceptor.rateLimit
|
||||||
import eu.kanade.tachiyomi.source.model.Page
|
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.MediaType.Companion.toMediaTypeOrNull
|
||||||
|
import okhttp3.Request
|
||||||
import okhttp3.ResponseBody.Companion.toResponseBody
|
import okhttp3.ResponseBody.Companion.toResponseBody
|
||||||
import org.jsoup.nodes.Document
|
import org.jsoup.nodes.Document
|
||||||
import java.io.ByteArrayOutputStream
|
import java.io.ByteArrayOutputStream
|
||||||
@ -39,10 +45,28 @@ class ConstellarScans : MangaThemesia("Constellar Scans", "https://constellarsca
|
|||||||
response.newBuilder()
|
response.newBuilder()
|
||||||
.body(body)
|
.body(body)
|
||||||
.build()
|
.build()
|
||||||
}.build()
|
}
|
||||||
|
.build()
|
||||||
|
|
||||||
override val seriesStatusSelector = ".status"
|
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> {
|
override fun pageListParse(document: Document): List<Page> {
|
||||||
val pageList = super.pageListParse(document)
|
val pageList = super.pageListParse(document)
|
||||||
return when {
|
return when {
|
||||||
@ -150,6 +174,7 @@ class ConstellarScans : MangaThemesia("Constellar Scans", "https://constellarsca
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val DESCRAMBLE = "descramble"
|
const val DESCRAMBLE = "descramble"
|
||||||
|
const val UA_DB_URL = "https://tachiyomiorg.github.io/user-agents/user-agents.json"
|
||||||
const val LOOKUP_STRING =
|
const val LOOKUP_STRING =
|
||||||
" !\"#${'$'}%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}"
|
" !\"#${'$'}%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}"
|
||||||
const val LOOKUP_STRING_ALNUM =
|
const val LOOKUP_STRING_ALNUM =
|
||||||
|
@ -25,7 +25,7 @@ class MangaThemesiaGenerator : ThemeSourceGenerator {
|
|||||||
SingleLang("Azure Scans", "https://azuremanga.com", "en", overrideVersionCode = 1),
|
SingleLang("Azure Scans", "https://azuremanga.com", "en", overrideVersionCode = 1),
|
||||||
SingleLang("Boosei", "https://boosei.net", "id", overrideVersionCode = 2),
|
SingleLang("Boosei", "https://boosei.net", "id", overrideVersionCode = 2),
|
||||||
SingleLang("Clayrer", "https://clayrer.net", "es"),
|
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("Cosmic Scans", "https://cosmicscans.com", "en", overrideVersionCode = 1),
|
||||||
SingleLang("Diskus Scan", "https://diskusscan.com", "pt-BR", overrideVersionCode = 7),
|
SingleLang("Diskus Scan", "https://diskusscan.com", "pt-BR", overrideVersionCode = 7),
|
||||||
SingleLang("Dojing.net", "https://dojing.net", "id", isNsfw = true, className = "DojingNet"),
|
SingleLang("Dojing.net", "https://dojing.net", "id", isNsfw = true, className = "DojingNet"),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user