Files
wireguard_webadmin/templates/wireguard/server_detail.html

105 lines
4.8 KiB
HTML

{% extends "base.html" %}
{% load i18n %}
{% block content %}
<div class="row">
<div class="col-md-6">
<div class="card card-primary card-outline">
<div class="card-body box-profile">
<h3 class="profile-username text-center">wg{{ instance.instance_id }}</h3>
<ul class="list-group list-group-unbordered mb-3">
<li class="list-group-item">
<b>{% trans 'Name' %}</b>
<span class="float-right">{{ instance.name|default_if_none:"-" }}</span>
</li>
<li class="list-group-item">
<b>{% trans 'Public Key' %}</b>
<div class="float-right">
<span id="publicKeyTruncated" title="{{ instance.public_key }}">
{{ instance.public_key|truncatechars:16 }}
</span>
<span id="publicKeyFull" style="display: none;">
{{ instance.public_key }}
</span>
<a href="javascript:void(0);" onclick="togglePublicKey()" class="text-primary ml-2">
<i class="fas fa-eye" id="toggleIcon"></i>
</a>
</div>
</li>
<li class="list-group-item">
<b>{% trans 'Listen Port' %}</b>
<a class="float-right">{{ instance.listen_port }}</a>
</li>
<li class="list-group-item">
<b>{% trans 'Address' %}</b>
<a class="float-right">{{ instance.address }}/{{ instance.netmask }}</a>
</li>
<li class="list-group-item">
<b>{% trans 'Hostname' %}</b>
<a class="float-right">{{ instance.hostname }}</a>
</li>
<li class="list-group-item">
<b>{% trans 'Peers' %}</b>
<a class="float-right">{{ instance.peer_set.count }}</a>
</li>
</ul>
<a href="{% url 'wireguard_manage_instance' %}?uuid={{ instance.uuid }}"
class="btn btn-primary btn-block">
<b>{% trans 'Edit Instance' %}</b>
</a>
<a href="{% url 'wireguard_server_list' %}" class="btn btn-default btn-block">
<b>{% trans 'Back to List' %}</b>
</a>
</div>
<!-- /.card-body -->
</div>
</div>
<div class="col-md-6">
<div class="card card-primary card-outline">
<div class="card-header">
<h3 class="card-title">{% trans 'Traffic Graph' %}</h3>
<div class="card-tools">
<form method="get" class="form-inline">
<input type="hidden" name="uuid" value="{{ instance.uuid }}">
<select name="period" class="form-control form-control-sm" onchange="this.form.submit()">
<option value="6h" {% if request.GET.period == '6h' %}selected{% endif %}>6h</option>
<option value="1d" {% if request.GET.period == '1d' %}selected{% endif %}>1d</option>
<option value="7d" {% if request.GET.period == '7d' %}selected{% endif %}>7d</option>
<option value="30d" {% if request.GET.period == '30d' %}selected{% endif %}>1m</option>
<option value="365d" {% if request.GET.period == '365d' %}selected{% endif %}>1y</option>
</select>
</form>
</div>
</div>
<div class="card-body">
<img src="/rrd/graph/?instance={{ instance.uuid }}&period={{ request.GET.period|default:'6h' }}"
class="img-fluid" alt="RRD Graph">
</div>
</div>
</div>
</div>
{% endblock %}
{% block custom_page_scripts %}
<script>
function togglePublicKey() {
var truncated = document.getElementById('publicKeyTruncated');
var full = document.getElementById('publicKeyFull');
var icon = document.getElementById('toggleIcon');
if (full.style.display === "none") {
full.style.display = "inline";
truncated.style.display = "none";
icon.classList.remove('fa-eye');
icon.classList.add('fa-eye-slash');
} else {
full.style.display = "none";
truncated.style.display = "inline";
icon.classList.remove('fa-eye-slash');
icon.classList.add('fa-eye');
}
}
</script>
{% endblock %}