20 lines
707 B
Bash
Executable File
20 lines
707 B
Bash
Executable File
#!/bin/bash
|
|
set -aeou pipefail
|
|
keepassdb="$HOME/Nextcloud/passwords/Passwords.kdbx"
|
|
|
|
type wg >/dev/null 2>&1 || { printf "wireguard is not installed\n" >&2; exit 1; }
|
|
type keepassxc-cli >/dev/null 2>&1 || { printf "KeepassXC is not installed\n" >&2; exit 1; }
|
|
|
|
|
|
printf "Enter password for %s: " "$keepassdb":
|
|
read -s -r password
|
|
printf "\n"
|
|
|
|
networks=$(echo "$password" | keepassxc-cli ls "$keepassdb" /Wireguard/"$HOSTNAME")
|
|
umask 077
|
|
for network in $networks;do
|
|
echo "configuring /etc/wireguard/${network}.conf"
|
|
echo "$password" | keepassxc-cli show -q --attributes Notes "$keepassdb" /Wireguard/"$HOSTNAME"/"$network" | sudo tee /etc/wireguard/"${network}".conf > /dev/null
|
|
done
|
|
unset password
|