mirror of
https://gitlab.com/2009scape/09launcher.git
synced 2025-12-09 16:45:54 -07:00
Merge branch 'checksumgobrrrr' into 'master'
launcher now checks if there is an update before downloading it See merge request 2009scape/09launcher!6
This commit is contained in:
commit
2c6296076a
4 changed files with 10 additions and 28 deletions
|
|
@ -9,18 +9,6 @@ import java.security.NoSuchAlgorithmException
|
||||||
import kotlin.experimental.and
|
import kotlin.experimental.and
|
||||||
|
|
||||||
object Checksum {
|
object Checksum {
|
||||||
val localChecksum: String?
|
|
||||||
get() {
|
|
||||||
val local: File = File(Settings.SAVE_DIR + Settings.SAVE_NAME)
|
|
||||||
try {
|
|
||||||
FileInputStream(local).use { fis -> return calculateMd5(fis) }
|
|
||||||
} catch (e: Exception) {
|
|
||||||
e.printStackTrace()
|
|
||||||
MainWindow.loadingLabel.text = e.message
|
|
||||||
MainWindow.loadingLabel.repaint()
|
|
||||||
}
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
|
|
||||||
fun getLocalChecksum(file: URI?): String {
|
fun getLocalChecksum(file: URI?): String {
|
||||||
val local = File(file!!)
|
val local = File(file!!)
|
||||||
|
|
@ -28,21 +16,14 @@ object Checksum {
|
||||||
else FileInputStream(local).use { fis -> return calculateMd5(fis) }
|
else FileInputStream(local).use { fis -> return calculateMd5(fis) }
|
||||||
}
|
}
|
||||||
|
|
||||||
val remoteChecksum: String?
|
fun getRemoteChecksum(url: String?, checksumFile: Boolean = false): String? {
|
||||||
get() {
|
|
||||||
try {
|
|
||||||
URL(Settings.DOWNLOAD_URL).openStream().use { stream -> return calculateMd5(stream) }
|
|
||||||
} catch (e: Exception) {
|
|
||||||
e.printStackTrace()
|
|
||||||
MainWindow.loadingLabel.text = e.message
|
|
||||||
MainWindow.loadingLabel.repaint()
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun getRemoteChecksum(url: String?): String? {
|
|
||||||
try {
|
try {
|
||||||
URL(url).openStream().use { stream -> return calculateMd5(stream) }
|
if (checksumFile) {
|
||||||
|
URL(url).openStream().use { stream -> return stream.bufferedReader().use { it.readText().trim() } }
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
URL(url).openStream().use { stream -> return calculateMd5(stream) }
|
||||||
|
}
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
e.printStackTrace()
|
e.printStackTrace()
|
||||||
MainWindow.loadingLabel.text = e.message
|
MainWindow.loadingLabel.text = e.message
|
||||||
|
|
|
||||||
|
|
@ -104,7 +104,7 @@ object MainWindow : JFrame("2009scape Launcher") {
|
||||||
Thread.sleep(50L)
|
Thread.sleep(50L)
|
||||||
}
|
}
|
||||||
Settings.HAS_UPDATED = true
|
Settings.HAS_UPDATED = true
|
||||||
if (Updater.remoteMD5 != "-1" && Updater.remoteMD5 != Updater.localMD5) {
|
if (Updater.remoteMD5 != Updater.localMD5) {
|
||||||
println("Update required, running update...")
|
println("Update required, running update...")
|
||||||
loadingLabel.text = oldText
|
loadingLabel.text = oldText
|
||||||
Updater.runUpdate()
|
Updater.runUpdate()
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ object Settings {
|
||||||
}
|
}
|
||||||
val SAVE_NAME = "2009scape.jar"
|
val SAVE_NAME = "2009scape.jar"
|
||||||
val DOWNLOAD_URL = "http://play.2009scape.org/2009scape.jar"
|
val DOWNLOAD_URL = "http://play.2009scape.org/2009scape.jar"
|
||||||
|
val DOWNLOAD_MD5_URL = "http://play.2009scape.org/2009scape.md5sum"
|
||||||
val LAUNCHER_URL = "https://gitlab.com/2009scape/09launcher/-/jobs/artifacts/master/raw/build/libs/2009scape.jar?job=build"
|
val LAUNCHER_URL = "https://gitlab.com/2009scape/09launcher/-/jobs/artifacts/master/raw/build/libs/2009scape.jar?job=build"
|
||||||
var HAS_UPDATED = false
|
var HAS_UPDATED = false
|
||||||
var CHECK_FOR_UPDATES = true
|
var CHECK_FOR_UPDATES = true
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ object Updater {
|
||||||
val fileUri = File(Settings.SAVE_DIR + File.separator + Settings.SAVE_NAME).toURI()
|
val fileUri = File(Settings.SAVE_DIR + File.separator + Settings.SAVE_NAME).toURI()
|
||||||
status = UpdateStatus.CHECKING
|
status = UpdateStatus.CHECKING
|
||||||
localMD5 = Checksum.getLocalChecksum(fileUri)
|
localMD5 = Checksum.getLocalChecksum(fileUri)
|
||||||
remoteMD5 = Checksum.getRemoteChecksum(Settings.DOWNLOAD_URL) ?: "-1"
|
remoteMD5 = Checksum.getRemoteChecksum(Settings.DOWNLOAD_MD5_URL, checksumFile = true) ?: "-1"
|
||||||
println("Local: $localMD5 || Remote: $remoteMD5")
|
println("Local: $localMD5 || Remote: $remoteMD5")
|
||||||
status = UpdateStatus.COMPLETE
|
status = UpdateStatus.COMPLETE
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue