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. 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.5-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0f6ebdd02427206ba8dbfb251970f8999a9682340dc0f8f00ccb226baf43aac |
|
MD5 | 2913dbad08e69ea57a500850c2381bcc |
|
BLAKE2b-256 | 9a9cc9ca8f26b971dbfc1a74653d2fcaf39ca8ffd2c8536f29f11cde98c2881a |