prefer no dnstools solutions

This commit is contained in:
Q
2024-03-16 09:28:31 +02:00
parent 2ce8bc5fd8
commit 783a6e1538

View File

@@ -13,14 +13,26 @@ function locals_only() {
exit $? exit $?
} }
function ifconfig_service() { function ifconfig_service() {
which jq &>/dev/null && JQ="jq ." || JQ="cat -"
$CURL ifconfig.co/json | $JQ
exit $?
}
function setup_curl() {
which curl &>/dev/null && { which curl &>/dev/null && {
curl -4 ifconfig.co/json; exit $? CURL="curl -s -4"
return
} }
which wget &>/dev/null && { which wget &>/dev/null && {
wget -q -O - ifconfig.co/json; exit $? CURL="wget -q -O - "
return
} }
echo "No curl or wget present" >2
exit 1
} }
for (( i=1; i<=$#; i++ )); do for (( i=1; i<=$#; i++ )); do
[[ "${!i}" = "--help" ]] && helpexit [[ "${!i}" = "--help" ]] && helpexit
[[ "${!i}" = "-h" ]] && helpexit [[ "${!i}" = "-h" ]] && helpexit
@@ -31,6 +43,8 @@ for (( i=1; i<=1; i++ )); do
[[ "${!i}" = "-j" ]] && { JSON=1; continue; } [[ "${!i}" = "-j" ]] && { JSON=1; continue; }
done done
setup_curl
if [[ "$LOCAL" -eq 1 ]]; then if [[ "$LOCAL" -eq 1 ]]; then
locals_only locals_only
fi fi
@@ -39,15 +53,13 @@ if [[ "$JSON" -eq 1 ]]; then
ifconfig_service ifconfig_service
fi fi
IP=$( $CURL ifconfig.co/ip )
if [[ -z "$IP" ]]; then
which dig &> /dev/null || { which dig &> /dev/null || {
echo Install apt dnsutils >&2 echo Install apt dnsutils >&2
exit 1 exit 1
} }
IP=$( dig +short myip.opendns.com @resolver1.opendns.com ) IP=$( dig +short myip.opendns.com @resolver1.opendns.com )
if [[ -z "$IP" ]]; then
IP=$( curl -s -4 ifconfig.co/ip )
fi fi
if [[ "$NAME" -eq 1 ]]; then if [[ "$NAME" -eq 1 ]]; then