|
|
@ -27,6 +27,7 @@ const extract = require('extract-zip') |
|
|
|
const execFile = require('child_process').execFile |
|
|
|
const execFile = require('child_process').execFile |
|
|
|
const exec = require('child_process').exec |
|
|
|
const exec = require('child_process').exec |
|
|
|
const spawn = require('child_process').spawn |
|
|
|
const spawn = require('child_process').spawn |
|
|
|
|
|
|
|
const XMLHttpRequest = require('xhr2') |
|
|
|
const homePath = app.getPath('home') |
|
|
|
const homePath = app.getPath('home') |
|
|
|
const downloadPath = app.getPath('downloads') |
|
|
|
const downloadPath = app.getPath('downloads') |
|
|
|
const logPath = app.getPath('logs') |
|
|
|
const logPath = app.getPath('logs') |
|
|
@ -121,26 +122,31 @@ const qortalsettings = homePath + "/qortal/settings.json" |
|
|
|
const javadir = homePath + "/jdk-17.0.2/" |
|
|
|
const javadir = homePath + "/jdk-17.0.2/" |
|
|
|
|
|
|
|
|
|
|
|
const linjavax64url = "https://download.qortal.online/openjdk-17.0.2_linux-x64_bin.zip" |
|
|
|
const linjavax64url = "https://download.qortal.online/openjdk-17.0.2_linux-x64_bin.zip" |
|
|
|
|
|
|
|
const linjavax64urlbackup = "https://cloud.qortal.org/s/aSxDWTskG8kBR5T/download/openjdk-17.0.2_linux-x64_bin.zip" |
|
|
|
const linjavax64file = homePath + "/openjdk-17.0.2_linux-x64_bin.zip" |
|
|
|
const linjavax64file = homePath + "/openjdk-17.0.2_linux-x64_bin.zip" |
|
|
|
const linjavax64bindir = homePath + "/jdk-17.0.2/bin" |
|
|
|
const linjavax64bindir = homePath + "/jdk-17.0.2/bin" |
|
|
|
const linjavax64binfile = homePath + "/jdk-17.0.2/bin/java" |
|
|
|
const linjavax64binfile = homePath + "/jdk-17.0.2/bin/java" |
|
|
|
|
|
|
|
|
|
|
|
const linjavaarmurl = "https://download.qortal.online/openjdk-17.0.2_linux-arm_bin.zip" |
|
|
|
const linjavaarmurl = "https://download.qortal.online/openjdk-17.0.2_linux-arm_bin.zip" |
|
|
|
|
|
|
|
const linjavaarmurlbackup = "https://cloud.qortal.org/s/DAMFBEri469R3dj/download/openjdk-17.0.2_linux-arm_bin.zip" |
|
|
|
const linjavaarmfile = homePath + "/openjdk-17.0.2_linux-arm_bin.zip" |
|
|
|
const linjavaarmfile = homePath + "/openjdk-17.0.2_linux-arm_bin.zip" |
|
|
|
const linjavaarmbindir = homePath + "/jdk-17.0.2/bin" |
|
|
|
const linjavaarmbindir = homePath + "/jdk-17.0.2/bin" |
|
|
|
const linjavaarmbinfile = homePath + "/jdk-17.0.2/bin/java" |
|
|
|
const linjavaarmbinfile = homePath + "/jdk-17.0.2/bin/java" |
|
|
|
|
|
|
|
|
|
|
|
const linjavaarm64url = "https://download.qortal.online/openjdk-17.0.2_linux-arm64_bin.zip" |
|
|
|
const linjavaarm64url = "https://download.qortal.online/openjdk-17.0.2_linux-arm64_bin.zip" |
|
|
|
|
|
|
|
const linjavaarm64urlbackup = "https://cloud.qortal.org/s/t7Kk9ZpEAroFmg2/download/openjdk-17.0.2_linux-arm64_bin.zip" |
|
|
|
const linjavaarm64file = homePath + "/openjdk-17.0.2_linux-arm64_bin.zip" |
|
|
|
const linjavaarm64file = homePath + "/openjdk-17.0.2_linux-arm64_bin.zip" |
|
|
|
const linjavaarm64bindir = homePath + "/jdk-17.0.2/bin" |
|
|
|
const linjavaarm64bindir = homePath + "/jdk-17.0.2/bin" |
|
|
|
const linjavaarm64binfile = homePath + "/jdk-17.0.2/bin/java" |
|
|
|
const linjavaarm64binfile = homePath + "/jdk-17.0.2/bin/java" |
|
|
|
|
|
|
|
|
|
|
|
const macjavax64url = "https://download.qortal.online/openjdk-17.0.2_macos-x64_bin.zip" |
|
|
|
const macjavax64url = "https://download.qortal.online/openjdk-17.0.2_macos-x64_bin.zip" |
|
|
|
|
|
|
|
const macjavax64urlbackup = "https://cloud.qortal.org/s/7t9d6xPfk8tsDxB/download/openjdk-17.0.2_macos-x64_bin.zip" |
|
|
|
const macjavax64file = homePath + "/openjdk-17.0.2_macos-x64_bin.zip" |
|
|
|
const macjavax64file = homePath + "/openjdk-17.0.2_macos-x64_bin.zip" |
|
|
|
const macjavax64bindir = homePath + "/jdk-17.0.2/Contents/Home/bin" |
|
|
|
const macjavax64bindir = homePath + "/jdk-17.0.2/Contents/Home/bin" |
|
|
|
const macjavax64binfile = homePath + "/jdk-17.0.2/Contents/Home/bin/java" |
|
|
|
const macjavax64binfile = homePath + "/jdk-17.0.2/Contents/Home/bin/java" |
|
|
|
|
|
|
|
|
|
|
|
const macjavaaarch64url = "https://download.qortal.online/openjdk-17.0.2_macos-aarch64_bin.zip" |
|
|
|
const macjavaaarch64url = "https://download.qortal.online/openjdk-17.0.2_macos-aarch64_bin.zip" |
|
|
|
|
|
|
|
const macjavaaarch64urlbackup = "https://cloud.qortal.org/s/GRE3CGqMospwtZP/download/openjdk-17.0.2_macos-aarch64_bin.zip" |
|
|
|
const macjavaaarch64file = homePath + "/openjdk-17.0.2_macos-aarch64_bin.zip" |
|
|
|
const macjavaaarch64file = homePath + "/openjdk-17.0.2_macos-aarch64_bin.zip" |
|
|
|
const macjavaaarch64bindir = homePath + "/jdk-17.0.2/Contents/Home/bin" |
|
|
|
const macjavaaarch64bindir = homePath + "/jdk-17.0.2/Contents/Home/bin" |
|
|
|
const macjavaaarch64binfile = homePath + "/jdk-17.0.2/Contents/Home/bin/java" |
|
|
|
const macjavaaarch64binfile = homePath + "/jdk-17.0.2/Contents/Home/bin/java" |
|
|
@ -161,6 +167,18 @@ const isRunning = (query, cb) => { |
|
|
|
}) |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function doesFileExist(urlToJavaFile) { |
|
|
|
|
|
|
|
var xhr = new XMLHttpRequest() |
|
|
|
|
|
|
|
xhr.open('HEAD', urlToJavaFile, true) |
|
|
|
|
|
|
|
xhr.send() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (xhr.status == "404") { |
|
|
|
|
|
|
|
return false |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
return true |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
async function checkWin() { |
|
|
|
async function checkWin() { |
|
|
|
if (fs.existsSync(winjar)) { |
|
|
|
if (fs.existsSync(winjar)) { |
|
|
|
isRunning('qortal.exe', (status) => { |
|
|
|
isRunning('qortal.exe', (status) => { |
|
|
@ -405,6 +423,7 @@ async function installJava() { |
|
|
|
|
|
|
|
|
|
|
|
if (process.platform === 'linux') { |
|
|
|
if (process.platform === 'linux') { |
|
|
|
if (process.arch === 'x64') { |
|
|
|
if (process.arch === 'x64') { |
|
|
|
|
|
|
|
if (doesFileExist(linjavax64url) == true) { |
|
|
|
try { |
|
|
|
try { |
|
|
|
splashLoader.show() |
|
|
|
splashLoader.show() |
|
|
|
await electronDl.download(myWindow, linjavax64url, { |
|
|
|
await electronDl.download(myWindow, linjavax64url, { |
|
|
@ -417,7 +436,22 @@ async function installJava() { |
|
|
|
} |
|
|
|
} |
|
|
|
splashLoader.destroy() |
|
|
|
splashLoader.destroy() |
|
|
|
unzipJavaX64Linux() |
|
|
|
unzipJavaX64Linux() |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
splashLoader.show() |
|
|
|
|
|
|
|
await electronDl.download(myWindow, linjavax64urlbackup, { |
|
|
|
|
|
|
|
directory: homePath, |
|
|
|
|
|
|
|
onProgress: function () { log.info("Starting Download JAVA") } |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
} catch (err) { |
|
|
|
|
|
|
|
splashLoader.destroy() |
|
|
|
|
|
|
|
log.info('Download JAVA error', err) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
splashLoader.destroy() |
|
|
|
|
|
|
|
unzipJavaX64Linux() |
|
|
|
|
|
|
|
} |
|
|
|
} else if (process.arch === 'arm64') { |
|
|
|
} else if (process.arch === 'arm64') { |
|
|
|
|
|
|
|
if (doesFileExist(linjavaarm64url) == true) { |
|
|
|
try { |
|
|
|
try { |
|
|
|
splashLoader.show() |
|
|
|
splashLoader.show() |
|
|
|
await electronDl.download(myWindow, linjavaarm64url, { |
|
|
|
await electronDl.download(myWindow, linjavaarm64url, { |
|
|
@ -430,7 +464,22 @@ async function installJava() { |
|
|
|
} |
|
|
|
} |
|
|
|
splashLoader.destroy() |
|
|
|
splashLoader.destroy() |
|
|
|
unzipJavaArm64Linux() |
|
|
|
unzipJavaArm64Linux() |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
splashLoader.show() |
|
|
|
|
|
|
|
await electronDl.download(myWindow, linjavaarm64urlbackup, { |
|
|
|
|
|
|
|
directory: homePath, |
|
|
|
|
|
|
|
onProgress: function () { log.info("Starting Download JAVA") } |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
} catch (err) { |
|
|
|
|
|
|
|
splashLoader.destroy() |
|
|
|
|
|
|
|
log.info('Download JAVA error', err) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
splashLoader.destroy() |
|
|
|
|
|
|
|
unzipJavaArm64Linux() |
|
|
|
|
|
|
|
} |
|
|
|
} else if (process.arch === 'arm') { |
|
|
|
} else if (process.arch === 'arm') { |
|
|
|
|
|
|
|
if (doesFileExist(linjavaarmurl) == true) { |
|
|
|
try { |
|
|
|
try { |
|
|
|
splashLoader.show() |
|
|
|
splashLoader.show() |
|
|
|
await electronDl.download(myWindow, linjavaarmurl, { |
|
|
|
await electronDl.download(myWindow, linjavaarmurl, { |
|
|
@ -443,9 +492,24 @@ async function installJava() { |
|
|
|
} |
|
|
|
} |
|
|
|
splashLoader.destroy() |
|
|
|
splashLoader.destroy() |
|
|
|
unzipJavaArmLinux() |
|
|
|
unzipJavaArmLinux() |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
splashLoader.show() |
|
|
|
|
|
|
|
await electronDl.download(myWindow, linjavaarmurlbackup, { |
|
|
|
|
|
|
|
directory: homePath, |
|
|
|
|
|
|
|
onProgress: function () { log.info("Starting Download JAVA") } |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
} catch (err) { |
|
|
|
|
|
|
|
splashLoader.destroy() |
|
|
|
|
|
|
|
log.info('Download JAVA error', err) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
splashLoader.destroy() |
|
|
|
|
|
|
|
unzipJavaArmLinux() |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} else if (process.platform === 'darwin') { |
|
|
|
} else if (process.platform === 'darwin') { |
|
|
|
if (process.arch === 'x64') { |
|
|
|
if (process.arch === 'x64') { |
|
|
|
|
|
|
|
if (doesFileExist(macjavax64url) == true) { |
|
|
|
try { |
|
|
|
try { |
|
|
|
splashLoader.show() |
|
|
|
splashLoader.show() |
|
|
|
await electronDl.download(myWindow, macjavax64url, { |
|
|
|
await electronDl.download(myWindow, macjavax64url, { |
|
|
@ -459,6 +523,21 @@ async function installJava() { |
|
|
|
splashLoader.destroy() |
|
|
|
splashLoader.destroy() |
|
|
|
unzipJavaX64Mac() |
|
|
|
unzipJavaX64Mac() |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
splashLoader.show() |
|
|
|
|
|
|
|
await electronDl.download(myWindow, macjavax64urlbackup, { |
|
|
|
|
|
|
|
directory: homePath, |
|
|
|
|
|
|
|
onProgress: function () { log.info("Starting Download JAVA") } |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
} catch (err) { |
|
|
|
|
|
|
|
splashLoader.destroy() |
|
|
|
|
|
|
|
log.info('Download JAVA error', err) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
splashLoader.destroy() |
|
|
|
|
|
|
|
unzipJavaX64Mac() |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
if (doesFileExist(macjavaaarch64url) == true) { |
|
|
|
try { |
|
|
|
try { |
|
|
|
splashLoader.show() |
|
|
|
splashLoader.show() |
|
|
|
await electronDl.download(myWindow, macjavaaarch64url, { |
|
|
|
await electronDl.download(myWindow, macjavaaarch64url, { |
|
|
@ -471,6 +550,20 @@ async function installJava() { |
|
|
|
} |
|
|
|
} |
|
|
|
splashLoader.destroy() |
|
|
|
splashLoader.destroy() |
|
|
|
unzipJavaAarch64Mac() |
|
|
|
unzipJavaAarch64Mac() |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
splashLoader.show() |
|
|
|
|
|
|
|
await electronDl.download(myWindow, macjavaaarch64urlbackup, { |
|
|
|
|
|
|
|
directory: homePath, |
|
|
|
|
|
|
|
onProgress: function () { log.info("Starting Download JAVA") } |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
} catch (err) { |
|
|
|
|
|
|
|
splashLoader.destroy() |
|
|
|
|
|
|
|
log.info('Download JAVA error', err) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
splashLoader.destroy() |
|
|
|
|
|
|
|
unzipJavaAarch64Mac() |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -1260,5 +1353,4 @@ if (!isLock) { |
|
|
|
process.on('uncaughtException', function (err) { |
|
|
|
process.on('uncaughtException', function (err) { |
|
|
|
log.info("*** WHOOPS TIME ***" + err) |
|
|
|
log.info("*** WHOOPS TIME ***" + err) |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |