mirror of
https://github.com/eduardogsilva/wireguard_webadmin.git
synced 2026-01-10 18:06:18 +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">
|
<div class="form-group col-md-6">
|
||||||
<label for="{{ form.peer_list_refresh_interval.id_for_label }}">{{ form.peer_list_refresh_interval.label }}</label>
|
<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>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -171,7 +171,7 @@
|
|||||||
<p id="invitePassword"></p>
|
<p id="invitePassword"></p>
|
||||||
<p>
|
<p>
|
||||||
{% trans 'Expires on' %}: <span id="inviteExpiration"></span>
|
{% 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>
|
</p>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="inviteContactInput">{% trans 'Enter Email or WhatsApp Number' %}:</label>
|
<label for="inviteContactInput">{% trans 'Enter Email or WhatsApp Number' %}:</label>
|
||||||
@@ -522,7 +522,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
fetchWireguardStatus();
|
fetchWireguardStatus();
|
||||||
setInterval(fetchWireguardStatus, {{ current_instance.peer_list_refresh_interval }} * 1000);
|
setInterval(fetchWireguardStatus, {{ refresh_interval }} * 1000);
|
||||||
});
|
});
|
||||||
|
|
||||||
const updateUI = (data) => {
|
const updateUI = (data) => {
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import login_required
|
||||||
from django.db import models
|
from django.db import models
|
||||||
@@ -159,7 +160,11 @@ def view_wireguard_manage_instance(request):
|
|||||||
form = WireGuardInstanceForm(initial=generate_instance_defaults())
|
form = WireGuardInstanceForm(initial=generate_instance_defaults())
|
||||||
else:
|
else:
|
||||||
form = WireGuardInstanceForm(instance=current_instance)
|
form = WireGuardInstanceForm(instance=current_instance)
|
||||||
context = {'page_title': page_title, 'wireguard_instances': wireguard_instances, 'current_instance': current_instance, 'form': form}
|
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)
|
return render(request, 'wireguard/wireguard_manage_server.html', context)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import ipaddress
|
import ipaddress
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import login_required
|
||||||
from django.http import Http404
|
from django.http import Http404
|
||||||
@@ -50,6 +51,7 @@ def view_wireguard_peer_list(request):
|
|||||||
page_title = _('WireGuard Peer List')
|
page_title = _('WireGuard Peer List')
|
||||||
user_acl = get_object_or_404(UserAcl, user=request.user)
|
user_acl = get_object_or_404(UserAcl, user=request.user)
|
||||||
wireguard_instances = user_allowed_instances(user_acl)
|
wireguard_instances = user_allowed_instances(user_acl)
|
||||||
|
refresh_interval = 120
|
||||||
|
|
||||||
if wireguard_instances:
|
if wireguard_instances:
|
||||||
if request.GET.get('uuid'):
|
if request.GET.get('uuid'):
|
||||||
@@ -66,10 +68,14 @@ def view_wireguard_peer_list(request):
|
|||||||
|
|
||||||
add_peer_enabled = False
|
add_peer_enabled = False
|
||||||
if current_instance:
|
if current_instance:
|
||||||
|
refresh_interval = current_instance.peer_list_refresh_interval
|
||||||
if user_has_access_to_instance(user_acl, current_instance):
|
if user_has_access_to_instance(user_acl, current_instance):
|
||||||
add_peer_enabled = True
|
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)
|
return render(request, 'wireguard/wireguard_peer_list.html', context)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -157,7 +157,7 @@ STATICFILES_DIRS = [
|
|||||||
|
|
||||||
WIREGUARD_STATUS_CACHE_ENABLED = True
|
WIREGUARD_STATUS_CACHE_ENABLED = True
|
||||||
WIREGUARD_STATUS_CACHE_MAX_AGE = 600
|
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
|
WIREGUARD_STATUS_CACHE_WEB_LOAD_PREVIOUS_COUNT = 10
|
||||||
|
|
||||||
# Default primary key field type
|
# Default primary key field type
|
||||||
|
|||||||
Reference in New Issue
Block a user