Skip to main content

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

  1. Add “django_wireguard” to your INSTALLED_APPS setting like this:

    INSTALLED_APPS = [
        ...
        'django_wireguard',
    ]
  2. Run python manage.py migrate to create the models.

  3. 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

  1. Add “django_wireguard.wagtail” to your INSTALLED_APPS setting after simple_vpn:

    INSTALLED_APPS = [
        ...
        'django_wireguard'
        'django_wireguard.wagtail',
    ]
  2. 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

  1. Build the test image by running:

    docker build -f Dockerfile.test -t django_wg_test .
  2. Run the tests

    • To run all tests, including Wireguard integration tests:
      1. Make sure the WireGuard kernel modules are installed and loaded on the host machine

      2. 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)

Source distribution for django-wireguard 0.2.0
File Size Uploaded
django-wireguard-0.2.0.tar.gz 24.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-wireguard 0.2.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page