Commit graph

12 commits

Author SHA1 Message Date
Nick Hainke
324fa79d7c wg-installer: create wireguard key if it does not exist
Check if the key exists which is given by
    option wg_key '/etc/wgserver/wg.key'

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-20 14:44:26 +01:00
Nick Hainke
da48bc3792 wg-installer: check if a key is already inserted
Check if a peer is already existing with a given public key. Introduce a
response code for signaling why the server rejected the request.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-20 09:19:04 +01:00
Nick Hainke
69c81790d1 wg-installer: rework code
Use shellcheck to rework the code. Use "export" to return variables from
a function call. Further, fix typos.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-20 02:04:50 +01:00
Nick Hainke
38a9a3e0dc wg-installer: cosmetic changes
Use "ip addr" instead of "ip addres" or "ip a".

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-18 18:20:20 +01:00
Nick Hainke
fea27cec05 wg-installer: rework iproute2 commands
- Use ip address add instead of ip a a
- Directly add broadcast address

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-16 10:39:19 +01:00
Nick Hainke
53503c4a3a wg-installer: fix shell typo
Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-12 18:58:46 +01:00
Nick Hainke
8ab044712a wg-installer: generate new keys for every connection
Generate new keys on every new connection.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-12 00:51:08 +01:00
Nick Hainke
4302bfd3c8 wg-installer: fix ipv4 meshing via olsr
The ipv4 address space was not allowed.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-08 22:30:47 +01:00
Nick Hainke
98d8680a8c wg-installer: add ipv4 support
Add base_v4prefix to allow ipv4 mesh connections.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-07 08:04:00 +01:00
Nick Hainke
36dc9b3f79 wg-installer: delete old interfaces
Add "wg_check_interfaces" and specify a timeout in the config file.
This allows to delete not used wireguard-interfaces automatically.

For example a cronjob can be installed that calls:
  . /usr/share/wginstaller/wg_functions.sh && wg_check_interfaces

Signed-off-by: Nick Hainke <vincent@systemli.org>
2021-03-14 11:27:07 +01:00
Nick Hainke
f7cb8b20e1 wg-installer: fix get_usage function
The get_usage function always returns 0. The shell syntax was wrong.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2021-03-13 21:21:20 +01:00
Nick Hainke
3a6949dfaf wg-installer: add wg-installer
This tool can be used to automatically create wireguard tunnels. Using
rpcd a new wireguard interface is created on the server where the client
can connect to.

Wiregurad server automatically installs a user and associated ACL to use
the wireguard-installer-server features. The user is called wginstaller
and so is the password.

Get Usage:
  wg-client-installer get_usage --ip 127.0.0.1 --user wginstaller
	--password wginstaller

Register Interface:
  wg-client-installer register --ip 127.0.0.1 --user wginstaller
         --password wginstaller --bandwidth 10 --mtu 1400

Signed-off-by: Nick Hainke <vincent@systemli.org>
2021-02-06 22:41:29 +01:00