Madara - headers (#3564)

This commit is contained in:
Mike
2020-06-19 00:37:40 -04:00
committed by GitHub
parent 3e308f3f52
commit 1357f8b379
3 changed files with 17 additions and 9 deletions

View File

@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: Madara (multiple sources)' appName = 'Tachiyomi: Madara (multiple sources)'
pkgNameSuffix = "all.madara" pkgNameSuffix = "all.madara"
extClass = '.MadaraFactory' extClass = '.MadaraFactory'
extVersionCode = 109 extVersionCode = 110
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -16,6 +16,8 @@ import java.text.SimpleDateFormat
import java.util.Calendar import java.util.Calendar
import java.util.Locale import java.util.Locale
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
import kotlin.math.absoluteValue
import kotlin.random.Random
import okhttp3.CacheControl import okhttp3.CacheControl
import okhttp3.FormBody import okhttp3.FormBody
import okhttp3.Headers import okhttp3.Headers
@ -42,6 +44,9 @@ abstract class Madara(
.readTimeout(30, TimeUnit.SECONDS) .readTimeout(30, TimeUnit.SECONDS)
.build() .build()
override fun headersBuilder(): Headers.Builder = Headers.Builder()
.add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0 ${Random.nextInt().absoluteValue}")
// Popular Manga // Popular Manga
override fun popularMangaSelector() = "div.page-item-detail" override fun popularMangaSelector() = "div.page-item-detail"
@ -483,12 +488,16 @@ abstract class Madara(
override fun pageListParse(document: Document): List<Page> { override fun pageListParse(document: Document): List<Page> {
return document.select(pageListParseSelector).mapIndexed { index, element -> return document.select(pageListParseSelector).mapIndexed { index, element ->
Page(index, "", element.select("img").first()?.let { Page(index, document.location(), element.select("img").first()?.let {
it.absUrl(if (it.hasAttr("data-src")) "data-src" else "src") it.absUrl(if (it.hasAttr("data-src")) "data-src" else "src")
}) })
} }
} }
override fun imageRequest(page: Page): Request {
return GET(page.imageUrl!!, headers.newBuilder().set("Referer", page.url).build())
}
override fun imageUrlParse(document: Document) = throw UnsupportedOperationException("Not used") override fun imageUrlParse(document: Document) = throw UnsupportedOperationException("Not used")
} }

View File

@ -15,6 +15,7 @@ import eu.kanade.tachiyomi.source.model.SManga
import eu.kanade.tachiyomi.util.asJsoup import eu.kanade.tachiyomi.util.asJsoup
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.Locale import java.util.Locale
import okhttp3.CacheControl
import okhttp3.FormBody import okhttp3.FormBody
import okhttp3.Headers import okhttp3.Headers
import okhttp3.HttpUrl import okhttp3.HttpUrl
@ -226,7 +227,11 @@ class FirstKissManga : Madara("1st Kiss", "https://1stkissmanga.com", "en",
override fun headersBuilder(): Headers.Builder = super.headersBuilder().add("Referer", baseUrl) override fun headersBuilder(): Headers.Builder = super.headersBuilder().add("Referer", baseUrl)
} }
class MangaSY : Madara("Manga SY", "https://www.mangasy.com", "en") class MangaSY : Madara("Manga SY", "https://www.mangasy.com", "en") {
override fun imageRequest(page: Page): Request = super.imageRequest(page).newBuilder()
.cacheControl(CacheControl.FORCE_NETWORK)
.build()
}
class ManwhaClub : Madara("Manwha Club", "https://manhwa.club", "en") class ManwhaClub : Madara("Manwha Club", "https://manhwa.club", "en")
@ -301,12 +306,6 @@ class GetManhwa : Madara("GetManhwa", "https://getmanhwa.co", "en") {
} }
class AllPornComic : Madara("AllPornComic", "https://allporncomic.com", "en") { class AllPornComic : Madara("AllPornComic", "https://allporncomic.com", "en") {
override val client: OkHttpClient = network.client
private val userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36"
override fun headersBuilder(): Headers.Builder = Headers.Builder()
.add("User-Agent", userAgent)
.add("Referer", "$baseUrl/manga/?m_orderby=views")
override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/manga/page/$page/?m_orderby=views", headers) override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/manga/page/$page/?m_orderby=views", headers)
override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/manga/page/$page/?m_orderby=latest", headers) override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/manga/page/$page/?m_orderby=latest", headers)
override fun searchMangaNextPageSelector() = "a[rel=next]" override fun searchMangaNextPageSelector() = "a[rel=next]"