mirror of
https://github.com/eduardogsilva/wireguard_webadmin.git
synced 2026-02-19 19:26:17 +00:00
Add VPN_CLIENTS_CAN_ACCESS_DJANGO configuration and update related settings
This commit is contained in:
@@ -24,3 +24,12 @@ TIMEZONE=America/Sao_Paulo
|
|||||||
# The SERVER_ADDRESS will always be allowed.
|
# The SERVER_ADDRESS will always be allowed.
|
||||||
# Example: EXTRA_ALLOWED_HOSTS=app1.example.com,app2.example.com:8443,app3.example.com
|
# Example: EXTRA_ALLOWED_HOSTS=app1.example.com,app2.example.com:8443,app3.example.com
|
||||||
#EXTRA_ALLOWED_HOSTS=app1.example.com,app2.example.com:8443,app3.example.com
|
#EXTRA_ALLOWED_HOSTS=app1.example.com,app2.example.com:8443,app3.example.com
|
||||||
|
|
||||||
|
# Allow VPN clients to access Django directly through the internal interface.
|
||||||
|
# When enabled, users connected to the VPN can open the web interface using:
|
||||||
|
# http://ip_or_hostname:8000
|
||||||
|
#
|
||||||
|
# IMPORTANT:
|
||||||
|
# The internal address used for VPN access MUST be added to EXTRA_ALLOWED_HOSTS,
|
||||||
|
# including the port :8000, otherwise Django will block the request (CSRF/Host validation).
|
||||||
|
# VPN_CLIENTS_CAN_ACCESS_DJANGO=True
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ services:
|
|||||||
- WIREGUARD_STATUS_CACHE_ENABLED=${WIREGUARD_STATUS_CACHE_ENABLED}
|
- WIREGUARD_STATUS_CACHE_ENABLED=${WIREGUARD_STATUS_CACHE_ENABLED}
|
||||||
- WIREGUARD_STATUS_CACHE_WEB_LOAD_PREVIOUS_COUNT=${WIREGUARD_STATUS_CACHE_WEB_LOAD_PREVIOUS_COUNT}
|
- WIREGUARD_STATUS_CACHE_WEB_LOAD_PREVIOUS_COUNT=${WIREGUARD_STATUS_CACHE_WEB_LOAD_PREVIOUS_COUNT}
|
||||||
- WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL=${WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL}
|
- WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL=${WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL}
|
||||||
|
- VPN_CLIENTS_CAN_ACCESS_DJANGO=${VPN_CLIENTS_CAN_ACCESS_DJANGO}
|
||||||
volumes:
|
volumes:
|
||||||
- wireguard:/etc/wireguard
|
- wireguard:/etc/wireguard
|
||||||
- static_volume:/app_static_files/
|
- static_volume:/app_static_files/
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ services:
|
|||||||
- WIREGUARD_STATUS_CACHE_ENABLED=${WIREGUARD_STATUS_CACHE_ENABLED}
|
- WIREGUARD_STATUS_CACHE_ENABLED=${WIREGUARD_STATUS_CACHE_ENABLED}
|
||||||
- WIREGUARD_STATUS_CACHE_WEB_LOAD_PREVIOUS_COUNT=${WIREGUARD_STATUS_CACHE_WEB_LOAD_PREVIOUS_COUNT}
|
- WIREGUARD_STATUS_CACHE_WEB_LOAD_PREVIOUS_COUNT=${WIREGUARD_STATUS_CACHE_WEB_LOAD_PREVIOUS_COUNT}
|
||||||
- WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL=${WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL}
|
- WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL=${WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL}
|
||||||
|
- VPN_CLIENTS_CAN_ACCESS_DJANGO=${VPN_CLIENTS_CAN_ACCESS_DJANGO}
|
||||||
volumes:
|
volumes:
|
||||||
- wireguard:/etc/wireguard
|
- wireguard:/etc/wireguard
|
||||||
- static_volume:/app_static_files/
|
- static_volume:/app_static_files/
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ services:
|
|||||||
- WIREGUARD_STATUS_CACHE_ENABLED=${WIREGUARD_STATUS_CACHE_ENABLED}
|
- WIREGUARD_STATUS_CACHE_ENABLED=${WIREGUARD_STATUS_CACHE_ENABLED}
|
||||||
- WIREGUARD_STATUS_CACHE_WEB_LOAD_PREVIOUS_COUNT=${WIREGUARD_STATUS_CACHE_WEB_LOAD_PREVIOUS_COUNT}
|
- WIREGUARD_STATUS_CACHE_WEB_LOAD_PREVIOUS_COUNT=${WIREGUARD_STATUS_CACHE_WEB_LOAD_PREVIOUS_COUNT}
|
||||||
- WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL=${WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL}
|
- WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL=${WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL}
|
||||||
|
- VPN_CLIENTS_CAN_ACCESS_DJANGO=${VPN_CLIENTS_CAN_ACCESS_DJANGO}
|
||||||
volumes:
|
volumes:
|
||||||
- wireguard:/etc/wireguard
|
- wireguard:/etc/wireguard
|
||||||
- static_volume:/app_static_files/
|
- static_volume:/app_static_files/
|
||||||
|
|||||||
@@ -47,6 +47,10 @@ if [ -n "${TZ:-}" ]; then
|
|||||||
echo "TIME_ZONE = '${TZ}'" >> /app/wireguard_webadmin/production_settings.py
|
echo "TIME_ZONE = '${TZ}'" >> /app/wireguard_webadmin/production_settings.py
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ "${VPN_CLIENTS_CAN_ACCESS_DJANGO,,}" == "true" ]]; then
|
||||||
|
echo "VPN_CLIENTS_CAN_ACCESS_DJANGO = True" >> /app/wireguard_webadmin/production_settings.py
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ "${WIREGUARD_STATUS_CACHE_ENABLED,,}" == "false" ]]; then
|
if [[ "${WIREGUARD_STATUS_CACHE_ENABLED,,}" == "false" ]]; then
|
||||||
echo "WIREGUARD_STATUS_CACHE_ENABLED = False" >> /app/wireguard_webadmin/production_settings.py
|
echo "WIREGUARD_STATUS_CACHE_ENABLED = False" >> /app/wireguard_webadmin/production_settings.py
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
from django.conf import settings
|
||||||
from django.db.models import Q, Prefetch
|
from django.db.models import Q, Prefetch
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
@@ -235,6 +236,7 @@ iptables -t nat -F WGWADM_PREROUTING
|
|||||||
iptables -t filter -F WGWADM_FORWARD
|
iptables -t filter -F WGWADM_FORWARD
|
||||||
iptables -t filter -F WGWADM_ROUTE_POLICY
|
iptables -t filter -F WGWADM_ROUTE_POLICY
|
||||||
iptables -t filter -F FORWARD
|
iptables -t filter -F FORWARD
|
||||||
|
iptables -t filter -F INPUT
|
||||||
|
|
||||||
iptables -t nat -D POSTROUTING -j WGWADM_POSTROUTING >> /dev/null 2>&1
|
iptables -t nat -D POSTROUTING -j WGWADM_POSTROUTING >> /dev/null 2>&1
|
||||||
iptables -t nat -D PREROUTING -j WGWADM_PREROUTING >> /dev/null 2>&1
|
iptables -t nat -D PREROUTING -j WGWADM_PREROUTING >> /dev/null 2>&1
|
||||||
@@ -247,6 +249,9 @@ iptables -t filter -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
|
|||||||
iptables -t filter -A FORWARD -i wg+ -j WGWADM_ROUTE_POLICY
|
iptables -t filter -A FORWARD -i wg+ -j WGWADM_ROUTE_POLICY
|
||||||
iptables -t filter -A FORWARD -j WGWADM_FORWARD
|
iptables -t filter -A FORWARD -j WGWADM_FORWARD
|
||||||
'''
|
'''
|
||||||
|
if not settings.VPN_CLIENTS_CAN_ACCESS_DJANGO:
|
||||||
|
header += 'iptables -t filter -A INPUT -i wg+ -p tcp --dport 8000 -j REJECT\n'
|
||||||
|
|
||||||
return header
|
return header
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -495,8 +495,15 @@ def view_wireguard_peer_schedule_profile(request):
|
|||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
form.save()
|
form.save()
|
||||||
messages.success(request, _('Peer scheduling profile updated successfully.'))
|
messages.success(request, _('Peer scheduling profile updated successfully.'))
|
||||||
current_peer.wireguard_instance.pending_changes = True
|
if not peer_scheduling.profile and current_peer.disabled_by_schedule:
|
||||||
current_peer.wireguard_instance.save()
|
current_peer.disabled_by_schedule = False
|
||||||
|
current_peer.save()
|
||||||
|
export_wireguard_configuration(current_peer.wireguard_instance)
|
||||||
|
success, message = func_reload_wireguard_interface(current_peer.wireguard_instance)
|
||||||
|
|
||||||
|
peer_scheduling.next_scheduled_enable_at = None
|
||||||
|
peer_scheduling.next_scheduled_disable_at = None
|
||||||
|
peer_scheduling.save()
|
||||||
return redirect('/peer/manage/?peer=' + str(current_peer.uuid))
|
return redirect('/peer/manage/?peer=' + str(current_peer.uuid))
|
||||||
|
|
||||||
context = {
|
context = {
|
||||||
|
|||||||
@@ -160,6 +160,7 @@ STATICFILES_DIRS = [
|
|||||||
BASE_DIR / "static_files",
|
BASE_DIR / "static_files",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
VPN_CLIENTS_CAN_ACCESS_DJANGO = False
|
||||||
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_INTERVAL = 60
|
WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL = 60
|
||||||
@@ -170,7 +171,7 @@ WIREGUARD_STATUS_CACHE_WEB_LOAD_PREVIOUS_COUNT = 9
|
|||||||
DNS_CONFIG_FILE = '/etc/dnsmasq/wireguard_webadmin_dns.conf'
|
DNS_CONFIG_FILE = '/etc/dnsmasq/wireguard_webadmin_dns.conf'
|
||||||
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
|
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
|
||||||
|
|
||||||
WIREGUARD_WEBADMIN_VERSION = 9974
|
WIREGUARD_WEBADMIN_VERSION = 9975
|
||||||
|
|
||||||
CLUSTER_WORKER_CURRENT_VERSION = 11
|
CLUSTER_WORKER_CURRENT_VERSION = 11
|
||||||
CLUSTER_WORKER_MINIMUM_VERSION = 11
|
CLUSTER_WORKER_MINIMUM_VERSION = 11
|
||||||
|
|||||||
Reference in New Issue
Block a user