Frederico Gomes 77a91fc357
wireguard/theme: Add icon to auto add client button
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-05-23 08:51:48 -04:00

169 lines
4.9 KiB
HTML

{% extends "app.html" %}
{% comment %}
# SPDX-License-Identifier: AGPL-3.0-or-later
{% endcomment %}
{% load bootstrap %}
{% load i18n %}
{% load extras %}
{% block configuration %}
<h3>{% trans "As a Server" %}</h3>
{% if server.public_key %}
<h4>{% trans "Server" %}</h4>
<p>
{% blocktrans trimmed %}
Information for this {{ box_name }}:
{% endblocktrans %}
</p>
<div class="table-responsive">
<table class="table" id="server-info-table">
<tr>
<th>{% trans "Property" %}</th>
<th>{% trans "Value" %}</th>
</tr>
<tr>
<td>{% trans "Public Key" %}</td>
<td>{{ server.public_key }}</td>
</tr>
<tr>
<td>{% trans "Endpoint(s)" %}</td>
<td>
<pre>{% for endpoint in server_endpoints %}{{ endpoint }}
{% endfor %}</pre>
</td>
</tr>
<tr>
<td>
{% blocktrans trimmed %}
{{ box_name }} VPN IP for services
{% endblocktrans %}
</td>
<td>{{ server.ip_address }}</td>
</tr>
</table>
</div>
<h4>{% trans "Peers" %}</h4>
<p>{% trans "Peers allowed to connect to this server:" %}</p>
<div class="table-responsive">
<table class="table" id="server-peers-list">
<tr>
<th>{% trans "Public Key" %}</th>
<th>{% trans "Allowed IPs" %}</th>
<th>{% trans "Last Connected Time" %}</th>
</tr>
{% if server.peers %}
{% for peer in server.peers.values %}
{% if peer.public_key %}
<tr>
<td>
<a href="{% url 'wireguard:show-client' peer.public_key|urlencode:'' %}">
{{ peer.public_key }}
</a>
</td>
<td>{{ peer.allowed_ips|join:", " }}</td>
<td>{{ peer.status.latest_handshake|default:'' }}</td>
</tr>
{% endif %}
{% endfor %}
{% else %}
<tr>
<td colspan="3">
{% blocktrans trimmed %}
No peers configured to connect to this {{ box_name }} yet.
{% endblocktrans %}
</td>
</tr>
{% endif %}
</table>
</div>
<div class="btn-toolbar">
<a title="{% trans 'Auto add a new peer' %}"
role="button" class="btn btn-primary btn-auto-add-client"
href="{% url 'wireguard:auto-add-client' %}">
{% icon 'magic' %}
{% trans "Add Client Automatically" %}
</a>
<a title="{% trans 'Add a new peer' %}"
role="button" class="btn btn-default btn-add-client"
href="{% url 'wireguard:add-client' %}">
{% icon 'plus' %}
{% trans "Add Allowed Client" %}
</a>
</div>
{% else %}
<div>
<p class="alert alert-info">{% trans "WireGuard server not started yet." %}</p>
<form method="post" action="{% url 'wireguard:enable-server' %}">
{% csrf_token %}
<button type="submit" class="btn btn-primary btn-start-server"
title="{% trans 'Start WireGuard Server' %}">
{% icon 'rocket' %}
{% trans "Start WireGuard Server" %}
</button>
</form>
</div>
{% endif %}
<h3>{% trans "As a Client" %}</h3>
<p>
{% blocktrans trimmed %}
Servers that {{ box_name }} will connect to:
{% endblocktrans %}
</p>
<div class="table-responsive">
<table class="table" id="client-peers-list">
<tr>
<th>{% trans "Endpoint" %}</th>
<th>{% trans "Public Key" %}</th>
<th>{% trans "Last Connected Time" %}</th>
</tr>
{% if client_peers %}
{% for interface, server in client_peers.items %}
{% for peer in server.peers.values %}
{% if forloop.first %}
<tr>
<td class="peer-endpoint">{{ peer.endpoint }}</td>
<td class="peer-public-key"
data-public-key="{{ peer.public_key }}">
<a href="{% url 'wireguard:show-server' interface %}">
{{ peer.public_key }}
</a>
</td>
<td>{{ peer.status.latest_handshake|default:'' }}</td>
</tr>
{% endif %}
{% endfor %}
{% endfor %}
{% else %}
<tr>
<td colspan="4">
{% blocktrans trimmed %}
No connections to remote servers are configured yet.
{% endblocktrans %}
</td>
</tr>
{% endif %}
</table>
</div>
<div class="btn-toolbar">
<a title="{% trans 'Add a new server' %}"
role="button" class="btn btn-default btn-add-server"
href="{% url 'wireguard:add-server' %}">
{% icon 'plus' %}
{% trans "Add Connection to Server" %}
</a>
</div>
{{ block.super }}
{% endblock %}