mirror of
https://github.com/EV21/dynb.git
synced 2025-12-26 16:39:32 +01:00
feat: use provider checkip API
This commit is contained in:
16
dynb.sh
16
dynb.sh
@@ -53,6 +53,7 @@ _network_interface=
|
|||||||
|
|
||||||
_INWX_JSON_API_URL=https://api.domrobot.com/jsonrpc/
|
_INWX_JSON_API_URL=https://api.domrobot.com/jsonrpc/
|
||||||
_internet_connectivity_test_server=https://www.google.de
|
_internet_connectivity_test_server=https://www.google.de
|
||||||
|
_default_check_ip_servers=("ip64.ev21.de" "api64.ipify.org" "api.my-ip.io/ip" "ip.anysrc.net/plain")
|
||||||
_ipv4_checker=
|
_ipv4_checker=
|
||||||
_ipv6_checker=
|
_ipv6_checker=
|
||||||
_DNS_checkServer=
|
_DNS_checkServer=
|
||||||
@@ -295,25 +296,27 @@ function getRemoteIP
|
|||||||
{
|
{
|
||||||
local ip_version=$1
|
local ip_version=$1
|
||||||
|
|
||||||
default_ip_check_servers=("ip64.ev21.de" "api64.ipify.org" "api.my-ip.io/ip" "ip.anysrc.net/plain")
|
if test -n "$_provider_check_ip"
|
||||||
|
then ip_check_servers=("$_provider_check_ip" "${_default_check_ip_servers[@]}")
|
||||||
|
fi
|
||||||
case $ip_version in
|
case $ip_version in
|
||||||
4)
|
4)
|
||||||
if test -n "$_ipv4_checker"
|
if test -n "$_ipv4_checker"
|
||||||
then ip_check_servers=("$_ipv4_checker" "${default_ip_check_servers[@]}")
|
then ip_check_servers=("$_ipv4_checker" "${_default_check_ip_servers[@]}")
|
||||||
else ip_check_servers=("${default_ip_check_servers[@]}")
|
else ip_check_servers=("${_default_check_ip_servers[@]}")
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
6)
|
6)
|
||||||
if test -n "$_ipv6_checker"
|
if test -n "$_ipv6_checker"
|
||||||
then ip_check_servers=("$_ipv6_checker" "${default_ip_check_servers[@]}")
|
then ip_check_servers=("$_ipv6_checker" "${_default_check_ip_servers[@]}")
|
||||||
else ip_check_servers=("${default_ip_check_servers[@]}")
|
else ip_check_servers=("${_default_check_ip_servers[@]}")
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
for current_check_server in "${ip_check_servers[@]}"
|
for current_check_server in "${ip_check_servers[@]}"
|
||||||
do
|
do
|
||||||
debugMessage "try getting remote ip from $current_check_server"
|
debugMessage "try getting remote IPv$ip_version via $current_check_server"
|
||||||
response=$(curl --silent "$_interface_str" --user-agent "$_userAgent" \
|
response=$(curl --silent "$_interface_str" --user-agent "$_userAgent" \
|
||||||
--ipv"${ip_version}" --location "${current_check_server}")
|
--ipv"${ip_version}" --location "${current_check_server}")
|
||||||
curls_status_code=$?
|
curls_status_code=$?
|
||||||
@@ -424,6 +427,7 @@ function prepare_request_parameters
|
|||||||
curl_parameters+=("--data-urlencode" "hostname=$DYNB_DYN_DOMAIN")
|
curl_parameters+=("--data-urlencode" "hostname=$DYNB_DYN_DOMAIN")
|
||||||
dyndns_update_url="https://update.dedyn.io"
|
dyndns_update_url="https://update.dedyn.io"
|
||||||
provider_dns_servers=("ns1.desec.io" "ns2.desec.org")
|
provider_dns_servers=("ns1.desec.io" "ns2.desec.org")
|
||||||
|
_provider_check_ip="https://checkip.dedyn.io" # checkipv4 and checkipv6 is also available
|
||||||
;;
|
;;
|
||||||
[Dd][Yy][Nn][Vv]6*)
|
[Dd][Yy][Nn][Vv]6*)
|
||||||
# dynv6.com
|
# dynv6.com
|
||||||
|
|||||||
Reference in New Issue
Block a user