mirror of
https://github.com/eduardogsilva/wireguard_webadmin.git
synced 2026-01-08 17:06:17 +00:00
enforce fixed refresh interval if cache is enabled
This commit is contained in:
@@ -34,7 +34,7 @@
|
||||
|
||||
<div class="form-group col-md-6">
|
||||
<label for="{{ form.peer_list_refresh_interval.id_for_label }}">{{ form.peer_list_refresh_interval.label }}</label>
|
||||
<input type="number" class="form-control" id="{{ form.peer_list_refresh_interval.id_for_label }}" name="{{ form.peer_list_refresh_interval.html_name }}" placeholder="Persistent Keepalive" value="{{ form.peer_list_refresh_interval.value|default_if_none:'' }}" required>
|
||||
<input type="number" class="form-control" id="{{ form.peer_list_refresh_interval.id_for_label }}" name="{{ form.peer_list_refresh_interval.html_name }}" placeholder="Persistent Keepalive" value="{% if force_cache_refresh > 0 %}{{ force_cache_refresh }}{% else %}{{ form.peer_list_refresh_interval.value|default_if_none:'' }}{% endif %}" required {% if force_cache_refresh > 0 %}readonly{% endif %}>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@@ -171,7 +171,7 @@
|
||||
<p id="invitePassword"></p>
|
||||
<p>
|
||||
{% trans 'Expires on' %}: <span id="inviteExpiration"></span>
|
||||
<i class="fas fa-sync-alt" id="refreshInviteButton" style="cursor: pointer;" title="Refresh Invite"></i>
|
||||
<i class="fas fa-sync-alt" id="refreshInviteButton" style="cursor: pointer;" title="{% trans 'Refresh Invite' %}"></i>
|
||||
</p>
|
||||
<div class="form-group">
|
||||
<label for="inviteContactInput">{% trans 'Enter Email or WhatsApp Number' %}:</label>
|
||||
@@ -522,7 +522,7 @@
|
||||
};
|
||||
|
||||
fetchWireguardStatus();
|
||||
setInterval(fetchWireguardStatus, {{ current_instance.peer_list_refresh_interval }} * 1000);
|
||||
setInterval(fetchWireguardStatus, {{ refresh_interval }} * 1000);
|
||||
});
|
||||
|
||||
const updateUI = (data) => {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import subprocess
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.db import models
|
||||
@@ -158,8 +159,12 @@ def view_wireguard_manage_instance(request):
|
||||
if not current_instance:
|
||||
form = WireGuardInstanceForm(initial=generate_instance_defaults())
|
||||
else:
|
||||
form = WireGuardInstanceForm(instance=current_instance)
|
||||
context = {'page_title': page_title, 'wireguard_instances': wireguard_instances, 'current_instance': current_instance, 'form': form}
|
||||
form = WireGuardInstanceForm(instance=current_instance)
|
||||
if settings.WIREGUARD_STATUS_CACHE_ENABLED:
|
||||
force_cache_refresh = settings.WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL
|
||||
else:
|
||||
force_cache_refresh = 0
|
||||
context = {'page_title': page_title, 'wireguard_instances': wireguard_instances, 'current_instance': current_instance, 'form': form, 'force_cache_refresh': force_cache_refresh}
|
||||
return render(request, 'wireguard/wireguard_manage_server.html', context)
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import ipaddress
|
||||
import subprocess
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.http import Http404
|
||||
@@ -50,6 +51,7 @@ def view_wireguard_peer_list(request):
|
||||
page_title = _('WireGuard Peer List')
|
||||
user_acl = get_object_or_404(UserAcl, user=request.user)
|
||||
wireguard_instances = user_allowed_instances(user_acl)
|
||||
refresh_interval = 120
|
||||
|
||||
if wireguard_instances:
|
||||
if request.GET.get('uuid'):
|
||||
@@ -66,10 +68,14 @@ def view_wireguard_peer_list(request):
|
||||
|
||||
add_peer_enabled = False
|
||||
if current_instance:
|
||||
refresh_interval = current_instance.peer_list_refresh_interval
|
||||
if user_has_access_to_instance(user_acl, current_instance):
|
||||
add_peer_enabled = True
|
||||
|
||||
context = {'page_title': page_title, 'wireguard_instances': wireguard_instances, 'current_instance': current_instance, 'peer_list': peer_list, 'add_peer_enabled': add_peer_enabled, 'user_acl': user_acl}
|
||||
|
||||
if settings.WIREGUARD_STATUS_CACHE_ENABLED:
|
||||
refresh_interval = settings.WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL
|
||||
|
||||
context = {'page_title': page_title, 'wireguard_instances': wireguard_instances, 'current_instance': current_instance, 'peer_list': peer_list, 'add_peer_enabled': add_peer_enabled, 'user_acl': user_acl, 'refresh_interval': refresh_interval}
|
||||
return render(request, 'wireguard/wireguard_peer_list.html', context)
|
||||
|
||||
|
||||
|
||||
@@ -157,7 +157,7 @@ STATICFILES_DIRS = [
|
||||
|
||||
WIREGUARD_STATUS_CACHE_ENABLED = True
|
||||
WIREGUARD_STATUS_CACHE_MAX_AGE = 600
|
||||
WIREGUARD_STATUS_CACHE_REFRESH = 60
|
||||
WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL = 60
|
||||
WIREGUARD_STATUS_CACHE_WEB_LOAD_PREVIOUS_COUNT = 10
|
||||
|
||||
# Default primary key field type
|
||||
|
||||
Reference in New Issue
Block a user