Hitomi fix images (#10273)
* fix hitomi images * Update build.gradle * use var
This commit is contained in:
parent
2e8f95acc0
commit
9aec9e3af1
@ -6,7 +6,7 @@ ext {
|
|||||||
extName = 'Hitomi.la'
|
extName = 'Hitomi.la'
|
||||||
pkgNameSuffix = 'all.hitomi'
|
pkgNameSuffix = 'all.hitomi'
|
||||||
extClass = '.HitomiFactory'
|
extClass = '.HitomiFactory'
|
||||||
extVersionCode = 11
|
extVersionCode = 12
|
||||||
isNsfw = true
|
isNsfw = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,6 +43,8 @@ open class Hitomi(override val lang: String, private val nozomiLang: String) : H
|
|||||||
|
|
||||||
private val json: Json by injectLazy()
|
private val json: Json by injectLazy()
|
||||||
|
|
||||||
|
private var gg: String? = null
|
||||||
|
|
||||||
// Popular
|
// Popular
|
||||||
|
|
||||||
override fun fetchPopularManga(page: Int): Observable<MangasPage> {
|
override fun fetchPopularManga(page: Int): Observable<MangasPage> {
|
||||||
@ -360,18 +362,28 @@ open class Hitomi(override val lang: String, private val nozomiLang: String) : H
|
|||||||
// https://ltn.hitomi.la/reader.js
|
// https://ltn.hitomi.la/reader.js
|
||||||
// function make_image_element()
|
// function make_image_element()
|
||||||
val secondSubdomain = if (jsonElement.haswebp == 0 && jsonElement.hasavif == 0 || !hitomiAlwaysWebp()) "b" else "a"
|
val secondSubdomain = if (jsonElement.haswebp == 0 && jsonElement.hasavif == 0 || !hitomiAlwaysWebp()) "b" else "a"
|
||||||
Page(i, "", "https://${firstSubdomainFromGalleryId(hashPath2)}$secondSubdomain.hitomi.la/$path/$hashPath1/$hashPath2/$hash.$ext")
|
Page(i, "", buildImageUrl(path, hashPath1, hashPath2, hash, ext, secondSubdomain))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://ltn.hitomi.la/common.js
|
private fun buildImageUrl(path: String, hashPath1: String, hashPath2: String, hash: String, ext: String, secondSubdomain: String): String {
|
||||||
// function subdomain_from_url()
|
if (gg.isNullOrEmpty()) {
|
||||||
// Change g's if statement from !isNaN(g)
|
val response = client.newCall(GET("$LTN_BASE_URL/gg.js")).execute()
|
||||||
private fun firstSubdomainFromGalleryId(pathSegment: String): Char {
|
gg = response.body!!.string()
|
||||||
var o = 0
|
}
|
||||||
val g = pathSegment.toInt(16)
|
|
||||||
if (g < 0x7c) o = 1
|
val g = (hashPath1 + hashPath2).toInt(16)
|
||||||
return (97 + o).toChar()
|
|
||||||
|
val b = Regex("""b:\s*'(.+)\/'""").find(gg!!)?.groupValues!![1]
|
||||||
|
|
||||||
|
val m = Regex("case\\s*$g\\s*:\\s*o\\s*=\\s*(.+?)\\s*;").find(gg!!)?.groupValues!![1]
|
||||||
|
|
||||||
|
var firstSubdomain = "a"
|
||||||
|
if (m == "1") {
|
||||||
|
firstSubdomain = "b"
|
||||||
|
}
|
||||||
|
|
||||||
|
return "https://$firstSubdomain$secondSubdomain.hitomi.la/$path/$b/$g/$hash.$ext"
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun imageRequest(page: Page): Request {
|
override fun imageRequest(page: Page): Request {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user