1
0
mirror of https://github.com/EV21/dynb.git synced 2025-12-26 16:39:32 +01:00

♻️ refactorings

This commit is contained in:
2021-09-12 22:49:40 +02:00
parent eda5a69da2
commit 040aec7472

39
dynb.sh
View File

@@ -392,6 +392,11 @@ function getDNSIP() {
function getRemoteIP() { function getRemoteIP() {
curl --silent "$_interface_str" --user-agent "$_userAgent" \ curl --silent "$_interface_str" --user-agent "$_userAgent" \
--ipv"${1}" --dns-servers 1.1.1.1 --location "${2}" --ipv"${1}" --dns-servers 1.1.1.1 --location "${2}"
# shellcheck disable=2181
if [[ $? -gt 0 ]]; then
errorMessage "IPCheck (getRemoteIP ${1}) request failed"
exit 1
fi
} }
# requires parameter # requires parameter
@@ -636,52 +641,40 @@ function checkStatus() {
# requires parameter # requires parameter
# 1. param: 4 or 6 for IP version # 1. param: 4 or 6 for IP version
function ipHasChanged() { function ipHasChanged() {
if [[ ${1} == 4 ]]; then case ${1} in
4 )
remote_ip=$(getRemoteIP 4 $_ipv4_checker) remote_ip=$(getRemoteIP 4 $_ipv4_checker)
#TODO: this is duplicated code, refactor this.
if [[ $? -gt 0 ]]; then
errorMessage "IPCheck (getRemoteIP 4) request failed $remote_ip"
return 0
fi
if [[ $DYNB_UPDATE_METHOD == domrobot ]]; then if [[ $DYNB_UPDATE_METHOD == domrobot ]]; then
dns_ip=$(getDNSIP A) dns_ip=$(getDNSIP A)
else else
dig_response=$(dig @${_DNS_checkServer} in a +short "$DYNB_DYN_DOMAIN") dig_response=$(dig @${_DNS_checkServer} in a +short "$DYNB_DYN_DOMAIN")
#TODO: this is duplicated code, refactor this.
if [[ $dig_response == ";; connection timed out; no servers could be reached" ]]; then if [[ $dig_response == ";; connection timed out; no servers could be reached" ]]; then
errorMessage "DNS request failed $dig_response" errorMessage "DNS request failed $dig_response"
return 0 return 0
fi fi
dns_ip=$dig_response dns_ip=$dig_response
fi fi
fi _new_IPv4=$remote_ip
if [[ ${1} == 6 ]]; then debugMessage "New IPv4: $_new_IPv4 old was: $dns_ip"
;;
6 )
remote_ip=$(getRemoteIP 6 $_ipv6_checker) remote_ip=$(getRemoteIP 6 $_ipv6_checker)
#TODO: this is duplicated code, refactor this.
if [[ $? -gt 0 ]]; then
errorMessage "IPCheck (getRemoteIP 6) request failed $remote_ip"
return 0
fi
if [[ $DYNB_UPDATE_METHOD == domrobot ]]; then if [[ $DYNB_UPDATE_METHOD == domrobot ]]; then
dns_ip=$(getDNSIP AAAA) dns_ip=$(getDNSIP AAAA)
else else
dig_response=$(dig @${_DNS_checkServer} in aaaa +short "$DYNB_DYN_DOMAIN") dig_response=$(dig @${_DNS_checkServer} in aaaa +short "$DYNB_DYN_DOMAIN")
#TODO: this is duplicated code, refactor this.
if [[ $dig_response == ";; connection timed out; no servers could be reached" ]]; then if [[ $dig_response == ";; connection timed out; no servers could be reached" ]]; then
errorMessage "DNS request failed $dig_response" errorMessage "DNS request failed $dig_response"
return 0 return 0
fi fi
dns_ip=$dig_response dns_ip=$dig_response
fi fi
fi
if [[ ${1} == 4 ]]; then
_new_IPv4=$remote_ip
debugMessage "New IPv4: $_new_IPv4 old was: $dns_ip"
else
_new_IPv6=$remote_ip _new_IPv6=$remote_ip
debugMessage "New IPv6: $_new_IPv6 old was: $dns_ip" debugMessage "New IPv6: $_new_IPv6 old was: $dns_ip"
fi ;;
* )
;;
esac
if [[ "$remote_ip" == "$dns_ip" ]]; then if [[ "$remote_ip" == "$dns_ip" ]]; then
return 0 return 0
@@ -761,9 +754,11 @@ function handleParameters() {
if [[ $DYNB_DEBUG == true ]]; then if [[ $DYNB_DEBUG == true ]]; then
_debug=1 _debug=1
fi fi
# shellcheck disable=SC2154
if [[ -n $DYNB_IPv4_CHECK_SITE ]]; then if [[ -n $DYNB_IPv4_CHECK_SITE ]]; then
_ipv4_checker=$DYNB_IPv4_CHECK_SITE _ipv4_checker=$DYNB_IPv4_CHECK_SITE
fi fi
# shellcheck disable=SC2154
if [[ -n $DYNB_IPv6_CHECK_SITE ]]; then if [[ -n $DYNB_IPv6_CHECK_SITE ]]; then
_ipv6_checker=$DYNB_IPv6_CHECK_SITE _ipv6_checker=$DYNB_IPv6_CHECK_SITE
fi fi