nixos-config/scripts/wireguard-client.sh
2024-05-12 09:32:04 +02:00

43 lines
673 B
Bash

#!/usr/bin/env bash
#
# Create a new wireguard client
client_name="ipad tina"
client_ip=10.100.0.9
private_key=$(wg genkey)
public_key=$(echo "$private_key" | wg pubkey)
cat <<EOF >client.conf
[Interface]
Address = ${client_ip}/32
MTU = 1280
ListenPort = 51820
PrivateKey = ${private_key}
[Peer]
PublicKey = uWR93xJe5oEbX3DsAYpOS9CuSg1VmXEQxJzdlJpe3DU=
Endpoint = ingolf-wagner.de:51820
AllowedIPs = 10.100.0.1/24
EOF
cat <<EOF
## nixos configuration:
{
# ${client_name}
publicKey = "${public_key}";
allowedIPs = [ "${client_ip}/32" ];
}
## client configuration
is in ./client.conf
### QR Code
for quick configuration
EOF
qrencode -t ansiutf8 <client.conf