Added better logging

master
Keith Irwin 2022-09-09 22:28:48 -06:00
parent b9809e4c7a
commit 4eb11ebfb5
Signed by: ki9
GPG Key ID: DF773B3F4A88DA86
1 changed files with 14 additions and 9 deletions

View File

@ -64,7 +64,7 @@ printf '%s' "${hostnames}" | grep -o "${hostname}" && (
exit 6
)
domain="${hostname:?}.${username:?}.${TLD:?}"
printf 'New domain will be %s' "${domain}" >>"${LOGFILE}"
printf 'New domain will be %s\n' "${domain}" >>"${LOGFILE}"
# Collect/parse existing peer data
# Create new IPs
@ -80,7 +80,12 @@ hostnumber=1; while <<<"${used_hostnumbers}" grep "${hostnumber}"
done
ipv4="${IPV4_NET%.*.*}.${usernumber}.${hostnumber}"
ipv6="${IPV6_NET%:*:*}:${usernumber}:${hostnumber}"
printf 'IP addresses for %s created: %s %s\n' "${domain}" "${ipv4}" "${ipv6}" >>"${LOGFILE}"
printf 'IP addresses for %s created: %s %s\n' "${domain:?}" "${ipv4:?}" "${ipv6:?}" \
>>"${LOGFILE}" || (
printf 'ERROR! Failed to create IP addresses for %s!' "${domain}" >>"${LOGFILE}"
exit 11
)
# TODO: Check it or exit 11
# Create wg config
@ -94,15 +99,15 @@ while IFS=$'\t' read -r server_hostname server_ipv4 server_ipv6 server_pubkey se
server_blocks="${server_blocks}\n[Peer] # ${server_hostname}.${TLD}\nPublicKey=${server_pubkey}\nPresharedKey=${server_psk}\nAllowedIPs=${server_ipv4}/32,${server_ipv6}/128\nEndpoint=${server_endpoint}\n"
if [ "${server_hostname}" == "${LOCAL_SERVER}" ]
# Add new user to local server
then printf 'Adding %s to local server...' "${domain}" >>"${LOGFILE}"
then printf 'Adding %s to local server...' "${domain}\n" >>"${LOGFILE}"
"${LIB_DIR}/wg_peer_add" "${pubkey}" "${server_psk}" "${ipv4}/32,${ipv6}/128" || (
printf 'Failed to add new peer %s to local server!' "${ipv4}" >>"${LOGFILE}"
printf 'ERROR! Failed to add new peer %s to local server!\n' "${ipv4}" >>"${LOGFILE}"
# TODO: clear existing progress and exit 15
)
# Send new user config to federated server
else printf 'Sending %s to remote server %s...' "${domain}" "${server_hostname}" >>"${LOGFILE}"
else printf 'Sending %s to remote server %s...\n' "${domain}" "${server_hostname}" >>"${LOGFILE}"
#"${LIB_DIR}/fed_add" "${server_admin}" "${pubkey}" "${server_psk}" "${ipv4}/32,${ipv6}/128" "${server_secret}" || (
# printf 'Failed to add new peer %s to federated server %s!' "${ipv4}" "${server_hostname}" >>"${LOGFILE}"
# printf 'ERROR! Failed to add new peer %s to federated server %s!\n' "${ipv4}" "${server_hostname}" >>"${LOGFILE}"
# # TODO: clear existing progress and exit 16
#)
fi
@ -113,14 +118,14 @@ wg_config="[Interface] # ${hostname}.${username}.${TLD}\nPrivateKey=${privkey}\n
# Do it before updating nameserver and certs because
# if wireguard worked, there's no going back. The admin
# can clean up missing records and certs after checking the logs
printf '%s' "${wg_config}" | "${LIB_DIR}/http_res"
<<<"${wg_config}" "${LIB_DIR}/http_res"
# Update nameserver
"${LIB_DIR}/ns_update_add" "${domain}" "${ipv4}" "${ipv6}" || (
printf 'Failed to add %s %s %s to DNS server!' "${domain}" "${ipv4}" "${ipv6}" >>"${LOGFILE}"
printf 'ERROR! Failed to add %s %s %s to DNS server!\n' "${domain}" "${ipv4}" "${ipv6}" >>"${LOGFILE}"
)
# Create SSL cert
sudo "${LIB_DIR}/ssl_peer_add" "${hostname}" "${username}" "IP:${ipv4},IP:${ipv6}" || (
printf 'Failed to create certs for %s with IPS: %s %s!' "${domain}" "${ipv4}" "${ipv6}" >>"${LOGFILE}"
printf 'ERROR! Failed to create certs for %s with IPS: %s %s!\n' "${domain}" "${ipv4}" "${ipv6}" >>"${LOGFILE}"
)