Include client info in reader image URLs
Some checks failed
CI / Prepare job (push) Has been cancelled
CI / Build extensions (${{ matrix.chunk.number }}) (push) Has been cancelled
CI / Publish extension repo (push) Has been cancelled
Create Release on Merge / release (push) Has been cancelled

This commit is contained in:
2026-05-24 00:10:54 +09:00
parent c85c009e17
commit d8937783c5
2 changed files with 5 additions and 2 deletions

View File

@@ -2,7 +2,7 @@ ext {
kmkVersionCode = 1 kmkVersionCode = 1
extName = 'Kavita' extName = 'Kavita'
extClass = '.KavitaFactory' extClass = '.KavitaFactory'
extVersionCode = 30 extVersionCode = 31
isNsfw = false isNsfw = false
} }

View File

@@ -81,6 +81,7 @@ import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy import uy.kohesive.injekt.injectLazy
import java.io.IOException import java.io.IOException
import java.net.URLEncoder
import java.security.MessageDigest import java.security.MessageDigest
import java.util.Calendar import java.util.Calendar
import java.util.Locale import java.util.Locale
@@ -1814,7 +1815,9 @@ class Kavita(private val suffix: String = "") : ConfigurableSource, UnmeteredSou
.equals("true", ignoreCase = true) .equals("true", ignoreCase = true)
private fun readerImageUrl(chapterId: Any, page: Int, extractPdf: Boolean): String = private fun readerImageUrl(chapterId: Any, page: Int, extractPdf: Boolean): String =
"$apiUrl/Reader/image?chapterId=$chapterId&page=$page&extractPdf=$extractPdf&saveProgress=true&apiKey=$apiKey" "$apiUrl/Reader/image?chapterId=$chapterId&page=$page&extractPdf=$extractPdf&saveProgress=true&apiKey=$apiKey&kavitaClient=${urlEncode(kavitaClientHeader())}&deviceId=${urlEncode(deviceFingerprint())}"
private fun urlEncode(value: String): String = URLEncoder.encode(value, "UTF-8")
private fun readerPage(index: Int, chapterId: Any, page: Int = index, extractPdf: Boolean = false): Page { private fun readerPage(index: Int, chapterId: Any, page: Int = index, extractPdf: Boolean = false): Page {
val imageUrl = readerImageUrl(chapterId, page, extractPdf) val imageUrl = readerImageUrl(chapterId, page, extractPdf)