Init2
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 5.6 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.0 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 8.6 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
BIN
multisrc/overrides/madara/shinigami/res/web_hi_res_512.png
Normal file
BIN
multisrc/overrides/madara/shinigami/res/web_hi_res_512.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 164 KiB |
59
multisrc/overrides/madara/shinigami/src/Shinigami.kt
Normal file
59
multisrc/overrides/madara/shinigami/src/Shinigami.kt
Normal file
@@ -0,0 +1,59 @@
|
||||
package eu.kanade.tachiyomi.extension.id.shinigami
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import eu.kanade.tachiyomi.network.interceptor.rateLimit
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import org.jsoup.nodes.Element
|
||||
import java.util.concurrent.TimeUnit
|
||||
import kotlin.random.Random
|
||||
|
||||
class Shinigami : Madara("Shinigami", "https://shinigami.moe", "id") {
|
||||
// moved from Reaper Scans (id) to Shinigami (id)
|
||||
override val id = 3411809758861089969
|
||||
|
||||
override val useNewChapterEndpoint = false
|
||||
|
||||
override fun searchPage(page: Int): String = if (page == 1) "" else "page/$page/"
|
||||
|
||||
override val client: OkHttpClient = super.client.newBuilder()
|
||||
.rateLimit(4, 1, TimeUnit.SECONDS)
|
||||
.build()
|
||||
|
||||
override fun headersBuilder(): Headers.Builder = super.headersBuilder()
|
||||
.add("Sec-Fetch-Dest", "document")
|
||||
.add("Sec-Fetch-Mode", "navigate")
|
||||
.add("Sec-Fetch-Site", "same-origin")
|
||||
.add("Upgrade-Insecure-Requests", "1")
|
||||
.add("X-Requested-With", randomString)
|
||||
|
||||
private fun generateRandomString(length: Int): String {
|
||||
val charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZ.abcdefghijklmnopqrstuvwxyz.0123456789"
|
||||
return (1..length)
|
||||
.map { charset.random() }
|
||||
.joinToString("")
|
||||
}
|
||||
|
||||
private val randomLength = Random.Default.nextInt(13, 21)
|
||||
|
||||
private val randomString = generateRandomString(randomLength)
|
||||
|
||||
override val mangaSubString = "semua-series"
|
||||
|
||||
// Tags are useless as they are just SEO keywords.
|
||||
override val mangaDetailsSelectorTag = ""
|
||||
|
||||
override fun chapterFromElement(element: Element): SChapter = SChapter.create().apply {
|
||||
val urlElement = element.selectFirst(chapterUrlSelector)!!
|
||||
|
||||
name = urlElement.selectFirst("p.chapter-manhwa-title")?.text()
|
||||
?: urlElement.ownText()
|
||||
date_upload = urlElement.selectFirst("span.chapter-release-date > i")?.text()
|
||||
.let { parseChapterDate(it) }
|
||||
|
||||
val fixedUrl = urlElement.attr("abs:href")
|
||||
|
||||
setUrlWithoutDomain(fixedUrl)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user