A Django app for managing WireGuard Interfaces.
Project description
This is a Django app that provides management via Admin Site for WireGuard interfaces and peers.
Installation
Install with pip: pip install django-wireguard
Quick start
Add “django_wireguard” to your INSTALLED_APPS setting like this:
INSTALLED_APPS = [ ... 'django_wireguard', ]
Run python manage.py migrate to create the models.
Visit http://localhost:8000/admin/ to manage the VPN peers. Note: you must enable the Django Admin Site first https://docs.djangoproject.com/en/3.1/ref/contrib/admin/.
Enabling the Wagtail Integration
Add “simple_vpn.wagtail” to your INSTALLED_APPS setting after simple_vpn:
INSTALLED_APPS = [ ... 'django_wireguard' 'django_wireguard.wagtail', ]
You can manage the VPN from the Wagtail Admin Panel Settings. Inspect a WireguardPeer object to view their configuration.
Configuration
The following settings can be provided:
WIREGUARD_ENDPOINT the endpoint for the peer configuration. Set it to the server Public IP address or domain. Default: localhost.
WIREGUARD_STORE_PRIVATE_KEYS set this to False to disable auto generation of peer private keys. Default: True.
WIREGUARD_WAGTAIL_SHOW_IN_SETTINGS set this to False to show WireGuard models in root sidebar instead of settings panel. Default: True.
Testing with Docker
Make sure the WireGuard kernel modules are installed and loaded on the host machine.
Run docker build -f Dockerfile.test -t django_wg_test .
Run docker run --cap-add NET_ADMIN django_wg_test
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django_wireguard-0.1.4-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bad17be068a14f5cb4417440ff6912d1c151e01c9fb9b44cc1807bb717f09e5 |
|
MD5 | 2c264ab28f975b03fcac073eb50d0bb6 |
|
BLAKE2b-256 | 95b6fc0cc17103758c9bc6611e0e9755a517fa9095ef7d0895d6197497cb5fc3 |