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 fr²om .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.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c24ecf92ac7b6f3f9e00ae60fd5778f8d85d5bece116868fa981e05d874ec6ef |
|
MD5 | 29efd59010fe575d1fb5a758dbd0d855 |
|
BLAKE2b-256 | e40b9cdf6551205f3b8a1b03fc11a8a07cd802cf21e9f036cbb9f0a3e51a9f58 |