Name | procustodibus_agent JSON |
Version |
1.9.0
JSON |
| download |
home_page | None |
Summary | Synchronizes your WireGuard settings with Pro Custodibus. |
upload_time | 2025-07-11 20:48:21 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.6.2 |
license | The MIT License Copyright (c) 2019-2025 Arcem Tene Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
Pro Custodibus Agent
====================
[Pro Custodibus](https://www.procustodibus.com/) is a service that makes [WireGuard](https://www.wireguard.com/) 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](https://brew.sh/)). 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](https://docs.procustodibus.com/guide/agents/install/) for full details (or to download the pre-built Windows installer).
Docker
------
The [docker/wireguard.dockerfile](https://git.sr.ht/~arx10/procustodibus-agent/tree/main/item/docker/wireguard.dockerfile) is built weekly and pushed to the [docker.io/procustodibus/wireguard](https://hub.docker.com/r/procustodibus/wireguard) repository. It produces a base WireGuard image without the agent.
The [docker/agent.dockerfile](https://git.sr.ht/~arx10/procustodibus-agent/tree/main/item/docker/agent.dockerfile) is built weekly and pushed to the [docker.io/procustodibus/agent](https://hub.docker.com/r/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](https://docs.procustodibus.com/guide/agents/container/) for full details.
Development
-----------
### Set up dev env
Install [uv](https://docs.astral.sh/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](https://docs.astral.sh/uv/), and from this project root run:
```
uv run --python 3.12 --group freeze cx_freeze_setup.py bdist_msi
```
Contributing
------------
* [Code of Conduct](https://docs.procustodibus.com/community/conduct/)
* [File a Bug](https://docs.procustodibus.com/guide/community/bugs/)
* [Report a Vulnerability](https://docs.procustodibus.com/guide/community/vulns/)
* [Submit a Patch](https://docs.procustodibus.com/guide/community/code/)
Resources
---------
* Home page: https://www.procustodibus.com/
* Documentation: https://docs.procustodibus.com/guide/agents/run/
* Changelog: https://docs.procustodibus.com/guide/agents/download/#changelog
* Issue tracker: https://todo.sr.ht/~arx10/procustodibus
* Mailing list: https://lists.sr.ht/~arx10/procustodibus
* Source code: https://git.sr.ht/~arx10/procustodibus-agent
License
-------
[The MIT License](https://git.sr.ht/~arx10/procustodibus-agent/tree/main/LICENSE)
Raw data
{
"_id": null,
"home_page": null,
"name": "procustodibus_agent",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6.2",
"maintainer_email": null,
"keywords": null,
"author": null,
"author_email": "Arcem Tene <dev@arcemtene.com>",
"download_url": "https://files.pythonhosted.org/packages/5d/56/bac25244013b1e58c48d8984ba2571845b65634e87f7ee212853ff8524a7/procustodibus_agent-1.9.0.tar.gz",
"platform": null,
"description": "Pro Custodibus Agent\n====================\n\n[Pro Custodibus](https://www.procustodibus.com/) is a service that makes [WireGuard](https://www.wireguard.com/) 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.\n\n\nInstalling\n----------\n\nRequires 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](https://brew.sh/)). Install from source like the following:\n```\n./install.sh --install\n```\n\nOr run it like the following to see more options:\n```\n./install.sh --help\n```\n\nSee the [Installer Documentation](https://docs.procustodibus.com/guide/agents/install/) for full details (or to download the pre-built Windows installer).\n\n\nDocker\n------\n\nThe [docker/wireguard.dockerfile](https://git.sr.ht/~arx10/procustodibus-agent/tree/main/item/docker/wireguard.dockerfile) is built weekly and pushed to the [docker.io/procustodibus/wireguard](https://hub.docker.com/r/procustodibus/wireguard) repository. It produces a base WireGuard image without the agent.\n\nThe [docker/agent.dockerfile](https://git.sr.ht/~arx10/procustodibus-agent/tree/main/item/docker/agent.dockerfile) is built weekly and pushed to the [docker.io/procustodibus/agent](https://hub.docker.com/r/procustodibus/agent) repository. It produces a Docker image with WireGuard and the latest agent installed together.\n\nRun 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:\n```\ndocker run \\\n --cap-add NET_ADMIN \\\n --publish 51820:51820/udp \\\n --name wireguard \\\n --rm \\\n --volume /srv/containers/wireguard/conf:/etc/wireguard \\\n procustodibus/agent\n```\n\nSee the [Container Documentation](https://docs.procustodibus.com/guide/agents/container/) for full details.\n\n\nDevelopment\n-----------\n\n### Set up dev env\n\nInstall [uv](https://docs.astral.sh/uv/), and from this project root run:\n```\nuv python install\nuv sync\n```\n\n### Dev tasks\n\nRun unit tests:\n```\nuv run pytest\n```\n\nRun unit tests in watch mode:\n```\nuv run ptw .\n```\n\nRun unit tests with coverage report:\n```\nuv run pytest --cov\n```\n\nRun linter and auto-fix where possible:\n```\nuv run ruff check --fix\n```\n\nRun formatter:\n```\nuv run ruff format\n```\n\nBuild and run docker dev image (with `*.conf` files in `/srv/containers/wireguard/conf`):\n```\ndocker/dev.sh dev\ndocker run \\\n --cap-add NET_ADMIN \\\n --publish 51820:51820/udp \\\n --name wireguard \\\n --rm \\\n --volume /srv/containers/wireguard/conf:/etc/wireguard \\\n procustodibus-agent:dev\n```\n\nRun all (docker-based) installer tests:\n```\ndocker compose -f test_install/docker-compose.yml build --pull\nuv run pytest test_install\n```\n\n### Build Windows MSI\n\nInstall [uv](https://docs.astral.sh/uv/), and from this project root run:\n```\nuv run --python 3.12 --group freeze cx_freeze_setup.py bdist_msi\n```\n\n\nContributing\n------------\n\n* [Code of Conduct](https://docs.procustodibus.com/community/conduct/)\n* [File a Bug](https://docs.procustodibus.com/guide/community/bugs/)\n* [Report a Vulnerability](https://docs.procustodibus.com/guide/community/vulns/)\n* [Submit a Patch](https://docs.procustodibus.com/guide/community/code/)\n\n\nResources\n---------\n\n* Home page: https://www.procustodibus.com/\n* Documentation: https://docs.procustodibus.com/guide/agents/run/\n* Changelog: https://docs.procustodibus.com/guide/agents/download/#changelog\n* Issue tracker: https://todo.sr.ht/~arx10/procustodibus\n* Mailing list: https://lists.sr.ht/~arx10/procustodibus\n* Source code: https://git.sr.ht/~arx10/procustodibus-agent\n\n\nLicense\n-------\n\n[The MIT License](https://git.sr.ht/~arx10/procustodibus-agent/tree/main/LICENSE)\n",
"bugtrack_url": null,
"license": "The MIT License Copyright (c) 2019-2025 Arcem Tene Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
"summary": "Synchronizes your WireGuard settings with Pro Custodibus.",
"version": "1.9.0",
"project_urls": {
"Changelog": "https://docs.procustodibus.com/guide/agents/download/#changelog",
"Documentation": "https://docs.procustodibus.com/guide/agents/run/",
"Homepage": "https://www.procustodibus.com/",
"Source": "https://git.sr.ht/~arx10/procustodibus-agent",
"Tracker": "https://todo.sr.ht/~arx10/procustodibus-agent"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "ba662e04ef032bf3baad213398710a9c1a826e050043a7bdb9722f533a48be43",
"md5": "ea55acd1ed786246e0f46afe7c6a50a1",
"sha256": "c7d422896ec443cc99e85c0b3b258472d0d2333ca8d850eb64951fa8b7dfef02"
},
"downloads": -1,
"filename": "procustodibus_agent-1.9.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ea55acd1ed786246e0f46afe7c6a50a1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6.2",
"size": 57278,
"upload_time": "2025-07-11T20:48:20",
"upload_time_iso_8601": "2025-07-11T20:48:20.565062Z",
"url": "https://files.pythonhosted.org/packages/ba/66/2e04ef032bf3baad213398710a9c1a826e050043a7bdb9722f533a48be43/procustodibus_agent-1.9.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5d56bac25244013b1e58c48d8984ba2571845b65634e87f7ee212853ff8524a7",
"md5": "2fbe17add37dfc37f2df5b616752dde2",
"sha256": "e3ad1a23b7a52256b06253b594502a38177cc228ec25b18428a0bf0af23a366c"
},
"downloads": -1,
"filename": "procustodibus_agent-1.9.0.tar.gz",
"has_sig": false,
"md5_digest": "2fbe17add37dfc37f2df5b616752dde2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6.2",
"size": 196797,
"upload_time": "2025-07-11T20:48:21",
"upload_time_iso_8601": "2025-07-11T20:48:21.623957Z",
"url": "https://files.pythonhosted.org/packages/5d/56/bac25244013b1e58c48d8984ba2571845b65634e87f7ee212853ff8524a7/procustodibus_agent-1.9.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-11 20:48:21",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "procustodibus_agent"
}