2024-10-06 12:56:12 +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:
|
|
|
|
```bash
|
|
|
|
python -m venv venv
|
|
|
|
```
|
|
|
|
activate it
|
|
|
|
```bash
|
|
|
|
. venv/bin/activate
|
|
|
|
```
|
|
|
|
install the requirements
|
|
|
|
```bash
|
2024-10-11 14:55:05 +02:00
|
|
|
pip install -r requirements.txt
|
2024-10-06 12:56:12 +02:00
|
|
|
```
|
|
|
|
in `wg_manager` dir
|
|
|
|
create your own `settings.py`:
|
|
|
|
```python
|
|
|
|
from .settings_dist import *
|
|
|
|
# your customization here
|
|
|
|
```
|
|
|
|
or simply make a symbolic link:
|
|
|
|
```bash
|
|
|
|
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:
|
|
|
|
```bash
|
|
|
|
./manage.py migrate
|
|
|
|
```
|
2024-10-11 14:55:05 +02:00
|
|
|
collect static assets:
|
|
|
|
```bash
|
|
|
|
./manage.py collectstatic
|
|
|
|
```
|
2024-10-06 12:56:12 +02:00
|
|
|
create the superuser:
|
|
|
|
```bash
|
|
|
|
./manage.py createsuperuser
|
|
|
|
```
|
|
|
|
if you already have connections you can import them in the db with:
|
|
|
|
```bash
|
|
|
|
./manage.py sync
|
|
|
|
```
|
|
|
|
you can test with the integrated dev server:
|
|
|
|
```bash
|
|
|
|
./manage.py runserver
|
|
|
|
```
|
|
|
|
and then deploy it using a proper web server like [gunicorn](https://gunicorn.org/):
|
|
|
|
```bash
|
|
|
|
gunicorn wg_manager.wsgi
|
|
|
|
```
|
|
|
|
with a proper tls enabled reverse proxy before it.
|