diff options
author | Simon Garrelou <simon.garrelou@gmail.com> | 2023-06-02 20:27:45 +0200 |
---|---|---|
committer | Simon Garrelou <simon.garrelou@gmail.com> | 2023-06-02 20:27:45 +0200 |
commit | 4e2bb828db4afa55c0cbcd4b5bce14ca64b982e3 (patch) | |
tree | 7ff94234a25c64c2ec0d59b47f09d5bcbe48d671 | |
parent | 08711d4032bf400ea4565ac8ac3a0aeff6edaf54 (diff) | |
download | wgmgr-4e2bb828db4afa55c0cbcd4b5bce14ca64b982e3.tar.gz wgmgr-4e2bb828db4afa55c0cbcd4b5bce14ca64b982e3.zip |
Update README
-rw-r--r-- | README.md | 26 |
1 files changed, 20 insertions, 6 deletions
@@ -1,24 +1,38 @@ | |||
1 | # Wireguard server manager | 1 | # Wireguard server manager |
2 | 2 | ||
3 | `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. | 3 | `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)). |
4 | 4 | ||
5 | 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. | 5 | It has the following features |
6 | |||
7 | - Client creation, with automated IP assignment and key generation | ||
8 | - Client removal | ||
9 | - Client configuration generation (use [qrencode](https://fukuchi.org/works/qrencode/) if you want to generate a QR Code) | ||
10 | - Real-time statistic through the `wg` command, but with nicer peer names | ||
6 | 11 | ||
7 | 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. | 12 | 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. |
8 | 13 | ||
14 | Here's a sample run, adding a new peer to your server: | ||
15 | |||
9 | ``` | 16 | ``` |
10 | $ wgmgr add my_new_laptop | 17 | $ wgmgr add my_new_phone |
11 | $ wgmgr ls | 18 | $ wgmgr ls |
12 | my_new_laptop | 10.8.0.2 | 19 | my_new_laptop | 10.8.0.2 |
13 | $ wgmgr config --type split my_new_laptop | 20 | my_new_phone | 10.8.0.3 |
14 | <copy-paste the configuration to your laptop> | 21 | $ wgmgr config --type split my_new_phone | qrencode -t ansiutf8 |
22 | <scan the generated QR code with your phone's Wireguard app> | ||
15 | ``` | 23 | ``` |
16 | 24 | ||
17 | ## Installing | 25 | ## Installing |
18 | 26 | ||
19 | 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). | 27 | 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). |
20 | 28 | ||
21 | Building the software should be as simple as running `cargo build --release` in the cloned repository. | 29 | Building the software should be as simple as: |
30 | |||
31 | ``` | ||
32 | $ git clone https://git.sixfoisneuf.fr/wgmgr | ||
33 | $ cd wgmgr | ||
34 | $ cargo build --release | ||
35 | ``` | ||
22 | 36 | ||
23 | ## Setting up | 37 | ## Setting up |
24 | 38 | ||