mirror of
https://github.com/eduardogsilva/wireguard_webadmin.git
synced 2025-08-28 06:11:13 +00:00
Port forwarding skeleton
This commit is contained in:
26
firewall/models.py
Normal file
26
firewall/models.py
Normal file
@@ -0,0 +1,26 @@
|
||||
from django.db import models
|
||||
from wireguard.models import Peer, WireGuardInstance
|
||||
import uuid
|
||||
|
||||
|
||||
class RedirectRule(models.Model):
|
||||
description = models.CharField(max_length=100, blank=True, null=True)
|
||||
protocol = models.CharField(max_length=3, default='tcp', choices=[('tcp', 'TCP'), ('udp', 'UDP')])
|
||||
port = models.PositiveIntegerField(default=8080)
|
||||
add_forward_rule = models.BooleanField(default=True)
|
||||
masquerade_source = models.BooleanField(default=False)
|
||||
peer = models.ForeignKey(Peer, on_delete=models.CASCADE, blank=True, null=True)
|
||||
wireguard_instance = models.ForeignKey(WireGuardInstance, on_delete=models.CASCADE, blank=True, null=True)
|
||||
ip_address = models.GenericIPAddressField(blank=True, null=True, protocol='IPv4')
|
||||
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
updated = models.DateTimeField(auto_now=True)
|
||||
uuid = models.UUIDField(primary_key=True, editable=False, default=uuid.uuid4)
|
||||
|
||||
def __str__(self):
|
||||
return self.protocol + '/' + str(self.port)
|
||||
|
||||
class Meta:
|
||||
unique_together = ['port', 'protocol']
|
||||
|
||||
|
Reference in New Issue
Block a user