Interface¶
- class pywireguard.base.interface.Interface(name)¶
A wrapper for a Wireguard interface
An abstraction to a Wireguard tunnel interface.
Typical usage example:
from pywireguard.factory import Interface wgtest0 = Interface('wgtest0') wgtest0.private_key = generate_private_key()
- property fwmark: int¶
A 32-bit fwmark for outgoing packets. If set to 0 or “off”, this option is disabled. Optional.
- property listen_port: int¶
A integer port for listening. Optional; if not specified, chosen randomly.
- property peers: List[pywireguard.base.peer.Peer]¶
List of device peers.
- property private_key: bytes¶
A base64 private key. Required.
- property public_key: bytes¶
The base64 representation of a Wireguard public key. It is automatically generated from the private key.
- remove_peer(peer: pywireguard.base.peer.Peer) None¶
Remove peer from interface.
- Parameters
peer – a Peer object.
Typical usage example:
... peer = wgtest0.peers[0] wgtest0.remove_peer(peer)
- upsert_peer(peer: pywireguard.base.peer.Peer) None¶
Add or update peer on interface.
- Parameters
peer – a Peer object.
Typical usage example:
from pywireguard.factory import Peer ... peer = Peer( public_key, preshared_key=generate_preshared_key() ) wgtest0.upsert_peer(peer)