Skip to main content

Synchronizes your WireGuard settings with Pro Custodibus.

Project description

Pro Custodibus Agent

Pro Custodibus is a service that makes WireGuard networks easy to deploy and manage. You run the Pro Custodibus agent on each WireGuard host you want to manage, and the agent monitors and synchronizes the hosts' WireGuard settings with the remote Pro Custodibus service.

Installing

Requires python 3.8 or newer and libsodium. Installer script can install requirements, plus the agent itself, on most linuxes, FreeBSD, OpenBSD, and macOS (if macOS has Homebrew). Install from source like the following:

./install.sh --install

Or run it like the following to see more options:

./install.sh --help

See the Installer Documentation for full details (or to download the pre-built Windows installer).

Docker

The docker/wireguard.dockerfile is built weekly and pushed to the docker.io/procustodibus/wireguard repository. It produces a base WireGuard image without the agent.

The docker/agent.dockerfile is built weekly and pushed to the docker.io/procustodibus/agent repository. It produces a Docker image with WireGuard and the latest agent installed together.

Run either image by placing your WireGuard or Pro Custodibus configuration files in a host directory like /srv/containers/wireguard/conf, and then running the image like the following:

docker run \
    --cap-add NET_ADMIN \
    --publish 51820:51820/udp \
    --name wireguard \
    --rm \
    --volume /srv/containers/wireguard/conf:/etc/wireguard \
    procustodibus/agent

See the Container Documentation for full details.

Development

Set up dev env

Install uv, and from this project root run:

uv python install
uv sync

Dev tasks

Run unit tests:

uv run pytest

Run unit tests in watch mode:

uv run ptw .

Run unit tests with coverage report:

uv run pytest --cov

Run linter and auto-fix where possible:

uv run ruff check --fix

Run formatter:

uv run ruff format

Build and run docker dev image (with *.conf files in /srv/containers/wireguard/conf):

docker/dev.sh dev
docker run \
    --cap-add NET_ADMIN \
    --publish 51820:51820/udp \
    --name wireguard \
    --rm \
    --volume /srv/containers/wireguard/conf:/etc/wireguard \
    procustodibus-agent:dev

Run all (docker-based) installer tests:

docker compose -f test_install/docker-compose.yml build --pull
uv run pytest test_install

Build Windows MSI

Install uv, and from this project root run:

uv run --python 3.12 --group freeze cx_freeze_setup.py bdist_msi

Contributing

Resources

License

The MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

procustodibus_agent-1.10.3.tar.gz (269.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

procustodibus_agent-1.10.3-py3-none-any.whl (61.5 kB view details)

Uploaded Python 3

File details

Details for the file procustodibus_agent-1.10.3.tar.gz.

File metadata

  • Download URL: procustodibus_agent-1.10.3.tar.gz
  • Upload date:
  • Size: 269.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for procustodibus_agent-1.10.3.tar.gz
Algorithm Hash digest
SHA256 1a5009fee4e41c4f7ff2cb5e03d1ba439408b2350e26995d45c760e6b5524261
MD5 c2cb0757d03b5b36445bbe9e83264a4f
BLAKE2b-256 bf318501cc2baf724f686fb1527fe4c39072af4cb6807e25d25b0e41b65d1287

See more details on using hashes here.

File details

Details for the file procustodibus_agent-1.10.3-py3-none-any.whl.

File metadata

  • Download URL: procustodibus_agent-1.10.3-py3-none-any.whl
  • Upload date:
  • Size: 61.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for procustodibus_agent-1.10.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2a645f7e2134b0c4a2e816b8bccaf1af90f89771045f191b096c2a4bef813430
MD5 6f7068d219a8858d0d29f1485040872a
BLAKE2b-256 f65c28be6e47cb3aa88ebe83622c6398688b8a9f4b350b4716093a0f2c180a1e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page