Madara - headers ()

This commit is contained in:
Mike 2020-06-19 00:37:40 -04:00 committed by GitHub
parent 3e308f3f52
commit 1357f8b379
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 9 deletions
src/all/madara
build.gradle
src/eu/kanade/tachiyomi/extension/all/madara

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

@ -16,6 +16,8 @@ import java.text.SimpleDateFormat
import java.util.Calendar
import java.util.Locale
import java.util.concurrent.TimeUnit
import kotlin.math.absoluteValue
import kotlin.random.Random
import okhttp3.CacheControl
import okhttp3.FormBody
import okhttp3.Headers
@ -42,6 +44,9 @@ abstract class Madara(
.readTimeout(30, TimeUnit.SECONDS)
.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
override fun popularMangaSelector() = "div.page-item-detail"
@ -483,12 +488,16 @@ abstract class Madara(
override fun pageListParse(document: Document): List<Page> {
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")
})
}
}
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")
}

@ -15,6 +15,7 @@ import eu.kanade.tachiyomi.source.model.SManga
import eu.kanade.tachiyomi.util.asJsoup
import java.text.SimpleDateFormat
import java.util.Locale
import okhttp3.CacheControl
import okhttp3.FormBody
import okhttp3.Headers
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)
}
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")
@ -301,12 +306,6 @@ class GetManhwa : Madara("GetManhwa", "https://getmanhwa.co", "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 latestUpdatesRequest(page: Int): Request = GET("$baseUrl/manga/page/$page/?m_orderby=latest", headers)
override fun searchMangaNextPageSelector() = "a[rel=next]"