guardhub package¶
Submodules¶
guardhub.push_peers module¶
Configure servers to permit new Wireguard peers
Command Line Usage¶
push_peers.py [-h] --pubkey PUBKEY -i IPADDRESS --desc DESCRIPTION [-y] -s PARAMETER [PARAMETER ...]
optional arguments:
- -h, --help
show this help message and exit
- --pubkey PUBKEY
Peer’s public key
- -i IPADDRESS, --ip IPADDRESS
Peer’s WG IPv4/IPv6 address(es) Multiple instances accepted.
- --desc DESCRIPTION
Peer’s description
- -y, --yes-all
Bypass confirmation prompts
- -s PARAMETERS
Parameters for each server to which configuration should be pushed. Supported connectors are:
vyos
-s
supports two formats:
inline:
-s HOSTNAME CONNECTOR INTERFACE USERNAME PASSWORD [PORT]
file:
-s @FILENAME
Specify a newline delimited file with the same arguments. Multiple instances of
-s
may be used.
-
class
guardhub.push_peers.
Server
(hostname, connector, interface, username, password, port=None)[source]¶ Bases:
object
Server to which configuration should be pushed.
- Parameters
hostname (str) – Hostname/IP of device to push configuration to.
connector (str) – Connector to use to configure server
interface (str) – Interface name
username (str) – Username for configuration session
password (str) – Password for configuration session
port (int) – Port for configuration session (Default: None)
-
guardhub.push_peers.
push_peer_vyos
(server, pubkey, ips_with_prefixlen, peer_description, yes_all=False)[source]¶ Pushes configuration for a peer to a VyOS router.
- Parameters
server (Server) – Server to configure
pubkey (str) – Public key of peer
ips_with_prefixlen (list) –
List
of allowed IPs (v4 or v6) for peer in CIDR notationpeer_description (str) – Description of peer
yes_all (bool) – Bypass all prompts (Default: False)
-
guardhub.push_peers.
push_peers
(pubkey, ipnets, description, servers, yes_all=False)[source]¶ Pushes configuration to multiple servers
- Parameters
pubkey (str) – Public key of peer
ipnets (list) –
List
of allowed IPs asIPv4Network
orIPv6Network
description (str) – Description of peer
servers (list) –
List
ofServer
objects to push configurationyes_all (bool) – Bypass all prompts (Default: False)