A client/server tool to securely auto-registers peers to a wireguard VPN
Project description
wg-federation
A Wireguard federation server and client.
Development
Python virtualenv
must be installed on your system.
# Setup
python -m venv venv
source ./venv/bin/activate
pip install -e ".[dev]"
pip install -e ".[build]" # optional: if you want to build locally
wg-federation # To run wg-federation
# Deactivate
deactivate
Run Unit Tests
pytest -v --spec
pytest -v --cov # To see coverage
Run Functional Tests
behave tests/features
behave tests/features -w # To see all outputs of all features tagged @wip
Setup IDE and Debugger
To avoid having to install the dependencies on your operating system, setup your IDE to use a python virtual environment “SDK”.
E.g. the venv
directory you may have created above.
Intellij/PyCharm provides this feature.
This will allow the IDE to find the libraries in the virtual environment, run and debug the application.
To debug the application, run src/wg_federation/__init__.py
Deploy Manually
Build
python -m build
Publish to Test PyPI
Use __token__
as a username to publish using a token
twine upload --repository testpypi dist/*
Publish in Production (PyPI)
Use __token__
as a username to publish using a token
twine upload dist/*
Generate the Documentation
sphinx-apidoc -o doc/ src/wg_federation # Generate API documentation directly from the code
pyreverse -o png -d doc/img --colorized src/wg_federation # Generate UML diagram
make -C doc html # Generate HTML documentation from .rst source code
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for wg_federation-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d685aa49a563ec268ab31162db554ba89287be18b519029024d953328e7d9dc9 |
|
MD5 | 073eca71e5ca9a5f4ffa25dd1bd9edbb |
|
BLAKE2b-256 | 18744fc9afc1678fcdf8867cb479c7243607f7a81ec44c57cd63ff9f3cca9c2d |