mirror of
https://github.com/eduardogsilva/wireguard_webadmin.git
synced 2025-08-26 21:31:14 +00:00
firewall rules/settings translation
This commit is contained in:
@@ -153,10 +153,10 @@ class FirewallSettingsForm(forms.ModelForm):
|
||||
if not interface.startswith('wg') and interface != 'lo':
|
||||
interface_choices.append((interface, interface))
|
||||
|
||||
default_forward_policy = forms.ChoiceField(label='Default Forward Policy', choices=[('accept', 'ACCEPT'), ('reject', 'REJECT'), ('drop', 'DROP')], initial='accept')
|
||||
allow_peer_to_peer = forms.BooleanField(label='Allow Peer to Peer', required=False)
|
||||
allow_instance_to_instance = forms.BooleanField(label='Allow Instance to Instance', required=False)
|
||||
wan_interface = forms.ChoiceField(label='WAN Interface', choices=interface_choices, initial='eth0')
|
||||
default_forward_policy = forms.ChoiceField(label=_('Default Forward Policy'), choices=[('accept', _('ACCEPT')), ('reject', _('REJECT')), ('drop', _('DROP'))], initial='accept')
|
||||
allow_peer_to_peer = forms.BooleanField(label=_('Allow Peer to Peer'), required=False)
|
||||
allow_instance_to_instance = forms.BooleanField(label=_('Allow Instance to Instance'), required=False)
|
||||
wan_interface = forms.ChoiceField(label=_('WAN Interface'), choices=interface_choices, initial='eth0')
|
||||
|
||||
class Meta:
|
||||
model = FirewallSettings
|
||||
|
@@ -1,6 +1,7 @@
|
||||
import uuid
|
||||
|
||||
from django.db import models
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from wireguard.models import NETMASK_CHOICES
|
||||
from wireguard.models import Peer, WireGuardInstance
|
||||
@@ -58,7 +59,7 @@ class FirewallRule(models.Model):
|
||||
state_untracked = models.BooleanField(default=False)
|
||||
not_state = models.BooleanField(default=False)
|
||||
|
||||
rule_action = models.CharField(max_length=10, default='accept', choices=[('accept', 'ACCEPT'), ('reject', 'REJECT'), ('drop', 'DROP'), ('masquerade', 'MASQUERADE')])
|
||||
rule_action = models.CharField(max_length=10, default='accept', choices=[('accept', _('ACCEPT')), ('reject', _('REJECT')), ('drop', _('DROP')), ('masquerade', _('MASQUERADE'))])
|
||||
|
||||
sort_order = models.PositiveIntegerField(default=0)
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
@@ -71,8 +72,8 @@ class FirewallRule(models.Model):
|
||||
|
||||
class FirewallSettings(models.Model):
|
||||
name = models.CharField(max_length=6, default='global', unique=True)
|
||||
default_forward_policy = models.CharField(max_length=6, default='accept', choices=[('accept', 'ACCEPT'), ('reject', 'REJECT'), ('drop', 'DROP')])
|
||||
default_output_policy = models.CharField(max_length=6, default='accept', choices=[('accept', 'ACCEPT'), ('reject', 'REJECT'), ('drop', 'DROP')])
|
||||
default_forward_policy = models.CharField(max_length=6, default='accept', choices=[('accept', _('ACCEPT')), ('reject', _('REJECT')), ('drop', _('DROP'))])
|
||||
default_output_policy = models.CharField(max_length=6, default='accept', choices=[('accept', _('ACCEPT')), ('reject', _('REJECT')), ('drop', _('DROP'))])
|
||||
allow_peer_to_peer = models.BooleanField(default=True)
|
||||
allow_instance_to_instance = models.BooleanField(default=True)
|
||||
wan_interface = models.CharField(max_length=12, default='eth0')
|
||||
|
@@ -1,4 +1,5 @@
|
||||
from django.utils import timezone
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from firewall.models import FirewallRule, FirewallSettings, RedirectRule
|
||||
from wireguard.models import PeerAllowedIP, WireGuardInstance
|
||||
@@ -40,7 +41,7 @@ def reset_firewall_to_default():
|
||||
|
||||
FirewallRule.objects.create(
|
||||
firewall_chain='postrouting', sort_order=0, out_interface=firewall_settings.wan_interface, rule_action='masquerade',
|
||||
description='Masquerade traffic from VPN to WAN',
|
||||
description=_('Masquerade traffic from VPN to WAN'),
|
||||
)
|
||||
|
||||
# This rule will now be fixed in the firewall header
|
||||
@@ -50,19 +51,19 @@ def reset_firewall_to_default():
|
||||
# )
|
||||
|
||||
FirewallRule.objects.create(
|
||||
firewall_chain='forward', sort_order=1, rule_action='reject', description='Reject traffic to private networks exiting on WAN interface',
|
||||
firewall_chain='forward', sort_order=1, rule_action='reject', description=_('Reject traffic to private networks exiting on WAN interface'),
|
||||
in_interface='wg+', out_interface=firewall_settings.wan_interface, destination_ip='10.0.0.0', destination_netmask=8
|
||||
)
|
||||
FirewallRule.objects.create(
|
||||
firewall_chain='forward', sort_order=2, rule_action='reject', description='Reject traffic to private networks exiting on WAN interface',
|
||||
firewall_chain='forward', sort_order=2, rule_action='reject', description=_('Reject traffic to private networks exiting on WAN interface'),
|
||||
in_interface='wg+', out_interface=firewall_settings.wan_interface, destination_ip='172.16.0.0', destination_netmask=12
|
||||
)
|
||||
FirewallRule.objects.create(
|
||||
firewall_chain='forward', sort_order=3, rule_action='reject', description='Reject traffic to private networks exiting on WAN interface',
|
||||
firewall_chain='forward', sort_order=3, rule_action='reject', description=_('Reject traffic to private networks exiting on WAN interface'),
|
||||
in_interface='wg+', out_interface=firewall_settings.wan_interface, destination_ip='192.168.0.0', destination_netmask=16
|
||||
)
|
||||
FirewallRule.objects.create(
|
||||
firewall_chain='forward', sort_order=10, rule_action='accept', description='Allow traffic from VPN to WAN',
|
||||
firewall_chain='forward', sort_order=10, rule_action='accept', description=_('Allow traffic from VPN to WAN'),
|
||||
in_interface='wg+', out_interface=firewall_settings.wan_interface
|
||||
)
|
||||
return
|
||||
|
@@ -76,7 +76,7 @@ def view_firewall_rule_list(request):
|
||||
if current_chain not in ['forward', 'portforward', 'postrouting']:
|
||||
current_chain = 'forward'
|
||||
context = {
|
||||
'page_title': 'Firewall Rule List',
|
||||
'page_title': _('Firewall Rule List'),
|
||||
'firewall_rule_list': FirewallRule.objects.filter(firewall_chain=current_chain).order_by('sort_order'),
|
||||
'current_chain': current_chain,
|
||||
'port_forward_list': RedirectRule.objects.all().order_by('port'),
|
||||
@@ -90,7 +90,7 @@ def view_firewall_rule_list(request):
|
||||
def manage_firewall_rule(request):
|
||||
if not UserAcl.objects.filter(user=request.user).filter(user_level__gte=40).exists():
|
||||
return render(request, 'access_denied.html', {'page_title': 'Access Denied'})
|
||||
context = {'page_title': 'Manage Firewall Rule'}
|
||||
context = {'page_title': _('Manage Firewall Rule')}
|
||||
instance = None
|
||||
uuid = request.GET.get('uuid', None)
|
||||
if uuid:
|
||||
@@ -108,9 +108,9 @@ def manage_firewall_rule(request):
|
||||
if wireguard_instance:
|
||||
wireguard_instance.pending_changes = True
|
||||
wireguard_instance.save()
|
||||
messages.success(request, 'Firewall rule deleted successfully')
|
||||
messages.success(request, _('Firewall rule deleted successfully'))
|
||||
else:
|
||||
messages.warning(request, 'Error deleting Firewall rule|Confirmation did not match. Firewall rule was not deleted.')
|
||||
messages.warning(request, _('Error deleting Firewall rule|Confirmation did not match. Firewall rule was not deleted.'))
|
||||
return redirect('/firewall/rule_list/')
|
||||
else:
|
||||
current_chain = request.GET.get('chain', 'forward')
|
||||
@@ -122,7 +122,7 @@ def manage_firewall_rule(request):
|
||||
firewall_settings.pending_changes = True
|
||||
firewall_settings.save()
|
||||
form.save()
|
||||
messages.success(request, 'Firewall rule saved successfully')
|
||||
messages.success(request, _('Firewall rule saved successfully'))
|
||||
# Marking wireguard_instance as having pending changes, not the best way to do this, but it works for now.
|
||||
# I will improve it later.
|
||||
wireguard_instance = WireGuardInstance.objects.all().first()
|
||||
@@ -154,7 +154,7 @@ def manage_firewall_rule(request):
|
||||
def view_manage_firewall_settings(request):
|
||||
if not UserAcl.objects.filter(user=request.user).filter(user_level__gte=40).exists():
|
||||
return render(request, 'access_denied.html', {'page_title': 'Access Denied'})
|
||||
context = {'page_title': 'Manage Firewall Settings'}
|
||||
context = {'page_title': _('Manage Firewall Settings')}
|
||||
previous_firewall_chain = request.GET.get('chain')
|
||||
if previous_firewall_chain not in ['forward', 'portforward', 'postrouting']:
|
||||
previous_firewall_chain = 'forward'
|
||||
@@ -170,7 +170,7 @@ def view_manage_firewall_settings(request):
|
||||
form = FirewallSettingsForm(request.POST, instance=firewall_settings)
|
||||
if form.is_valid():
|
||||
form.save()
|
||||
messages.success(request, 'Firewall settings saved successfully')
|
||||
messages.success(request, _('Firewall settings saved successfully'))
|
||||
# Marking wireguard_instance as having pending changes, not the best way to do this, but it works for now.
|
||||
# I will improve it later.
|
||||
wireguard_instance = WireGuardInstance.objects.all().first()
|
||||
|
Reference in New Issue
Block a user