mirror of
https://github.com/Suwayomi/Suwayomi-Server.git
synced 2026-06-30 17:34:39 -05:00
@@ -15,7 +15,6 @@ const val MainClass = "suwayomi.tachidesk.MainKt"
|
|||||||
val tachideskVersion = System.getenv("ProductVersion") ?: "v0.6.5"
|
val tachideskVersion = System.getenv("ProductVersion") ?: "v0.6.5"
|
||||||
|
|
||||||
val webUIRevisionTag = System.getenv("WebUIRevision") ?: "r946"
|
val webUIRevisionTag = System.getenv("WebUIRevision") ?: "r946"
|
||||||
val sorayomiRevisionTag = System.getenv("SorayomiRevision") ?: "0.1.5"
|
|
||||||
|
|
||||||
// counts commits on the master branch
|
// counts commits on the master branch
|
||||||
val tachideskRevision = runCatching {
|
val tachideskRevision = runCatching {
|
||||||
|
|||||||
@@ -110,9 +110,6 @@ buildConfig {
|
|||||||
buildConfigField("String", "WEBUI_REPO", quoteWrap("https://github.com/Suwayomi/Tachidesk-WebUI-preview"))
|
buildConfigField("String", "WEBUI_REPO", quoteWrap("https://github.com/Suwayomi/Tachidesk-WebUI-preview"))
|
||||||
buildConfigField("String", "WEBUI_TAG", quoteWrap(webUIRevisionTag))
|
buildConfigField("String", "WEBUI_TAG", quoteWrap(webUIRevisionTag))
|
||||||
|
|
||||||
buildConfigField("String", "SORAYOMI_REPO", quoteWrap("https://github.com/Suwayomi/Tachidesk-Sorayomi"))
|
|
||||||
buildConfigField("String", "SORAYOMI_TAG", quoteWrap(sorayomiRevisionTag))
|
|
||||||
|
|
||||||
|
|
||||||
buildConfigField("String", "GITHUB", quoteWrap("https://github.com/Suwayomi/Tachidesk-Server"))
|
buildConfigField("String", "GITHUB", quoteWrap("https://github.com/Suwayomi/Tachidesk-Server"))
|
||||||
buildConfigField("String", "DISCORD", quoteWrap("https://discord.gg/DDZdqZWaHA"))
|
buildConfigField("String", "DISCORD", quoteWrap("https://discord.gg/DDZdqZWaHA"))
|
||||||
|
|||||||
@@ -54,7 +54,6 @@ private fun directoryMD5(fileDir: String): String {
|
|||||||
fun setupWebInterface() {
|
fun setupWebInterface() {
|
||||||
when (serverConfig.webUIFlavor) {
|
when (serverConfig.webUIFlavor) {
|
||||||
"WebUI" -> setupWebUI()
|
"WebUI" -> setupWebUI()
|
||||||
"Sorayomi" -> setupSorayomi()
|
|
||||||
"Custom" -> {
|
"Custom" -> {
|
||||||
/* do nothing */
|
/* do nothing */
|
||||||
}
|
}
|
||||||
@@ -136,63 +135,3 @@ fun setupWebUI() {
|
|||||||
logger.info { "Extracting WebUI zip Done." }
|
logger.info { "Extracting WebUI zip Done." }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Make sure a valid copy of Sorayomi is available */
|
|
||||||
fun setupSorayomi() {
|
|
||||||
// check if we have Sorayomi installed and is correct version
|
|
||||||
val sorayomiVersionFile = File(applicationDirs.webUIRoot + "/version.json")
|
|
||||||
if (sorayomiVersionFile.exists() && json.parseToJsonElement(
|
|
||||||
sorayomiVersionFile.readText()
|
|
||||||
).jsonObject["version"]!!.jsonPrimitive.content == BuildConfig.SORAYOMI_TAG
|
|
||||||
) {
|
|
||||||
logger.info { "Sorayomi Static files exists and is the correct revision" }
|
|
||||||
logger.info { "Verifying Sorayomi Static files..." }
|
|
||||||
logger.info { "md5: " + directoryMD5(applicationDirs.webUIRoot) }
|
|
||||||
} else {
|
|
||||||
File(applicationDirs.webUIRoot).deleteRecursively()
|
|
||||||
|
|
||||||
val sorayomiZip = "tachidesk-sorayomi-${BuildConfig.SORAYOMI_TAG}-web.zip"
|
|
||||||
val sorayomiZipPath = "$tmpDir/$sorayomiZip"
|
|
||||||
val sorayomiZipFile = File(sorayomiZipPath)
|
|
||||||
|
|
||||||
// download sorayomi zip
|
|
||||||
val sorayomiZipURL = "${BuildConfig.SORAYOMI_REPO}/releases/download/${BuildConfig.SORAYOMI_TAG}/$sorayomiZip"
|
|
||||||
sorayomiZipFile.delete()
|
|
||||||
|
|
||||||
logger.info { "Downloading Sorayomi zip from the Internet..." }
|
|
||||||
val data = ByteArray(1024)
|
|
||||||
|
|
||||||
sorayomiZipFile.outputStream().use { sorayomiZipFileOut ->
|
|
||||||
|
|
||||||
val connection = URL(sorayomiZipURL).openConnection() as HttpURLConnection
|
|
||||||
connection.connect()
|
|
||||||
val contentLength = connection.contentLength
|
|
||||||
|
|
||||||
connection.inputStream.buffered().use { inp ->
|
|
||||||
var totalCount = 0
|
|
||||||
|
|
||||||
print("Download progress: % 00")
|
|
||||||
while (true) {
|
|
||||||
val count = inp.read(data, 0, 1024)
|
|
||||||
|
|
||||||
if (count == -1)
|
|
||||||
break
|
|
||||||
|
|
||||||
totalCount += count
|
|
||||||
val percentage = (totalCount.toFloat() / contentLength * 100).toInt().toString().padStart(2, '0')
|
|
||||||
print("\b\b$percentage")
|
|
||||||
|
|
||||||
sorayomiZipFileOut.write(data, 0, count)
|
|
||||||
}
|
|
||||||
println()
|
|
||||||
logger.info { "Downloading Sorayomi Done." }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// extract Sorayomi zip
|
|
||||||
logger.info { "Extracting Sorayomi zip..." }
|
|
||||||
File(applicationDirs.webUIRoot).mkdirs()
|
|
||||||
ZipFile(sorayomiZipPath).extractAll(applicationDirs.webUIRoot)
|
|
||||||
logger.info { "Extracting Sorayomi zip Done." }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ server.socksProxyPort = ""
|
|||||||
|
|
||||||
# webUI
|
# webUI
|
||||||
server.webUIEnabled = true
|
server.webUIEnabled = true
|
||||||
server.webUIFlavor = "WebUI" # "WebUI" or "Sorayomi" or "Custom"
|
server.webUIFlavor = "WebUI" # "WebUI" or "Custom"
|
||||||
server.initialOpenInBrowserEnabled = true
|
server.initialOpenInBrowserEnabled = true
|
||||||
server.webUIInterface = "browser" # "browser" or "electron"
|
server.webUIInterface = "browser" # "browser" or "electron"
|
||||||
server.electronPath = ""
|
server.electronPath = ""
|
||||||
|
|||||||
Reference in New Issue
Block a user