From 4e2bb828db4afa55c0cbcd4b5bce14ca64b982e3 Mon Sep 17 00:00:00 2001 From: Simon Garrelou Date: Fri, 2 Jun 2023 20:27:45 +0200 Subject: Update README --- README.md | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index fe7930f..8fc5806 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,38 @@ # Wireguard server manager -`wgmgr` is a command-line manager for the server part of the [Wireguard](https://wireguard.org) VPN solution. It expects a traditional client-server relationship, and cannot be used to handle meshed networks. +`wgmgr` is a command-line manager for the server part of the [Wireguard](https://wireguard.org) VPN solution. It expects a traditional client-server relationship, and cannot be used to handle meshed networks (if that's what your looking for, look into [Headscale](https://github.com/juanfont/headscale)). -It handles client creation and removal, and will auto-generate the corresponding private and public keys. It can also generate the configuration file for each client. +It has the following features + +- Client creation, with automated IP assignment and key generation +- Client removal +- Client configuration generation (use [qrencode](https://fukuchi.org/works/qrencode/) if you want to generate a QR Code) +- Real-time statistic through the `wg` command, but with nicer peer names Be aware that the clients' private keys will be stored on the server in order to simplify the config file generation. This is par for the course for Wireguard managers, but it bears repeating. +Here's a sample run, adding a new peer to your server: + ``` -$ wgmgr add my_new_laptop +$ wgmgr add my_new_phone $ wgmgr ls my_new_laptop | 10.8.0.2 -$ wgmgr config --type split my_new_laptop - +my_new_phone | 10.8.0.3 +$ wgmgr config --type split my_new_phone | qrencode -t ansiutf8 + ``` ## Installing You can download the latest release at [`/releases/wgmgr/latest/`](https://git.sixfoisneuf.fr/releases/wgmgr/latest/). If you want to build the software yourself, you will need an up-to-date Rust toolchain ([rustup](https://rustup.rs/) is recommended). -Building the software should be as simple as running `cargo build --release` in the cloned repository. +Building the software should be as simple as: + +``` +$ git clone https://git.sixfoisneuf.fr/wgmgr +$ cd wgmgr +$ cargo build --release +``` ## Setting up -- cgit v1.2.3