From ef617ff0e13cd7ab1292720a8ed962e3ccd1e6b5 Mon Sep 17 00:00:00 2001 From: fryorcraken <110212804+fryorcraken@users.noreply.github.com> Date: Fri, 16 Aug 2024 19:11:37 +1000 Subject: [PATCH] feat: automatically fetch domain name if possible (#115) --- run_node.sh | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/run_node.sh b/run_node.sh index d66b560..4f22096 100644 --- a/run_node.sh +++ b/run_node.sh @@ -16,6 +16,34 @@ fi MY_EXT_IP=$(wget -qO- https://api4.ipify.org) DNS_WSS_CMD= +if [ -z "${DOMAIN}" ]; then + echo "DOMAIN is unset, trying to guess it" + + # Check if we have an IP + IPCHECK=$(echo "${MY_EXT_IP}" | grep -c '^[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+$') + + if [ "${IPCHECK}" -ne 1 ]; then + echo "Failed to get ip, received: '${MY_EXT_IP}'" + else + # TODO: Include this in nwaku docker image + apk update + apk add bind-tools + + # Get reverse DNS + DNS=$(dig +short -x "${MY_EXT_IP}") + + # Check if looks like a DNS + DNSCHECK=$(echo "${DNS}" | grep -c '^\([a-zA-Z0-9_\-]\+\.\)\+$') + + if [ "${DNSCHECK}" -ne 1 ]; then + echo "Failed to get DNS, received: '${DNS}'" + else + DOMAIN=$(echo "${DNS}" | sed s/\.$//) + echo "DOMAIN deduced and set to ${DOMAIN}" + fi + fi +fi + if [ -n "${DOMAIN}" ]; then LETSENCRYPT_PATH=/etc/letsencrypt/live/${DOMAIN}