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