42 lines
675 B
Bash
42 lines
675 B
Bash
#!/usr/bin/env bash
|
|
#
|
|
# Create a new wireguard client
|
|
|
|
client_name="ipad tina"
|
|
client_ip=10.100.0.104
|
|
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 = txECSpa5HeIWgRtcZNxBUzkdN72rsA2w6Is6gIp0Tlc=
|
|
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
|