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.3-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b50ceeb2596d1faffb3a39cbdae0e57f3f9177f559a4af4176a3c8713537c32 |
|
MD5 | 0b3192758239216191e053c5ac6288cf |
|
BLAKE2b-256 | c1e2243379b9c0a15f5abb2257b7d548a63cafef8859d3b25808193c2639c9ab |