diff --git a/plinth/modules/wireguard/templates/wireguard.html b/plinth/modules/wireguard/templates/wireguard.html index af7551b26..f4cee1728 100644 --- a/plinth/modules/wireguard/templates/wireguard.html +++ b/plinth/modules/wireguard/templates/wireguard.html @@ -48,12 +48,24 @@ {% blocktrans trimmed %} Public key for this {{ box_name }}: {% endblocktrans %} - {% if server.public_key %} -
{{ server.public_key }}
- {% else %} -

{% trans "Not configured yet." %}

- {% endif %}

+ {% if server.public_key %} +
{{ server.public_key }}
+ {% else %} +

{% trans "Not configured yet." %}

+ {% endif %} + +

+ {% blocktrans trimmed %} + Endpoints for this {{ box_name }}: + {% endblocktrans %} +

+ {% if server_endpoints %} +
{% for endpoint in server_endpoints %}{{ endpoint }}
+{% endfor %}
+ {% else %} +

{% trans "Not configured yet." %}

+ {% endif %}
{% if not server.public_key %} diff --git a/plinth/modules/wireguard/views.py b/plinth/modules/wireguard/views.py index 5de984006..4b20458dd 100644 --- a/plinth/modules/wireguard/views.py +++ b/plinth/modules/wireguard/views.py @@ -30,8 +30,19 @@ class WireguardView(AppView): """Return additional context for rendering the template.""" context = super().get_context_data(**kwargs) info = utils.get_info() - context['server'] = info['my_server'] + server_info = info['my_server'] + context['server'] = server_info context['client_peers'] = info['my_client']['servers'] + context['server_endpoints'] = [] + + if server_info: + domains = DomainName.list_names(filter_for_service='wireguard') + listen_port = server_info.get('listen_port') + context['server_endpoints'] = [ + f'{domain}:{listen_port}' for domain in domains + if not domain.endswith('.local') + ] + return context