2024-02-14 16:36:01 -03:00
|
|
|
{% extends "base.html" %}
|
2025-04-14 16:22:05 -03:00
|
|
|
{% load i18n %}
|
2024-02-14 16:36:01 -03:00
|
|
|
{% block content %}
|
2024-02-15 12:48:40 -03:00
|
|
|
|
|
|
|
<div class='row'>
|
|
|
|
<div class='col-lg-12'>
|
|
|
|
<div class="card card-primary card-outline">
|
|
|
|
<div class="card-header">
|
2025-04-14 16:22:05 -03:00
|
|
|
<a href='/tools/export_wireguard_config/' class='btn btn-outline-primary'>{% trans 'Update Configuration' %}</a>
|
2025-04-11 11:05:20 -03:00
|
|
|
<a
|
|
|
|
{% if user_acl.enable_restart %}
|
|
|
|
href='/tools/restart_wireguard/' class='btn btn-outline-primary'
|
|
|
|
{% else %}
|
|
|
|
href='#' class='btn btn-outline-primary disabled'
|
|
|
|
{% endif %}
|
2025-04-14 16:22:05 -03:00
|
|
|
>{% trans 'Restart Wireguard service' %}</a>
|
2025-04-11 11:05:20 -03:00
|
|
|
|
|
|
|
<a
|
|
|
|
{% if user_acl.enable_reload %}
|
|
|
|
href='/tools/restart_wireguard/?mode=reload' class='btn btn-outline-primary'
|
|
|
|
{% else %}
|
|
|
|
href='#' class='btn btn-outline-primary disabled'
|
|
|
|
{% endif %}
|
2025-04-14 16:22:05 -03:00
|
|
|
>{% trans 'Reload Wireguard service' %}</a>
|
2025-02-24 15:18:41 -03:00
|
|
|
|
|
|
|
<div class="btn-group float-right" role="group" aria-label="Graph interval">
|
|
|
|
<a href="?period=6h" data-period="6h" class="btn btn-outline-primary">6h</a>
|
|
|
|
<a href="?period=7d" data-period="7d" class="btn btn-outline-primary">7d</a>
|
|
|
|
<a href="?period=30d" data-period="30d" class="btn btn-outline-primary">1m</a>
|
|
|
|
<a href="?period=180d" data-period="180d" class="btn btn-outline-primary">6m</a>
|
|
|
|
<a href="?period=365d" data-period="365d" class="btn btn-outline-primary">1y</a>
|
|
|
|
</div>
|
|
|
|
|
2024-02-15 12:48:40 -03:00
|
|
|
</div>
|
|
|
|
<div class="card-body">
|
|
|
|
<div class='row'>
|
|
|
|
<div class='col-md-12'>
|
2025-02-24 15:18:41 -03:00
|
|
|
<div class="row" style="padding-bottom: 20px">
|
|
|
|
{% for wireguard_instance in wireguard_instances %}
|
2025-02-24 16:01:09 -03:00
|
|
|
<div class="col-md-6">
|
2025-02-24 15:18:41 -03:00
|
|
|
<h3>wg{{ wireguard_instance.instance_id }} {% if wireguard_instance.name %}({{ wireguard_instance.name }}){% endif %}</h3>
|
2025-04-14 16:22:05 -03:00
|
|
|
<p><b><i class="fas fa-chart-area nav-icon"></i> {% trans 'Instance Traffic' %}</b></p>
|
2025-02-24 15:18:41 -03:00
|
|
|
<img id="graphImg" src="/rrd/graph/?instance={{ wireguard_instance.uuid }}{% if request.GET.period %}&period={{ request.GET.period }}{% endif %}" class="img-fluid" alt="No traffic history, please wait a few minutes" onerror="this.onerror=null; this.style.display='none'; this.insertAdjacentHTML('afterend', this.alt);">
|
|
|
|
<p>
|
2025-04-14 16:22:05 -03:00
|
|
|
<b><i class="fas fa-network-wired nav-icon"></i> {% trans 'IP Address' %}: </b>{{ wireguard_instance.address }}/{{ wireguard_instance.netmask }}<br>
|
|
|
|
<b><i class="fas fa-link nav-icon"></i> {% trans 'Public Address' %}: </b>{{ wireguard_instance.hostname }}<br>
|
|
|
|
<b><i class="fas fa-door-open nav-icon"></i> {% trans 'Port' %}: </b>{{ wireguard_instance.listen_port }}<br>
|
|
|
|
<b><i class="fas fa-users-cog nav-icon"></i> {% trans 'Peers' %}: </b>{{ wireguard_instance.peer_set.count }}<br>
|
2025-02-24 15:18:41 -03:00
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
{% endfor %}
|
|
|
|
</div>
|
2024-02-15 12:48:40 -03:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
2025-02-24 15:18:41 -03:00
|
|
|
<div class="card-footer">
|
|
|
|
</div>
|
2024-02-15 12:48:40 -03:00
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2024-02-14 16:36:01 -03:00
|
|
|
{% endblock %}
|