Django Wireguard
This is a Django app that provides management via Admin Site for WireGuard interfaces and peers.
Checkout the Documentation.
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 “django_wireguard.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.
Two signals are sent whenever a WireGuard interface is created or deleted to emulate WireGuard’s PostUp/PostDown configuration options. These signals are sent upon interface creation at the network level, not at database level.
Testing with Docker
Build the test image by running:
docker build -f Dockerfile.test -t django_wg_test .
Run the tests
- To run all tests, including Wireguard integration tests:
Make sure the WireGuard kernel modules are installed and loaded on the host machine
Run all tests with NET_ADMIN capability enabled:
docker run --cap-add NET_ADMIN django_wg_test
To run unit tests without Wireguard support:
docker run django_wg_test --exclude-tag net
Metadata
Release files for django-wireguard 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django-wireguard-0.2.0.tar.gz | 24.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_wireguard-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 58.0 kB
Release files / django-wireguard-0.2.0.tar.gz
| Download URL | django-wireguard-0.2.0.tar.gz |
|---|---|
| Size | 24.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fd90189e1e29749043340f252eacc7f4a81ba62578d1727aa5ad47d11ad1a835
|
|
BLAKE2b-256 checksum How to use checksums |
4625c20945ec9972c3f655289d7b29547d1e1833bb8bba33e1f1737726bf6e8d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.7.3
|
Release files / django_wireguard-0.2.0-py3-none-any.whl
| Download URL | django_wireguard-0.2.0-py3-none-any.whl |
|---|---|
| Size | 33.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f4b7733a0876c3197c8a12ac6c325c2cb58feee0cbbd693e649bdcbd23dc967e
|
|
BLAKE2b-256 checksum How to use checksums |
2f4c6ba8bfb9cfc9fde0d524b2ecf345f6cfe3dad15e6b8681b0e204ad18b4d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.7.3
|