Я пытаюсь найти работающий домен и использовать его, но в идеале - случайно выбранный домен.Сейчас кажется, что он использует только последний домен в операторе if.Что я могу сделать, чтобы изменить это и вместо этого использовать случайно выбранный домен.Спасибо
#!/bin/bash One() { ip=$(curl https://ipapi.co/ip) country=$(curl https://ipapi.co/$ip/country/) echo $ip - $country 1 } Two() { ip=$(curl https://api.db-ip.com/v2/free/self/ipAddress) country=$(curl https://api.db-ip.com/v2/free/$ip/countryCode) echo $ip - $country 2 } Three() { ip=$(curl https://api.ipdata.co/ip?api-key=test) country=$(curl https://api.ipdata.co/$ip/country_code?api-key=test) echo $ip - $country 3 } Fore() { ip=$(curl http://api.ipaddress.com/myip) country=$(curl -s http://api.ipaddress.com/iptocountry) echo $ip - $country 4 } if curl -k --max-time 10 --head --request GET https://ipapi.co/ip | grep "200 OK" > /dev/null; then One elif curl -k --max-time 10 --head --request GET https://api.db-ip.com/v2/free/self/ipAddress | grep "200 OK" > /dev/null; then Two elif curl -k --max-time 10 --head --request GET https://api.ipdata.co/ip?api-key=test | grep "200 OK" > /dev/null; then Three elif curl -k --max-time 10 --head --request GET http://api.ipaddress.com/iptocountry | grep "200 OK" > /dev/null; then Fore else echo fi
попробуйте это:
#!/bin/bash One() { ip=$(curl https://ipapi.co/ip) country=$(curl https://ipapi.co/$ip/country/) echo $ip - $country 1 } Two() { ip=$(curl https://api.db-ip.com/v2/free/self/ipAddress) country=$(curl https://api.db-ip.com/v2/free/$ip/countryCode) echo $ip - $country 2 } Three() { ip=$(curl https://api.ipdata.co/ip?api-key=test) country=$(curl https://api.ipdata.co/$ip/country_code?api-key=test) echo $ip - $country 3 } Fore() { ip=$(curl http://api.ipaddress.com/myip) country=$(curl -s http://api.ipaddress.com/iptocountry) echo $ip - $country 4 } DOMAIN[0]=One # define your Domains DOMAIN[1]=Two DOMAIN[2]=Three DOMAIN[3]=Fore NR=$((RANDOM % ${#DOMAIN[@]})) # generate pseudorandom ${DOMAIN[$NR]} # call function