Update UserAgents

master
Koitharu 2 years ago
parent fec60955ed
commit 83e971d85b
Signed by: Koitharu
GPG Key ID: 676DEE768C17A9D7

@ -76,7 +76,7 @@ abstract class MangaParser @InternalParsersApi constructor(
abstract val configKeyDomain: ConfigKey.Domain abstract val configKeyDomain: ConfigKey.Domain
open val headers: Headers = Headers.Builder() open val headers: Headers = Headers.Builder()
.add("User-Agent", UserAgents.CHROME_MOBILE) .add("User-Agent", UserAgents.DEFAULT_BROWSER)
.build() .build()
/** /**

@ -2,13 +2,19 @@ package org.koitharu.kotatsu.parsers.network
object UserAgents { object UserAgents {
@Deprecated("Issues with CloudFlare", replaceWith = ReplaceWith("UserAgents.DEFAULT_BROWSER"))
const val CHROME_MOBILE = const val CHROME_MOBILE =
"Mozilla/5.0 (Linux; Android 13) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 Mobile Safari/537.36" "Mozilla/5.0 (Linux; Android 13) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 Mobile Safari/537.36"
const val FIREFOX_MOBILE = "Mozilla/5.0 (Android 14; Mobile; LG-M255; rv:123.0) Gecko/123.0 Firefox/123.0"
const val CHROME_DESKTOP = const val CHROME_DESKTOP =
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
const val FIREFOX_DESKTOP = "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/116.0" const val FIREFOX_DESKTOP = "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/116.0"
const val KOTATSU = "Kotatsu/5.3 (Android 13;;; en)" const val KOTATSU = "Kotatsu/6.8 (Android 13;;; en)"
const val DEFAULT_BROWSER = FIREFOX_MOBILE
} }

@ -25,7 +25,7 @@ internal class LegacyScansParser(context: MangaLoaderContext) :
override val configKeyDomain = ConfigKey.Domain("legacy-scans.com") override val configKeyDomain = ConfigKey.Domain("legacy-scans.com")
override val headers: Headers = Headers.Builder() override val headers: Headers = Headers.Builder()
.add("User-Agent", UserAgents.CHROME_MOBILE) .add("User-Agent", UserAgents.DEFAULT_BROWSER)
.build() .build()
override suspend fun getListPage(page: Int, filter: MangaListFilter?): List<Manga> { override suspend fun getListPage(page: Int, filter: MangaListFilter?): List<Manga> {

@ -21,7 +21,7 @@ internal class LireScan(context: MangaLoaderContext) : PagedMangaParser(context,
override val isMultipleTagsSupported = false override val isMultipleTagsSupported = false
override val headers: Headers = Headers.Builder() override val headers: Headers = Headers.Builder()
.add("User-Agent", UserAgents.CHROME_MOBILE) .add("User-Agent", UserAgents.DEFAULT_BROWSER)
.build() .build()
override suspend fun getListPage(page: Int, filter: MangaListFilter?): List<Manga> { override suspend fun getListPage(page: Int, filter: MangaListFilter?): List<Manga> {

@ -12,7 +12,7 @@ import java.util.*
internal class Shinigami(context: MangaLoaderContext) : internal class Shinigami(context: MangaLoaderContext) :
MadaraParser(context, MangaSource.SHINIGAMI, "shinigamitoon.com", 10) { MadaraParser(context, MangaSource.SHINIGAMI, "shinigamitoon.com", 10) {
private val userAgentKey = ConfigKey.UserAgent(UserAgents.CHROME_MOBILE) private val userAgentKey = ConfigKey.UserAgent(UserAgents.DEFAULT_BROWSER)
override val tagPrefix = "genre/" override val tagPrefix = "genre/"
override val listUrl = "series/" override val listUrl = "series/"
override val sourceLocale: Locale = Locale.ENGLISH override val sourceLocale: Locale = Locale.ENGLISH

@ -32,7 +32,7 @@ internal class RemangaParser(
context: MangaLoaderContext, context: MangaLoaderContext,
) : PagedMangaParser(context, MangaSource.REMANGA, PAGE_SIZE), MangaParserAuthProvider, Interceptor { ) : PagedMangaParser(context, MangaSource.REMANGA, PAGE_SIZE), MangaParserAuthProvider, Interceptor {
private val userAgentKey = ConfigKey.UserAgent(UserAgents.CHROME_MOBILE) private val userAgentKey = ConfigKey.UserAgent(UserAgents.DEFAULT_BROWSER)
private val baseHeaders: Headers private val baseHeaders: Headers
get() = Headers.Builder() get() = Headers.Builder()

@ -26,7 +26,7 @@ class HentaiVNParser(context: MangaLoaderContext) : MangaParser(context, MangaSo
override val configKeyDomain: ConfigKey.Domain = ConfigKey.Domain("hentaivn.red", "hentaivn.autos", "hentaivn.tv") override val configKeyDomain: ConfigKey.Domain = ConfigKey.Domain("hentaivn.red", "hentaivn.autos", "hentaivn.tv")
// hentaivn has created 2 different interfaces for mobile and desktop, and Cloudflare detects whether it's mobile or not even with a desktop user agent. // hentaivn has created 2 different interfaces for mobile and desktop, and Cloudflare detects whether it's mobile or not even with a desktop user agent.
override val headers: Headers = Headers.Builder().add("User-Agent", UserAgents.CHROME_MOBILE).build() override val headers: Headers = Headers.Builder().add("User-Agent", UserAgents.DEFAULT_BROWSER).build()
override val availableSortOrders: Set<SortOrder> = EnumSet.of( override val availableSortOrders: Set<SortOrder> = EnumSet.of(
SortOrder.UPDATED, SortOrder.UPDATED,

Loading…
Cancel
Save