Выберите рабочий домен, используя Bash и Curl - PullRequest
0 голосов
/ 18 марта 2019

Я пытаюсь найти работающий домен и использовать его, но в идеале - случайно выбранный домен.Сейчас кажется, что он использует только последний домен в операторе 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

1 Ответ

0 голосов
/ 18 марта 2019

попробуйте это:

#!/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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...