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

refactor: extract methods

This commit is contained in:
2022-06-30 08:54:04 +02:00
parent 11fccf2f0e
commit faa9c371c1

59
dynb.sh
View File

@@ -258,8 +258,7 @@ function updateRecord
fi
}
# using DynDNS2 protocol
function dynupdate
function select_update_base_url
{
# default parameter values
myip_str=myip
@@ -292,26 +291,18 @@ function dynupdate
exit 1
;;
esac
}
# pre encode ip parameters
if [[ $_is_IPv4_enabled == true ]] && [[ $_is_IPv6_enabled == true ]]; then
dyndns_update_url="${dyndns_update_url}${myip_str}=${_new_IPv4}&${myipv6_str}=${_new_IPv6}"
fi
if [[ $_is_IPv4_enabled == true ]] && [[ $_is_IPv6_enabled == false ]]; then
dyndns_update_url="${dyndns_update_url}${myip_str}=${_new_IPv4}"
fi
if [[ $_is_IPv4_enabled == false ]] && [[ $_is_IPv6_enabled == true ]]; then
dyndns_update_url="${dyndns_update_url}${myipv6_str}=${_new_IPv6}"
fi
debugMessage "Update URL was: $dyndns_update_url"
## request ##
case $DYNB_SERVICE_PROVIDER in
function send_request
{
case $DYNB_SERVICE_PROVIDER in
inwx* | INWX*)
_response=$(curl --silent "$_interface_str" \
--user-agent "$_userAgent" \
--user "$DYNB_USERNAME":"$DYNB_PASSWORD" \
"${dyndns_update_url}")
analyse_response
return $?
;;
deSEC* | desec* | dedyn*)
_response=$(curl --silent "$_interface_str" \
@@ -319,16 +310,22 @@ function dynupdate
--header "Authorization: Token $DYNB_TOKEN" \
--get --data-urlencode "hostname=$DYNB_DYN_DOMAIN" \
"${dyndns_update_url}")
analyse_response
return $?
;;
dynv6* | duckDNS* | duckdns*)
_response=$(
curl --silent "$_interface_str" \
--user-agent "$_userAgent" \
"${dyndns_update_url}"
)
"${dyndns_update_url}")
analyse_response
return $?
;;
esac
}
function analyse_response
{
case $_response in
good* | OK* | "addresses updated")
if [[ $_response == "good 127.0.0.1" ]]; then
@@ -396,6 +393,32 @@ function dynupdate
esac
}
# using DynDNS2 protocol
function dynupdate
{
select_update_base_url
# pre encode ip parameters
if [[ $_is_IPv4_enabled == true ]] && [[ $_is_IPv6_enabled == true ]]
then
dyndns_update_url="${dyndns_update_url}${myip_str}=${_new_IPv4}&${myipv6_str}=${_new_IPv6}"
send_request
fi
if [[ $_is_IPv4_enabled == true ]] && [[ $_is_IPv6_enabled == false ]]
then
dyndns_update_url="${dyndns_update_url}${myip_str}=${_new_IPv4}"
send_request
fi
if [[ $_is_IPv4_enabled == false ]] && [[ $_is_IPv6_enabled == true ]]
then
dyndns_update_url="${dyndns_update_url}${myipv6_str}=${_new_IPv6}"
send_request
fi
request_status=$?
debugMessage "Update URL was: $dyndns_update_url"
return $request_status
}
function setStatus
{
echo "_status=$1; _eventTime=$2; _errorCounter=$3; _statusHostname=$4; _statusUsername=$5; _statusPassword=$6" >/tmp/dynb.status