145 lines
7.2 KiB
Plaintext
145 lines
7.2 KiB
Plaintext
|
<!DOCTYPE html>
|
||
|
<html>
|
||
|
<head>
|
||
|
<meta charset="utf-8">
|
||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
|
<link rel="icon" type="image/x-icon" href="logo.png">
|
||
|
<title>Status | Emissary Agent</title>
|
||
|
<link rel="stylesheet" href="bulma-0.9.4.min.css">
|
||
|
<style>
|
||
|
body {
|
||
|
background-color: #f7f7f7f7;
|
||
|
}
|
||
|
.logo {
|
||
|
left: 50%;
|
||
|
position: absolute;
|
||
|
margin-left: -40px;
|
||
|
width: 100px;
|
||
|
margin-top: -120px
|
||
|
}
|
||
|
.card {
|
||
|
position:relative;
|
||
|
padding-top: 70px;
|
||
|
margin-top: 70px;
|
||
|
}
|
||
|
#qrcode {
|
||
|
display: flex;
|
||
|
flex-direction: row;
|
||
|
justify-content: center;
|
||
|
}
|
||
|
</style>
|
||
|
{{if or .Connected ( not .Claimed ) }}
|
||
|
<script type="text/javascript" src="qrcode.min.js"></script>
|
||
|
{{ end }}
|
||
|
</head>
|
||
|
<body>
|
||
|
<section class="section">
|
||
|
<div class="container">
|
||
|
<div class="column">
|
||
|
<div class="has-text-centered">
|
||
|
<h1 class="title is-size-1 ">Emissary</h1>
|
||
|
<h2 class="subtitle is-size-4">Agent Status</h2>
|
||
|
</div>
|
||
|
<div class="box card">
|
||
|
<img class="logo" src="logo.png" />
|
||
|
<div class="overflow:hidden">
|
||
|
<div class="level is-mobile" style="margin-top:-50px">
|
||
|
<div class="level-left">
|
||
|
<div class="level-item is-size-4-tablet is-size-7-mobile">
|
||
|
<strong class="mr-2">Connected:</strong>{{if .Connected }}<span class="has-text-success">✔</span>{{ else }}<span class="has-text-danger">✕</span>{{ end }}
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="level-right">
|
||
|
<div class="level-item is-size-4-tablet is-size-7-mobile">
|
||
|
<strong class="mr-2">Claimed:</strong>{{if .Claimed }}<span class="has-text-success">✔</span>{{ else }}<span class="has-text-warning">✕</span>{{ end }}
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
{{ if and .Connected ( not .Claimed ) }}
|
||
|
<h3 class="is-size-3 mt-4">Claim your agent</h3>
|
||
|
<p class="has-text-centered">
|
||
|
You can claim your agent by clicking the following link:<br />
|
||
|
<a class="button is-link is-medium mt-3" href="{{ .ClaimURL }}" target="_blank" rel="nofollow">Claim me</a><br />
|
||
|
</p>
|
||
|
<p class="has-text-centered mt-3">
|
||
|
You can also scan the following QRCode:
|
||
|
<div id="qrcode" class="mt-3" data-claim-url="{{ .ClaimURL }}"></div>
|
||
|
<script type="text/javascript">
|
||
|
(function() {
|
||
|
const qrCodeElement = document.getElementById("qrcode");
|
||
|
const claimUrl = qrCodeElement.dataset.claimUrl;
|
||
|
new QRCode(qrCodeElement, claimUrl);
|
||
|
}())
|
||
|
</script>
|
||
|
</p>
|
||
|
{{ end }}
|
||
|
{{ if and .Connected .Claimed }}
|
||
|
<h3 class="is-size-3 mt-4">Manage your agent</h3>
|
||
|
<p class="has-text-centered">
|
||
|
You can manage your agent by clicking the following link:<br />
|
||
|
<a class="button is-link is-medium mt-3" href="{{ .AgentURL }}" target="_blank" rel="nofollow">Manage me</a><br />
|
||
|
</p>
|
||
|
<p class="has-text-centered mt-3">
|
||
|
You can also scan the following QRCode:
|
||
|
<div id="qrcode" class="mt-3" data-agent-url="{{ .AgentURL }}"></div>
|
||
|
<script type="text/javascript">
|
||
|
(function() {
|
||
|
const qrCodeElement = document.getElementById("qrcode");
|
||
|
const agentUrl = qrCodeElement.dataset.agentUrl;
|
||
|
new QRCode(qrCodeElement, agentUrl);
|
||
|
}())
|
||
|
</script>
|
||
|
</p>
|
||
|
{{ end }}
|
||
|
<h3 class="is-size-3 mt-4">Informations</h3>
|
||
|
<div class="table-container">
|
||
|
<table class="table is-fullwidth">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
<th>Attribute</th>
|
||
|
<th>Value</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<td>Thumbprint</td>
|
||
|
<td><code>{{ .Thumbprint }}</code></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>Agent ID</td>
|
||
|
<td><code>{{ if .Agent }}{{ .Agent.ID }}{{ else }}unknown{{end}}</code></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>Agent Label</td>
|
||
|
<td><code>{{ with .Agent }}{{ if .Label }}{{ .Label }}{{ else }}empty{{end}}{{ else }}unknown{{end}}</code></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>Last server contact</td>
|
||
|
<td><code>{{ if .Agent }}{{ .Agent.ContactedAt }}{{ else }}unknown{{end}}</code></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>Server URL</td>
|
||
|
<td><code>{{ .ServerURL }}</code></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>Claim URL</td>
|
||
|
<td><code>{{ .ClaimURL }}</code></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>Agent URL</td>
|
||
|
<td><code>{{ if .Agent }}{{ .AgentURL }}{{ else }}unknown{{end}}</code></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>Agent version</td>
|
||
|
<td><code>{{ .AgentVersion }}</code></td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</section>
|
||
|
</body>
|
||
|
</html>
|