mirror of
https://github.com/ViViDboarder/bitwarden_rs.git
synced 2024-06-26 05:08:37 +00:00
Main changes: - Splitted up settings and users into two separate pages. - Added verified shield when the e-mail address has been verified. - Added the amount of personal items in the database to the users overview. - Added Organizations and Diagnostics pages. - Shows if DNS resolving works. - Shows if there is a posible time drift. - Shows current versions of server and web-vault. - Optimized logo-gray.png using optipng Items which can be added later: - Amount of cipher items accessible for a user, not only his personal items. - Amount of users per Org - Version update check in the diagnostics overview. - Copy/Pasteable runtime config which has sensitive data changed or removed for support questions either on the forum or github issues. - Option to delete Orgs and all its passwords (when there are no members anymore). - Etc....
73 lines
3.4 KiB
Handlebars
73 lines
3.4 KiB
Handlebars
<main class="container">
|
|
<div id="diagnostics-block" class="my-3 p-3 bg-white rounded shadow">
|
|
<h6 class="border-bottom pb-2 mb-2">Diagnostics</h6>
|
|
|
|
<h3>Version</h3>
|
|
<div class="row">
|
|
<div class="col-md">
|
|
<dl class="row">
|
|
<dt class="col-sm-5">Server Installed</dt>
|
|
<dd class="col-sm-7">
|
|
<span id="server-installed">{{version}}</span>
|
|
</dd>
|
|
<dt class="col-sm-5">Web Installed</dt>
|
|
<dd class="col-sm-7">
|
|
<span id="web-installed">{{diagnostics.web_vault_version}}</span>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
|
|
<h3>Checks</h3>
|
|
<div class="row">
|
|
<div class="col-md">
|
|
<dl class="row">
|
|
<dt class="col-sm-5">DNS (github.com)
|
|
<span class="badge badge-success d-none" id="dns-success" title="DNS Resolving works!">Ok</span>
|
|
<span class="badge badge-danger d-none" id="dns-warning" title="DNS Resolving failed. Please fix.">Error</span>
|
|
</dt>
|
|
<dd class="col-sm-7">
|
|
<span id="dns-resolved">{{diagnostics.dns_resolved}}</span>
|
|
</dd>
|
|
|
|
<dt class="col-sm-5">Date & Time (UTC)
|
|
<span class="badge badge-success d-none" id="time-success" title="Time offsets seem to be correct.">Ok</span>
|
|
<span class="badge badge-danger d-none" id="time-warning" title="Time offsets are too mouch at drift.">Error</span>
|
|
</dt>
|
|
<dd class="col-sm-7">
|
|
<span id="time-server" class="d-block"><b>Server:</b> <span id="time-server-string">{{diagnostics.server_time}}</span></span>
|
|
<span id="time-browser" class="d-block"><b>Browser:</b> <span id="time-browser-string"></span></span>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</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 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');
|
|
}
|
|
</script> |