mirror of
https://github.com/eduardogsilva/wireguard_webadmin.git
synced 2025-08-04 18:24:31 +02:00
Update check
This commit is contained in:
parent
578f7a63f9
commit
03a9c12696
24 changed files with 349 additions and 16 deletions
|
@ -1,5 +1,5 @@
|
|||
from django.contrib import admin
|
||||
from .models import WireGuardInstance, Peer, PeerAllowedIP
|
||||
from .models import WireGuardInstance, Peer, PeerAllowedIP, WebadminSettings
|
||||
|
||||
|
||||
class WireGuardInstanceAdmin(admin.ModelAdmin):
|
||||
|
@ -20,4 +20,11 @@ class PeerAllowedIPAdmin(admin.ModelAdmin):
|
|||
list_display = ('peer', 'priority', 'allowed_ip', 'netmask', 'created', 'updated', 'uuid')
|
||||
search_fields = ('peer', 'priority', 'allowed_ip', 'netmask', 'created', 'updated', 'uuid')
|
||||
|
||||
admin.site.register(PeerAllowedIP, PeerAllowedIPAdmin)
|
||||
admin.site.register(PeerAllowedIP, PeerAllowedIPAdmin)
|
||||
|
||||
|
||||
class WebadminSettingsAdmin(admin.ModelAdmin):
|
||||
list_display = ('current_version', 'latest_version', 'update_available', 'created', 'updated', 'uuid')
|
||||
search_fields = ('current_version', 'latest_version', 'update_available', 'created', 'updated', 'uuid')
|
||||
|
||||
#admin.site.register(WebadminSettings, WebadminSettingsAdmin)
|
|
@ -13,12 +13,12 @@ class Migration(migrations.Migration):
|
|||
migrations.AddField(
|
||||
model_name='wireguardinstance',
|
||||
name='dns_primary',
|
||||
field=models.GenericIPAddressField(default='1.1.1.1', protocol='IPv4', unique=True),
|
||||
field=models.GenericIPAddressField(default='1.1.1.1', protocol='IPv4', unique=False),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='wireguardinstance',
|
||||
name='dns_secondary',
|
||||
field=models.GenericIPAddressField(blank=True, default='1.0.0.1', null=True, protocol='IPv4', unique=True),
|
||||
field=models.GenericIPAddressField(blank=True, default='1.0.0.1', null=True, protocol='IPv4', unique=False),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='wireguardinstance',
|
||||
|
|
28
wireguard/migrations/0009_webadminsettings.py
Normal file
28
wireguard/migrations/0009_webadminsettings.py
Normal file
|
@ -0,0 +1,28 @@
|
|||
# Generated by Django 5.0.1 on 2024-02-22 17:54
|
||||
|
||||
import uuid
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('wireguard', '0008_wireguardinstance_dns_primary_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='WebadminSettings',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('webadmin_settings', models.CharField(max_length=20, unique=True)),
|
||||
('update_available', models.BooleanField(default=False)),
|
||||
('current_version', models.DecimalField(decimal_places=4, default=0, max_digits=8)),
|
||||
('latest_version', models.DecimalField(decimal_places=4, default=0, max_digits=8)),
|
||||
('last_checked', models.DateTimeField(blank=True, null=True)),
|
||||
('updated', models.DateTimeField(auto_now=True)),
|
||||
('created', models.DateTimeField(auto_now_add=True)),
|
||||
('uuid', models.UUIDField(default=uuid.uuid4, editable=False, unique=True)),
|
||||
],
|
||||
),
|
||||
]
|
|
@ -0,0 +1,17 @@
|
|||
# Generated by Django 5.0.1 on 2024-02-22 18:03
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('wireguard', '0009_webadminsettings'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='webadminsettings',
|
||||
name='webadmin_settings',
|
||||
),
|
||||
]
|
18
wireguard/migrations/0011_webadminsettings_name.py
Normal file
18
wireguard/migrations/0011_webadminsettings_name.py
Normal file
|
@ -0,0 +1,18 @@
|
|||
# Generated by Django 5.0.1 on 2024-02-22 18:04
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('wireguard', '0010_remove_webadminsettings_webadmin_settings'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='webadminsettings',
|
||||
name='name',
|
||||
field=models.CharField(default='webadmin_settings', max_length=20, unique=True),
|
||||
),
|
||||
]
|
|
@ -0,0 +1,21 @@
|
|||
# Generated by Django 5.0.1 on 2024-02-22 19:02
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('wireguard', '0011_webadminsettings_name'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='webadminsettings',
|
||||
name='current_version',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='webadminsettings',
|
||||
name='latest_version',
|
||||
),
|
||||
]
|
|
@ -0,0 +1,23 @@
|
|||
# Generated by Django 5.0.1 on 2024-02-22 19:05
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('wireguard', '0012_remove_webadminsettings_current_version_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='webadminsettings',
|
||||
name='current_version',
|
||||
field=models.PositiveIntegerField(default=0),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='webadminsettings',
|
||||
name='latest_version',
|
||||
field=models.PositiveIntegerField(default=0),
|
||||
),
|
||||
]
|
|
@ -0,0 +1,23 @@
|
|||
# Generated by Django 5.0.1 on 2024-02-23 15:37
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('wireguard', '0013_webadminsettings_current_version_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='wireguardinstance',
|
||||
name='dns_primary',
|
||||
field=models.GenericIPAddressField(default='1.1.1.1', protocol='IPv4'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='wireguardinstance',
|
||||
name='dns_secondary',
|
||||
field=models.GenericIPAddressField(blank=True, default='1.0.0.1', null=True, protocol='IPv4'),
|
||||
),
|
||||
]
|
|
@ -29,6 +29,21 @@ NETMASK_CHOICES = (
|
|||
)
|
||||
|
||||
|
||||
class WebadminSettings(models.Model):
|
||||
name = models.CharField(default='webadmin_settings', max_length=20, unique=True)
|
||||
update_available = models.BooleanField(default=False)
|
||||
current_version = models.PositiveIntegerField(default=0)
|
||||
latest_version = models.PositiveIntegerField(default=0)
|
||||
last_checked = models.DateTimeField(blank=True, null=True)
|
||||
|
||||
updated = models.DateTimeField(auto_now=True)
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
uuid = models.UUIDField(default=uuid.uuid4, editable=False, unique=True)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
|
||||
class WireGuardInstance(models.Model):
|
||||
name = models.CharField(max_length=100, blank=True, null=True)
|
||||
instance_id = models.PositiveIntegerField(unique=True, default=0)
|
||||
|
@ -41,8 +56,8 @@ class WireGuardInstance(models.Model):
|
|||
post_up = models.TextField(blank=True, null=True)
|
||||
post_down = models.TextField(blank=True, null=True)
|
||||
peer_list_refresh_interval = models.IntegerField(default=20)
|
||||
dns_primary = models.GenericIPAddressField(unique=True, protocol='IPv4', default='1.1.1.1')
|
||||
dns_secondary = models.GenericIPAddressField(unique=True, protocol='IPv4', default='1.0.0.1', blank=True, null=True)
|
||||
dns_primary = models.GenericIPAddressField(unique=False, protocol='IPv4', default='1.1.1.1')
|
||||
dns_secondary = models.GenericIPAddressField(unique=False, protocol='IPv4', default='1.0.0.1', blank=True, null=True)
|
||||
pending_changes = models.BooleanField(default=True)
|
||||
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
from decimal import Decimal, ROUND_DOWN
|
||||
from django.shortcuts import render, get_object_or_404, redirect
|
||||
from user_manager.models import UserAcl
|
||||
|
||||
from wireguard.forms import WireGuardInstanceForm
|
||||
from .models import WireGuardInstance
|
||||
from .models import WireGuardInstance, WebadminSettings
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.contrib import messages
|
||||
from django.db import models
|
||||
from django.conf import settings
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
|
@ -67,8 +69,7 @@ def generate_instance_defaults():
|
|||
@login_required
|
||||
def view_welcome(request):
|
||||
page_title = 'Welcome'
|
||||
breadcrumb = {'level2': {'title': 'Place holder', 'href': '/blabla'}}
|
||||
context = {'page_title': page_title, 'breadcrumb': breadcrumb}
|
||||
context = {'page_title': page_title}
|
||||
return render(request, 'wireguard/welcome.html', context)
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue