|
|
@ -6,14 +6,30 @@ |
|
|
|
<div class="row"> |
|
|
|
<div class="col-md"> |
|
|
|
<dl class="row"> |
|
|
|
<dt class="col-sm-5">Server Installed</dt> |
|
|
|
<dt class="col-sm-5">Server Installed |
|
|
|
<span class="badge badge-success d-none" id="server-success" title="Latest version is installed.">Ok</span> |
|
|
|
<span class="badge badge-warning d-none" id="server-warning" title="There seems to be an update available.">Update</span> |
|
|
|
<span class="badge badge-danger d-none" id="server-failed" title="Unable to determine latest version.">Unknown</span> |
|
|
|
</dt> |
|
|
|
<dd class="col-sm-7"> |
|
|
|
<span id="server-installed">{{version}}</span> |
|
|
|
</dd> |
|
|
|
<dt class="col-sm-5">Web Installed</dt> |
|
|
|
<dt class="col-sm-5">Server Latest</dt> |
|
|
|
<dd class="col-sm-7"> |
|
|
|
<span id="server-latest">{{diagnostics.latest_release}}<span id="server-latest-commit" class="d-none">-{{diagnostics.latest_commit}}</span></span> |
|
|
|
</dd> |
|
|
|
<dt class="col-sm-5">Web Installed |
|
|
|
<span class="badge badge-success d-none" id="web-success" title="Latest version is installed.">Ok</span> |
|
|
|
<span class="badge badge-warning d-none" id="web-warning" title="There seems to be an update available.">Update</span> |
|
|
|
<span class="badge badge-danger d-none" id="web-failed" title="Unable to determine latest version.">Unknown</span> |
|
|
|
</dt> |
|
|
|
<dd class="col-sm-7"> |
|
|
|
<span id="web-installed">{{diagnostics.web_vault_version}}</span> |
|
|
|
</dd> |
|
|
|
<dt class="col-sm-5">Web Latest</dt> |
|
|
|
<dd class="col-sm-7"> |
|
|
|
<span id="web-latest">{{diagnostics.latest_web_build}}</span> |
|
|
|
</dd> |
|
|
|
</dl> |
|
|
|
</div> |
|
|
|
</div> |
|
|
@ -45,29 +61,57 @@ |
|
|
|
</main> |
|
|
|
|
|
|
|
<script> |
|
|
|
const d = new Date(); |
|
|
|
const year = d.getUTCFullYear(); |
|
|
|
const month = String((d.getUTCMonth()+1)).padStart(2, '0'); |
|
|
|
const day = String(d.getUTCDate()).padStart(2, '0'); |
|
|
|
const hour = String(d.getUTCHours()).padStart(2, '0'); |
|
|
|
const minute = String(d.getUTCMinutes()).padStart(2, '0'); |
|
|
|
const seconds = String(d.getUTCSeconds()).padStart(2, '0'); |
|
|
|
const browserUTC = year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + seconds; |
|
|
|
document.getElementById("time-browser-string").innerText = browserUTC; |
|
|
|
(() => { |
|
|
|
const d = new Date(); |
|
|
|
const year = d.getUTCFullYear(); |
|
|
|
const month = String((d.getUTCMonth()+1)).padStart(2, '0'); |
|
|
|
const day = String(d.getUTCDate()).padStart(2, '0'); |
|
|
|
const hour = String(d.getUTCHours()).padStart(2, '0'); |
|
|
|
const minute = String(d.getUTCMinutes()).padStart(2, '0'); |
|
|
|
const seconds = String(d.getUTCSeconds()).padStart(2, '0'); |
|
|
|
const browserUTC = year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + seconds; |
|
|
|
document.getElementById("time-browser-string").innerText = browserUTC; |
|
|
|
|
|
|
|
const serverUTC = document.getElementById("time-server-string").innerText; |
|
|
|
const timeDrift = (Date.parse(serverUTC) - Date.parse(browserUTC)) / 1000; |
|
|
|
if (timeDrift > 30 || timeDrift < -30) { |
|
|
|
document.getElementById('time-warning').classList.remove('d-none'); |
|
|
|
} else { |
|
|
|
document.getElementById('time-success').classList.remove('d-none'); |
|
|
|
} |
|
|
|
|
|
|
|
// Check if the output is a valid IP |
|
|
|
const isValidIp = value => (/^(?:(?:^|\.)(?:2(?:5[0-5]|[0-4]\d)|1?\d?\d)){4}$/.test(value) ? true : false); |
|
|
|
if (isValidIp(document.getElementById('dns-resolved').innerText)) { |
|
|
|
document.getElementById('dns-success').classList.remove('d-none'); |
|
|
|
} else { |
|
|
|
document.getElementById('dns-warning').classList.remove('d-none'); |
|
|
|
} |
|
|
|
|
|
|
|
let serverInstalled = document.getElementById('server-installed').innerText; |
|
|
|
let serverLatest = document.getElementById('server-latest').innerText; |
|
|
|
if (serverInstalled.indexOf('-') > -1 && serverLatest !== '-') { |
|
|
|
document.getElementById('server-latest-commit').classList.remove('d-none'); |
|
|
|
serverLatest += document.getElementById('server-latest-commit').innerText; |
|
|
|
} |
|
|
|
|
|
|
|
const webInstalled = document.getElementById('web-installed').innerText; |
|
|
|
const webLatest = document.getElementById('web-latest').innerText; |
|
|
|
|
|
|
|
checkVersions('server', serverInstalled, serverLatest); |
|
|
|
checkVersions('web', webInstalled, webLatest); |
|
|
|
|
|
|
|
const serverUTC = document.getElementById("time-server-string").innerText; |
|
|
|
const timeDrift = (Date.parse(serverUTC) - Date.parse(browserUTC)) / 1000; |
|
|
|
if (timeDrift > 30 || timeDrift < -30) { |
|
|
|
document.getElementById('time-warning').classList.remove('d-none'); |
|
|
|
} else { |
|
|
|
document.getElementById('time-success').classList.remove('d-none'); |
|
|
|
} |
|
|
|
function checkVersions(platform, installed, latest) { |
|
|
|
if (installed === '-' || latest === '-') { |
|
|
|
document.getElementById(platform + '-failed').classList.remove('d-none'); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// Check if the output is a valid IP |
|
|
|
const isValidIp = value => (/^(?:(?:^|\.)(?:2(?:5[0-5]|[0-4]\d)|1?\d?\d)){4}$/.test(value) ? true : false); |
|
|
|
if (isValidIp(document.getElementById('dns-resolved').innerText)) { |
|
|
|
document.getElementById('dns-success').classList.remove('d-none'); |
|
|
|
} else { |
|
|
|
document.getElementById('dns-warning').classList.remove('d-none'); |
|
|
|
} |
|
|
|
if (installed !== latest) { |
|
|
|
document.getElementById(platform + '-warning').classList.remove('d-none'); |
|
|
|
} else { |
|
|
|
document.getElementById(platform + '-success').classList.remove('d-none'); |
|
|
|
} |
|
|
|
} |
|
|
|
})(); |
|
|
|
</script> |