wgnlpy

Netlink connector to WireGuard


Keywords
wireguard netlink sockaddr sockaddr_in sockaddr_in6
License
MIT
Install
pip install wgnlpy==0.0.6

Documentation

wgnlpy

Python netlink connector to WireGuard

A simple control interface for WireGuard via Netlink, written in Python.

from wgnlpy import WireGuard

interface = "wg0"
peer = b'...'

wg = WireGuard()

wg.set_peer(interface, peer,
	endpoint="203.0.113.0:51820",
	allowedips=["2001:db8::/32"],
	)
assert peer in wg.get_interface(interface).peers

wg.remove_peers(interface, peer)
assert peer not in wg.get_interface(interface).peers

Requires pyroute2.

Also useful: the sockaddr_in and sockaddr_in6 utility classes for sockaddr manipulation.

License: MIT