helps to manage wg connections in a client/server scenario
Find a file
2024-10-13 19:24:06 +02:00
static/css Merge remote-tracking branch 'origin/feat/css' 2024-10-07 14:41:34 +02:00
templates Merge remote-tracking branch 'origin/feat/css' 2024-10-07 14:41:34 +02:00
test feat: test 2024-10-09 18:44:53 +02:00
wg_connection_manager fix: sync command 2024-10-13 19:24:06 +02:00
wg_connection_manager_worker feat: celery decoupling 2024-10-13 18:55:39 +02:00
wg_manager Merge remote-tracking branch 'origin/feat/css' 2024-10-07 14:41:34 +02:00
.env-dist feat: celery decoupling 2024-10-13 18:55:39 +02:00
.gitignore Merge remote-tracking branch 'origin/feat/css' 2024-10-07 14:41:34 +02:00
compose.yaml chore: docker stuff compat 2024-10-13 18:59:22 +02:00
Containerfile fix: make gunicorn listen on 0.0.0.0 2024-10-13 19:02:40 +02:00
Containerfile-worker chore: docker stuff compat 2024-10-13 18:59:22 +02:00
LICENSE first import 2024-10-06 12:56:12 +02:00
manage.py first import 2024-10-06 12:56:12 +02:00
pyproject.toml feat: test wip 2024-10-08 23:37:00 +02:00
README.md chore: doc 2024-10-11 14:55:05 +02:00
requirements-test.txt chore: requirements-test.txt 2024-10-09 18:56:11 +02:00
requirements-worker.txt feat: celery decoupling 2024-10-13 18:55:39 +02:00
requirements.txt fix: sync command 2024-10-13 19:24:06 +02:00

WG-MANAGER

This simple Django web interface helps to manage wg connections in a client/server scenario. Users are allowed to create, enable and disable wg peers.

Warning
this program is alpha quality, not fully tested and can break your computer :D also it must run with root privileges :(

Quickstart

create a python venv:

python -m venv venv

activate it

. venv/bin/activate

install the requirements

pip install -r requirements.txt

in wg_manager dir create your own settings.py:

from .settings_dist import *
# your customization here

or simply make a symbolic link:

ln -s settings_dist.py settings.py

copy .env-dist and create your own .env set the variable WG_INTERFACE according to the name of the wg interface you want to manage

create the sqlite db:

./manage.py migrate

collect static assets:

./manage.py collectstatic

create the superuser:

./manage.py createsuperuser

if you already have connections you can import them in the db with:

./manage.py sync

you can test with the integrated dev server:

./manage.py runserver

and then deploy it using a proper web server like gunicorn:

gunicorn wg_manager.wsgi

with a proper tls enabled reverse proxy before it.