diff options
Diffstat (limited to 'hetzner-ddns.sh')
-rwxr-xr-x | hetzner-ddns.sh | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/hetzner-ddns.sh b/hetzner-ddns.sh index 7ad8e28..5e6de74 100755 --- a/hetzner-ddns.sh +++ b/hetzner-ddns.sh @@ -3,6 +3,8 @@ # Copyright 2022 David Vazgenovich Shakaryan # # HETZNER_TOKEN=<token> hetzner-ddns.sh <domain> +# HETZNER_TOKEN_FILE=/path/to/token hetzner-ddns.sh <domain> +# systemctl enable --now "hetzner-ddns@$(systemd-escape <domain>).timer" IP_RESOLVER='https://ifconfig.co' TARGET="${1}" @@ -20,6 +22,13 @@ hetzcurl() { "${@:2}" } +if [[ -z "${HETZNER_TOKEN}" ]] && [[ -n "${HETZNER_TOKEN_FILE}" ]]; then + [[ -f "${HETZNER_TOKEN_FILE}" ]] || die 'Specified token file' \ + "(${HETZNER_TOKEN_FILE}) does not exist" + HETZNER_TOKEN="$(<"${HETZNER_TOKEN_FILE}")" +fi +[[ -n "${HETZNER_TOKEN}" ]] || die 'Missing token' + ip="$(curl -sf4 "${IP_RESOLVER}")" || die 'IP lookup failed' zone_re="${TARGET}" |