Python library to read, edit, and save Wireguard configuration files
Install using pip:
python3 -m pip install wg-conf
Load a configuration file:
import wg_conf
wc = wg_conf.WireguardConfig('/etc/wireguard/wg0.conf')
Write a configuration file to disk:
wc.write_file()
Add an attribute to the interface
wc.add_interface_attr('AttributeKey', 'AttributeValue')
add_interface_attr will not overwrite an existing attribute. If you are sure you want to overwrite an existing attribute, use set_interface_attr with the same parameters. Otherwise, an Exception will be thrown if you try to overwrite an existing attribute
Remove an attribute from the interface
wc.del_interface_attr('AttributeKey')
If no matching attribute is found, no change will be made
Add an attribute to a peer
wc.add_peer_attr('PeerPublicKey', 'AttributeKey', 'AttributeValue')
add_peer_attr will not overwrite an existing attribute. If you are sure you want to overwrite an existing attribute, use set_peer_attr with the same parameters. Otherwise, an Exception will be thrown if you try to overwrite an existing attribute
Remove an attribute from a peer
wc.del_interface_attr('PeerPublicKey', 'AttributeKey')
If no matching peer or attribute is found, no change will be made
Create a peer given a public key:
wc.create_peer('PeerPublicKey')
You can now use add_peer_attr to configure the peer as you wish
Delete a peer given a public key:
wc.del_peer('PeerPublicKey')
- Clone the git repo.
- Ensure that
buildis installed. - Build the packages by invoking in the repo root:
python3 -m build- Push them to pypi
python3 -m twine upload dist/*