Skip to main content

wgpeer

Manage WireGuard peers.

Installation

uv tool install wgpeer

Or run without installing:

uvx wgpeer --help

Usage

Must be run as root with WireGuard installed.

On first use, run init to create the config file:

sudo wgpeer init

This detects your server's public IP from ip a and writes /etc/wgpeer/config.toml. You'll be prompted to confirm or enter the IP manually if none is detected.

sudo wgpeer add <name>     # Add a new peer (auto-assigns IP, shows QR code)
sudo wgpeer remove <name>  # Remove an existing peer
sudo wgpeer list           # List all peers with IPs and public keys
sudo wgpeer qr <name>      # Display QR code for an existing peer

Configuration

Server settings are stored in /etc/wgpeer/config.toml (created by wgpeer init). All fields except server_ip have defaults:

server_ip = "1.2.3.4"
server_port = 51820
wg_interface = "wg0"
wg_dir = "/etc/wireguard"
subnet = "10.0.0.0/24"
dns = "10.0.0.1"
keepalive = 25

Template Override

To customise the client config template, place a Jinja2 template at /etc/wgpeer/client.conf.j2. Available variables: private_key, ip, dns, server_pub, server_ip, port, keepalive.

Building and Publishing

uv build
uv publish

Download files

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

Source Distribution

wgpeer-0.6.1.tar.gz (31.3 kB view details)

Uploaded Source

Built Distribution

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

wgpeer-0.6.1-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file wgpeer-0.6.1.tar.gz.

File metadata

  • Download URL: wgpeer-0.6.1.tar.gz
  • Upload date:
  • Size: 31.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wgpeer-0.6.1.tar.gz
Algorithm Hash digest
SHA256 69719b2aec99445d38951b838d100ff80b9d7703a05fde62b4a5db731f1a5751
MD5 102a27d67e83fa2bab838f661df5a1b1
BLAKE2b-256 4251efd49ab46b0c94d221943da0e67bb0f02f1085dea4fb804f14f258ee5d4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for wgpeer-0.6.1.tar.gz:

Publisher: publish.yml on danohn/wgpeer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wgpeer-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: wgpeer-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 10.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wgpeer-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ac7982cd4026356837bb603e117d5413cb5541c064c41f9686a1beed486703d0
MD5 554376608ab88e2a214c0445aec6e5bc
BLAKE2b-256 ae2c5c3a538393ec8299938b6bb17aec6bee56e4b0202447e03f77d175ed45d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for wgpeer-0.6.1-py3-none-any.whl:

Publisher: publish.yml on danohn/wgpeer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.6.1 This release

2 files

0.6.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

Supported by

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