mirror of
https://github.com/house-of-vanity/OutFleet.git
synced 2025-07-06 09:04:07 +00:00
Adjust ACLLinks length. Added links generator
Some checks failed
Docker hub build / docker (push) Has been cancelled
Some checks failed
Docker hub build / docker (push) Has been cancelled
This commit is contained in:
64
.vscode/launch.json
vendored
Normal file
64
.vscode/launch.json
vendored
Normal file
@ -0,0 +1,64 @@
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Django VPN app",
|
||||
"type": "debugpy",
|
||||
"request": "launch",
|
||||
"env": {
|
||||
"POSTGRES_PORT": "5433",
|
||||
"DJANGO_SETTINGS_MODULE": "mysite.settings",
|
||||
"EXTERNAL_ADDRESS": "http://localhost:8000"
|
||||
},
|
||||
"args": [
|
||||
"runserver",
|
||||
"0.0.0.0:8000"
|
||||
],
|
||||
"django": true,
|
||||
"autoStartBrowser": false,
|
||||
"program": "${workspaceFolder}/manage.py"
|
||||
},
|
||||
{
|
||||
"name": "Celery Worker",
|
||||
"type": "debugpy",
|
||||
"request": "launch",
|
||||
"module": "celery",
|
||||
"args": [
|
||||
"-A", "mysite",
|
||||
"worker",
|
||||
"--loglevel=info"
|
||||
],
|
||||
"env": {
|
||||
"POSTGRES_PORT": "5433",
|
||||
"DJANGO_SETTINGS_MODULE": "mysite.settings"
|
||||
},
|
||||
"console": "integratedTerminal"
|
||||
},
|
||||
{
|
||||
"name": "Celery Beat",
|
||||
"type": "debugpy",
|
||||
"request": "launch",
|
||||
"module": "celery",
|
||||
"args": [
|
||||
"-A", "mysite",
|
||||
"beat",
|
||||
"--loglevel=info"
|
||||
],
|
||||
"env": {
|
||||
"POSTGRES_PORT": "5433",
|
||||
"DJANGO_SETTINGS_MODULE": "mysite.settings"
|
||||
},
|
||||
"console": "integratedTerminal"
|
||||
}
|
||||
],
|
||||
"compounds": [
|
||||
{
|
||||
"name": "Run Django, Celery Worker, and Celery Beat",
|
||||
"configurations": [
|
||||
"Django VPN app",
|
||||
"Celery Worker",
|
||||
"Celery Beat"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -13,6 +13,7 @@ environ.Env.read_env()
|
||||
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||
SECRET_KEY=ENV('SECRET_KEY', default=get_random_secret_key())
|
||||
TIME_ZONE = ENV('TIMEZONE', default='Asia/Nicosia')
|
||||
EXTERNAL_ADDRESS = ENV('EXTERNAL_ADDRESS', default='https://example.org')
|
||||
|
||||
CELERY_BROKER_URL = ENV('CELERY_BROKER_URL', default='redis://localhost:6379/0')
|
||||
CELERY_RESULT_BACKEND = 'django-db'
|
||||
@ -154,7 +155,7 @@ DATABASES = {
|
||||
'ENGINE': 'django.db.backends.postgresql',
|
||||
'NAME': ENV('POSTGRES_DB', default="outfleet"),
|
||||
'USER': ENV('POSTGRES_USER', default="outfleet"),
|
||||
'PASSWORD': ENV('POSTGRES_PASSWORD', default="password"),
|
||||
'PASSWORD': ENV('POSTGRES_PASSWORD', default="outfleet"),
|
||||
'HOST': ENV('POSTGRES_HOST', default='localhost'),
|
||||
'PORT': ENV('POSTGRES_PORT', default='5432'),
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ from .models import User, AccessLog
|
||||
from django.utils.timezone import localtime
|
||||
from vpn.models import User, ACL, ACLLink
|
||||
from vpn.forms import UserForm
|
||||
from mysite.settings import EXTERNAL_ADDRESS
|
||||
from .server_plugins import (
|
||||
Server,
|
||||
WireguardServer,
|
||||
@ -164,8 +165,9 @@ class ACLAdmin(admin.ModelAdmin):
|
||||
except Exception as e:
|
||||
return mark_safe(f"<span style='color: red;'>Error: {e}</span>")
|
||||
|
||||
@admin.display(description='Links')
|
||||
@admin.display(description='Dynamic Config Links')
|
||||
def display_links(self, obj):
|
||||
links = obj.links.all()
|
||||
return mark_safe('<br>'.join([link.link for link in links]))
|
||||
formatted_links = [f"{EXTERNAL_ADDRESS}/{link.link}" for link in links]
|
||||
return mark_safe('<br>'.join(formatted_links))
|
||||
|
||||
|
@ -67,7 +67,7 @@ def acl_deleted(sender, instance, **kwargs):
|
||||
|
||||
class ACLLink(models.Model):
|
||||
acl = models.ForeignKey(ACL, related_name='links', on_delete=models.CASCADE)
|
||||
link = models.CharField(max_length=64, default="", unique=True, blank=True, null=True, verbose_name="Access link", help_text="Access link to get dynamic configuration")
|
||||
link = models.CharField(max_length=1024, default="", unique=True, blank=True, null=True, verbose_name="Access link", help_text="Access link to get dynamic configuration")
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if self.link == "":
|
||||
|
Reference in New Issue
Block a user