From 0efda77d423492dddf57b49010eaf55b73e3cec4 Mon Sep 17 00:00:00 2001 From: Nikita Skryabin Date: Mon, 24 Feb 2025 10:39:33 +0300 Subject: [PATCH] Merge pull request #2 from Davoyan/master --- README.md | 22 +- ipregion.sh | 805 +++++++++++++++++++++++++++++++++++++++++++---- test_example.jpg | Bin 0 -> 81292 bytes 3 files changed, 752 insertions(+), 75 deletions(-) create mode 100644 test_example.jpg diff --git a/README.md b/README.md index 7f02842..78e6a8e 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # IPRegion 🌍 -This is a shell script designed to check how your public IP address is identified by various IP databases. The script queries multiple sources to retrieve the country code associated with your IP, providing a comprehensive overview of how different services interpret your location. - -![image](https://i.imgur.com/7Tj4Usc.png) +This shell script is designed to check how your public IP address is identified by various IP databases. The script queries multiple sources to retrieve the country code associated with your IP, providing a comprehensive overview of how different services interpret your location. + +![image](https://github.com/vernette/ipregion/blob/master/test_example.jpg?raw=true) ## Features @@ -14,8 +14,8 @@ This is a shell script designed to check how your public IP address is identifie - and [many](https://github.com/vernette/ipregion/blob/master/ipregion.sh#L6) more! - **User-Friendly Output**: Displays the results in a clean and formatted manner, showing how each service identifies your IP. - - **Lightweight**: Written in Bash, the script has minimal dependencies, primarily requiring `curl` and `jq` for network requests and JSON parsing. +- **Support for SOCKS proxy** – allows running the script through a local SOCKS proxy. ## Dependencies @@ -37,7 +37,12 @@ For other systems, please install `curl` and `jq` manually. bash <(wget -qO - https://github.com/vernette/ipregion/raw/master/ipregion.sh) ``` -Or download the script and run it manually: +To run the script through a local SOCKS proxy on port 40000 (example): +``` +bash <(wget -qO - https://github.com/vernette/ipregion/raw/master/ipregion.sh) --socks-port 40000 +``` + +You can download the script and run it manually: ```bash wget -O https://github.com/vernette/ipregion/raw/master/ipregion.sh @@ -45,10 +50,5 @@ chmod +x ipregion.sh ./ipregion.sh ``` -## TODO -- [ ] Add more IP services -- [ ] Add more supported OSes -- [ ] Handle errors when doing network requests -- [ ] Handle service rate limit errors -- [ ] Add IP identification by various sites (Google, TikTok, OpenAI, etc.) + diff --git a/ipregion.sh b/ipregion.sh index dd1a7e1..5215e87 100755 --- a/ipregion.sh +++ b/ipregion.sh @@ -31,6 +31,27 @@ DEPENDENCIES="jq curl" +SOCKS_PORT="" +while [ $# -gt 0 ]; do + case "$1" in + --socks|--socks-port|-s) + SOCKS_PORT="$2" + shift 2 + ;; + *) + shift + ;; + esac +done + +if [ -n "$SOCKS_PORT" ]; then + # Устанавливаем прокси для всех запросов curl + export ALL_PROXY="socks5://127.0.0.1:$SOCKS_PORT" + echo "Используем SOCKS-прокси 127.0.0.1:$SOCKS_PORT" +fi + + + RIPE_DOMAIN="rdap.db.ripe.net" IPINFO_DOMAIN="ipinfo.io" IPREGISTRY_DOMAIN="ipregistry.co" @@ -55,13 +76,22 @@ FREEIPAPI_DOMAIN="freeipapi.com" IPBASE_DOMAIN="ipbase.com" IP_SB_DOMAIN="ip.sb" MAXMIND_COM_DOMAIN="maxmind.com" +CLOUDFLARE_DOMAIN="cloudflare.com" +YOUTUBE_DOMAIN="youtube.com" +IPWHODE4_DOMAIN="4.ipwho.de" +CHATGPT="chatgpt.com" -IDENTITY_SERVICES="https://ident.me https://ifconfig.co https://ifconfig.me https://icanhazip.com https://api64.ipify.org" +IDENTITY_SERVICES="https://ident.me https://ifconfig.me https://api64.ipify.org https://4.ipwho.de/ip" USER_AGENT="Mozilla/5.0 (X11; Linux x86_64; rv:130.0) Gecko/20100101 Firefox/130.0" +COLOR_BOLD_GREEN="\033[1;32;40m" +COLOR_BOLD_CYAN="\033[1;36;40m" +COLOR_BOLD_ORANGE="\033[38;5;214;40m" +COLOR_BOLD_RED="\033[38;5;196;40m" +COLOR_BOLD_GRAY="\033[38;5;238;40m" +COLOR_BOLD_WHITE="\033[38;5;15;40m" COLOR_RESET="\033[0m" -COLOR_BOLD_GREEN="\033[1;32m" -COLOR_BOLD_CYAN="\033[1;36m" + clear_screen() { clear @@ -140,14 +170,14 @@ install_dependencies() { $use_sudo dnf install -y "${missing_packages[@]}" ;; *) - log_message "ERROR" "Unknown or unsupported distribution: $ID" + log_message "" "Unknown or unsupported distribution: $ID" exit 1 ;; esac clear_screen else - log_message "ERROR" "File /etc/os-release not found, unable to determine distribution" + log_message "" "File /etc/os-release not found, unable to determine distribution" exit 1 fi } @@ -161,129 +191,753 @@ get_ipv4() { hidden_ip="$(printf "%s" "$external_ip" | cut -d'.' -f1-2).***.***" } +get_ipv6() { + external_ipv6=$(curl -6 -s https://6.ipwho.de/ip) + hidden_ipv6=$(mask_ipv6 "$external_ipv6") +} + +mask_ipv6() { + local ipv6="$1" + + IFS=":" read -ra segments <<< "$ipv6" + for i in "${!segments[@]}"; do + if (( i > 1 && i < ${#segments[@]} - 2 )); then + segments[i]="****" + fi + done + + echo "${segments[*]}" | sed 's/ /:/g' +} + check_service() { local domain="$1" - local lookup_function="$2" + local lookup_function="$2" + local lookup_function_v6="${3:-null}" # По умолчанию null, если аргумент не передан + printf "\r\033[KChecking: %s" "[$domain]" result="$($lookup_function)" - results+=("[$COLOR_BOLD_GREEN$domain$COLOR_RESET]${COLOR_RESET}: $result") + + # Обработка результата в зависимости от домена + if [[ -n "$result" ]]; then + domain_str="$COLOR_BOLD_GREEN$domain$COLOR_RESET${COLOR_RESET}" + + + # Рассчитываем, сколько пробелов нужно добавить, чтобы длина строки была 20 + padding_length=$((23 - ${#domain} - ${#result} - 2)) # 2 — это для ": " между domain и result + padding=$(printf '%*s' "$padding_length" | tr ' ' '.') + padding="${COLOR_BOLD_GRAY}${padding}${COLOR_RESET}" + + result="${COLOR_BOLD_WHITE}${result}${COLOR_RESET}" + + if [[ "$lookup_function_v6" == "null" || "$lookup_function_v6" == "" ]]; then + results+=("$domain_str$padding$result") + else + result_v6="$($lookup_function_v6)" + if [[ "$result_v6" == "null" || "$result_v6" == "" ]]; then + results+=("$domain_str$padding$result") + else + results+=("$domain_str$padding$result${COLOR_BOLD_GRAY}........${COLOR_RESET}${COLOR_BOLD_WHITE}$result_v6${COLOR_RESET}") + fi + fi + + fi } print_results() { - printf "%bResults for IP %b%s%b\n\n" "${COLOR_BOLD_GREEN}" "${COLOR_BOLD_CYAN}" "$hidden_ip" "${COLOR_RESET}" + +if [[ -n "$external_ipv6" ]]; then + printf "\n\n%bResults for IP %b%s %s %s%b\n\n" \ + "${COLOR_BOLD_GREEN}" "${COLOR_BOLD_CYAN}" "$hidden_ip" "and" "$hidden_ipv6" "${COLOR_RESET}" + printf " Ipv4 Ipv6\n\n" +else + printf "\n\n%bResults for IP %b%s%b\n\n" \ + "${COLOR_BOLD_GREEN}" "${COLOR_BOLD_CYAN}" "$hidden_ip" "${COLOR_RESET}" + printf " Ipv4\n\n" +fi for result in "${results[@]}"; do printf "%b\n" "$result" done + printf "\n" } ripe_rdap_lookup() { - curl -s https://rdap.db.ripe.net/ip/"$external_ip" | jq -r ".country" + result=$(timeout 3 curl -4 -s https://rdap.db.ripe.net/ip/"$external_ip" | jq -r ".country" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +ripe_rdap_lookup_v6() { + result=$(timeout 3 curl -4 -s https://rdap.db.ripe.net/ip/"$external_ipv6" | jq -r ".country" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi } ipinfo_io_lookup() { - curl -s https://ipinfo.io/widget/demo/"$external_ip" | jq -r ".data.country" + result=$(timeout 3 curl -4 -s https://ipinfo.io/widget/demo/"$external_ip" | jq -r ".data.country" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi } +ipinfo_io_lookup_v6() { + sleep 2 + result=$(timeout 3 curl -4 -s https://ipinfo.io/widget/demo/""$external_ipv6"" | jq -r ".data.country" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + + ipregistry_co_lookup() { # TODO: Add automatic API key parsing api_key="sb69ksjcajfs4c" - curl -s "https://api.ipregistry.co/$external_ip?hostname=true&key=$api_key" -H "Origin: https://ipregistry.co" | jq -r ".location.country.code" + result=$(timeout 3 curl -4 -s "https://api.ipregistry.co/$external_ip?hostname=true&key=$api_key" -H "Origin: https://ipregistry.co" | jq -r ".location.country.code" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +ipregistry_co_lookup_v6() { + # TODO: Add automatic API key parsing + api_key="sb69ksjcajfs4c" + result=$(timeout 3 curl -4 -s "https://api.ipregistry.co/$external_ipv6?hostname=true&key=$api_key" -H "Origin: https://ipregistry.co" | jq -r ".location.country.code" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +cloudflare_lookup() { + result=$(timeout 3 curl -4 -s "https://www.cloudflare.com/cdn-cgi/trace" | grep loc | cut -d= -f2) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +cloudflare_lookup_v6() { + result=$(timeout 3 curl -6 -s "https://www.cloudflare.com/cdn-cgi/trace" | grep loc | cut -d= -f2) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +youtube_lookup() { + result=$(timeout 3 curl -4 -s "https://www.youtube.com" | grep -oP '"countryCode":"\K\w+') + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +youtube_lookup_v6() { + result=$(timeout 3 curl -6 -s "https://www.youtube.com" | grep -oP '"countryCode":"\K\w+') + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi } ipapi_com_lookup() { - curl -s "https://ipapi.com/ip_api.php?ip=$external_ip" | jq -r ".country_code" + result=$(timeout 3 curl -4 -s "https://ipapi.com/ip_api.php?ip=$external_ip" | jq -r ".country_code" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +ipapi_com_lookup_v6() { + result=$(timeout 3 curl -4 -s "https://ipapi.com/ip_api.php?ip=$external_ipv6" | jq -r ".country_code" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi } db_ip_com_lookup() { - curl -s "https://db-ip.com/demo/home.php?s=$external_ip" | jq -r ".demoInfo.countryCode" + result=$(timeout 3 curl -4 -s "https://db-ip.com/demo/home.php?s=$external_ip" | jq -r ".demoInfo.countryCode" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +db_ip_com_lookup_v6() { + result=$(timeout 3 curl -4 -s "https://db-ip.com/demo/home.php?s=$external_ipv6" | jq -r ".demoInfo.countryCode" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi } ipdata_co_lookup() { - html=$(curl -s "https://ipdata.co") + html=$(timeout 3 curl -4 -s "https://ipdata.co") api_key=$(printf "%s" "$html" | grep -oP '(?<=api-key=)[a-zA-Z0-9]+') - curl -s -H "Referer: https://ipdata.co" "https://api.ipdata.co/?api-key=$api_key" | jq -r ".country_code" + result=$(timeout 3 curl -4 -s -H "Referer: https://ipdata.co" "https://api.ipdata.co/?api-key=$api_key" | jq -r ".country_code" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +ipdata_co_lookup_v6() { + html=$(timeout 3 curl -6 -s "https://ipdata.co") + api_key=$(printf "%s" "$html" | grep -oP '(?<=api-key=)[a-zA-Z0-9]+') + result=$(timeout 3 curl -6 -s -H "Referer: https://ipdata.co" "https://api.ipdata.co/?api-key=$api_key" | jq -r ".country_code" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi } ipwhois_io_lookup() { - curl -s -H "Referer: https://ipwhois.io" "https://ipwhois.io/widget?ip=$external_ip&lang=en" | jq -r ".country_code" + result=$(timeout 3 curl -4 -s -H "Referer: https://ipwhois.io" "https://ipwhois.io/widget?ip=$external_ip&lang=en" | jq -r ".country_code" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +ipwhois_io_lookup_v6() { + result=$(timeout 3 curl -4 -s -H "Referer: https://ipwhois.io" "https://ipwhois.io/widget?ip=$external_ipv6&lang=en" | jq -r ".country_code" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi } ifconfig_co_lookup() { - curl -s "https://ifconfig.co/country-iso?ip=$external_ip" + result=$(timeout 3 curl -4 -s "https://ifconfig.co/country-iso?ip=$external_ip") + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi } -whoer_net_lookup() { - curl -s "https://whoer.net/whois?host=$external_ip" | grep "country" | awk 'NR==1 {print $2}' +ifconfig_co_lookup_v6() { + result=$(timeout 3 curl -4 -s "https://ifconfig.co/country-iso?ip=$external_ipv6") + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +whoer_net_lookup() { + result=$(timeout 3 curl -4 -s "https://whoer.net/whois?host=$external_ip" | grep "country" | awk 'NR==1 {print $2}') + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ] || [ "$result" == "ZZ" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +whoer_net_lookup_v6() { + result=$(timeout 3 curl -4 -s "https://whoer.net/whois?host=$external_ipv6" | grep "country" | awk 'NR==1 {print $2}') + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ] || [ "$result" == "ZZ" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi } ipquery_io_lookup() { - curl -s "https://api.ipquery.io/$external_ip" | jq -r ".location.country_code" + result=$(timeout 3 curl -4 -s "https://api.ipquery.io/$external_ip" | jq -r ".location.country_code" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +ipquery_io_lookup_v6() { + result=$(timeout 3 curl -4 -s "https://api.ipquery.io/$external_ipv6" | jq -r ".location.country_code" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi } country_is_lookup() { - curl -s "https://api.country.is/$external_ip" | jq -r ".country" + result=$(timeout 3 curl -4 -s "https://api.country.is/$external_ip" | jq -r ".country" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +country_is_lookup_v6() { + result=$(timeout 3 curl -4 -s "https://api.country.is/$external_ipv6" | jq -r ".country" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi } cleantalk_org_lookup() { - curl -s "https://api.cleantalk.org/?method_name=ip_info&ip=$external_ip" | jq -r --arg ip "$external_ip" '.data[$ip | tostring].country_code' + result=$(timeout 3 curl -4 -s "https://api.cleantalk.org/?method_name=ip_info&ip=$external_ip" | jq -r --arg ip "$external_ip" '.data[$ip | tostring].country_code' 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +cleantalk_org_lookup_v6() { + result=$(timeout 3 curl -4 -s "https://api.cleantalk.org/?method_name=ip_info&ip=$external_ipv6" | jq -r --arg ip "$external_ip" '.data[$ip | tostring].country_code' 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi } ip_api_com_lookup() { - curl -s "https://demo.ip-api.com/json/$external_ip" -H "Origin: https://ip-api.com" | jq -r ".countryCode" + result=$(timeout 3 curl -4 -s "https://demo.ip-api.com/json/$external_ip" -H "Origin: https://ip-api.com" | jq -r ".countryCode" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +ip_api_com_lookup_v6() { + result=$(timeout 3 curl -4 -s "https://demo.ip-api.com/json/$external_ipv6" -H "Origin: https://ip-api.com" | jq -r ".countryCode" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi } ipgeolocation_io_lookup() { - curl -s "https://api.ipgeolocation.io/ipgeo?ip=$external_ip" -H "Referer: https://ipgeolocation.io" | jq -r ".country_code2" + result=$(timeout 3 curl -4 -s "https://api.ipgeolocation.io/ipgeo?ip=$external_ip" -H "Referer: https://ipgeolocation.io" | jq -r ".country_code2" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi } ipapi_co_lookup() { - curl -s "https://ipapi.co/$external_ip/json" | jq -r ".country" + result=$(timeout 3 curl -4 -s "https://ipapi.co/$external_ip/json" | jq -r ".country" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +ipapi_co_lookup_v6() { + result=$(timeout 3 curl -4 -s "https://ipapi.co/$external_ipv6/json" | jq -r ".country" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi } findip_net_lookup() { cookie_file=$(mktemp) html=$(curl -s -c "$cookie_file" "https://findip.net") request_verification_token=$(printf "%s" "$html" | grep "__RequestVerificationToken" | grep -oP 'value="\K[^"]+') - response=$(curl -s -X POST "https://findip.net" \ + response=$(timeout 3 curl -s -X POST "https://findip.net" \ --data-urlencode "__RequestVerificationToken=$request_verification_token" \ --data-urlencode "ip=$external_ip" \ -b "$cookie_file") rm "$cookie_file" - printf "%s" "$response" | grep -oP 'ISO Code: \K[^<]+' + if [ $? -eq 124 ]; then + echo "" + else + printf "%s" "$response" | grep -oP 'ISO Code: \K[^<]+' + fi } -geojs_io_lookup() { - curl -s "https://get.geojs.io/v1/ip/country.json?ip=$external_ip" | jq -r ".[0].country" +geojs_io_lookup() { + result=$(timeout 3 curl -4 -s "https://get.geojs.io/v1/ip/country.json?ip=$external_ip" | jq -r ".[0].country" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +geojs_io_lookup_v6() { + result=$(timeout 3 curl -4 -s "https://get.geojs.io/v1/ip/country.json?ip=$external_ipv6" | jq -r ".[0].country" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi } iplocation_com_lookup() { - curl -s -X POST "https://iplocation.com" -A "$USER_AGENT" --form "ip=$external_ip" | jq -r ".country_code" + result=$(timeout 3 curl -4 -s -X POST "https://iplocation.com" -A "$USER_AGENT" --form "ip=$external_ip" | jq -r ".country_code" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +iplocation_com_lookup_v6() { + result=$(timeout 3 curl -4 -s -X POST "https://iplocation.com" -A "$USER_AGENT" --form "ip=$external_ipv6" | jq -r ".country_code" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi } geoapify_com_lookup() { # TODO: Add automatic API key parsing api_key="b8568cb9afc64fad861a69edbddb2658" - curl -s "https://api.geoapify.com/v1/ipinfo?&ip=$external_ip&apiKey=$api_key" | jq -r ".country.iso_code" + result=$(timeout 3 curl -4 -s "https://api.geoapify.com/v1/ipinfo?&ip=$external_ip&apiKey=$api_key" | jq -r ".country.iso_code" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +geoapify_com_lookup_v6() { + # TODO: Add automatic API key parsing + api_key="b8568cb9afc64fad861a69edbddb2658" + result=$(timeout 3 curl -4 -s "https://api.geoapify.com/v1/ipinfo?&ip=$external_ipv6&apiKey=$api_key" | jq -r ".country.iso_code" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi } ipapi_is_lookup() { - curl -s "https://api.ipapi.is/?q=$external_ip" | jq -r ".location.country_code" + result=$(timeout 3 curl -4 -s "https://api.ipapi.is/?q=$external_ip" | jq -r ".location.country_code" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +ipapi_is_lookup_v6() { + result=$(timeout 3 curl -4 -s "https://api.ipapi.is/?q=$external_ipv6" | jq -r ".location.country_code" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi } freeipapi_com_lookup() { - curl -s "https://freeipapi.com/api/json/$external_ip" | jq -r ".countryCode" + result=$(timeout 3 curl -4 -s "https://freeipapi.com/api/json/$external_ip" | jq -r ".countryCode" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +freeipapi_com_lookup_v6() { + result=$(timeout 3 curl -4 -s "https://freeipapi.com/api/json/$external_ipv6" | jq -r ".countryCode" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +4_ipwho_de_lookup() { + result=$(timeout 3 curl -4 -s ipwho.de/json | jq -r '.country_code' 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi } ipbase_com_lookup() { - curl -s "https://api.ipbase.com/v2/info?ip=$external_ip" | jq -r ".data.location.country.alpha2" + result=$(timeout 3 curl -4 -s "https://api.ipbase.com/v2/info?ip=$external_ip" | jq -r ".data.location.country.alpha2" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +ipbase_com_lookup_v6() { + result=$(timeout 3 curl -4 -s "https://api.ipbase.com/v2/info?ip=$external_ipv6" | jq -r ".data.location.country.alpha2" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi } ip_sb_lookup() { - curl -s "https://api.ip.sb/geoip/$external_ip" -A "$USER_AGENT" | jq -r ".country_code" + result=$(timeout 3 curl -4 -s "https://api.ip.sb/geoip/$external_ip" -A "$USER_AGENT" | jq -r ".country_code" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +ip_sb_lookup_v6() { + result=$(timeout 3 curl -4 -s "https://api.ip.sb/geoip/$external_ipv6" -A "$USER_AGENT" | jq -r ".country_code" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi } maxmind_com_lookup() { - curl -s "https://geoip.maxmind.com/geoip/v2.1/city/me" -H "Referer: https://www.maxmind.com" | jq -r ".country.iso_code" + result=$(timeout 3 curl -4 -s "https://geoip.maxmind.com/geoip/v2.1/city/me" -H "Referer: https://www.maxmind.com" | jq -r ".country.iso_code" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi +} + +maxmind_com_lookup_v6() { + result=$(timeout 3 curl -6 -s "https://geoip.maxmind.com/geoip/v2.1/city/me" -H "Referer: https://www.maxmind.com" | jq -r ".country.iso_code" 2>/dev/null) + if [ $? -eq 124 ]; then + echo "" + elif [ "$result" == "null" ]; then + echo "" + elif [ ${#result} -gt 7 ]; then + echo "" + else + echo "$result" + fi } main() { @@ -292,36 +946,59 @@ main() { declare -a results get_ipv4 - - check_service "$RIPE_DOMAIN" ripe_rdap_lookup - check_service "$IPINFO_DOMAIN" ipinfo_io_lookup - check_service "$IPREGISTRY_DOMAIN" ipregistry_co_lookup - check_service "$IPAPI_DOMAIN" ipapi_com_lookup - check_service "$DB_IP_DOMAIN" db_ip_com_lookup - check_service "$IPDATA_DOMAIN" ipdata_co_lookup - check_service "$IPWHOIS_DOMAIN" ipwhois_io_lookup - check_service "$IFCONFIG_DOMAIN" ifconfig_co_lookup - check_service "$WHOER_DOMAIN" whoer_net_lookup - check_service "$IPQUERY_DOMAIN" ipquery_io_lookup - check_service "$COUNTRY_IS_DOMAIN" country_is_lookup - check_service "$CLEANTALK_DOMAIN" cleantalk_org_lookup - check_service "$IP_API_DOMAIN" ip_api_com_lookup - # NOTE: Disabled due to captcha - # check_service "$IPGEOLOCATION_DOMAIN" ipgeolocation_io_lookup - check_service "$IPAPI_CO_DOMAIN" ipapi_co_lookup - # NOTE: Disabled due to captcha - # check_service "$FINDIP_DOMAIN" findip_net_lookup - check_service "$GEOJS_DOMAIN" geojs_io_lookup - check_service "$IPLOCATION_DOMAIN" iplocation_com_lookup - check_service "$GEOAPIFY_DOMAIN" geoapify_com_lookup - check_service "$IPAPI_IS_DOMAIN" ipapi_is_lookup - check_service "$FREEIPAPI_DOMAIN" freeipapi_com_lookup - check_service "$IPBASE_DOMAIN" ipbase_com_lookup - check_service "$IP_SB_DOMAIN" ip_sb_lookup - check_service "$MAXMIND_COM_DOMAIN" maxmind_com_lookup + + if IPV6_ADDR=$(ip -6 addr show scope global | awk '/inet6/ {print $2}' | cut -d'/' -f1) && [ -n "$IPV6_ADDR" ]; then + get_ipv6 + check_service "$CLOUDFLARE_DOMAIN" cloudflare_lookup cloudflare_lookup_v6 + check_service "$COUNTRY_IS_DOMAIN" country_is_lookup country_is_lookup_v6 + check_service "$DB_IP_DOMAIN" db_ip_com_lookup db_ip_com_lookup_v6 + check_service "$FREEIPAPI_DOMAIN" freeipapi_com_lookup freeipapi_com_lookup_v6 + check_service "$GEOAPIFY_DOMAIN" geoapify_com_lookup geoapify_com_lookup_v6 + check_service "$GEOJS_DOMAIN" geojs_io_lookup geojs_io_lookup_v6 + check_service "$IFCONFIG_DOMAIN" ifconfig_co_lookup ifconfig_co_lookup_v6 + check_service "$IPAPI_DOMAIN" ipapi_com_lookup ipapi_com_lookup_v6 + check_service "$IPAPI_CO_DOMAIN" ipapi_co_lookup ipapi_co_lookup_v6 + check_service "$IPAPI_IS_DOMAIN" ipapi_is_lookup ipapi_is_lookup_v6 + check_service "$IPBASE_DOMAIN" ipbase_com_lookup ipbase_com_lookup_v6 + check_service "$IPDATA_DOMAIN" ipdata_co_lookup ipdata_co_lookup_v6 + check_service "$IPINFO_DOMAIN" ipinfo_io_lookup ipinfo_io_lookup_v6 + check_service "$IPLOCATION_DOMAIN" iplocation_com_lookup iplocation_com_lookup_v6 + check_service "$IPQUERY_DOMAIN" ipquery_io_lookup ipquery_io_lookup_v6 + check_service "$IPREGISTRY_DOMAIN" ipregistry_co_lookup ipregistry_co_lookup_v6 + check_service "$IPWHOIS_DOMAIN" ipwhois_io_lookup ipwhois_io_lookup_v6 + check_service "$IP_SB_DOMAIN" ip_sb_lookup ip_sb_lookup_v6 + check_service "$MAXMIND_COM_DOMAIN" maxmind_com_lookup maxmind_com_lookup_v6 + check_service "$RIPE_DOMAIN" ripe_rdap_lookup ripe_rdap_lookup_v6 + check_service "$WHOER_DOMAIN" whoer_net_lookup whoer_net_lookup_v6 + check_service "$YOUTUBE_DOMAIN" youtube_lookup youtube_lookup_v6 +else + check_service "$CLOUDFLARE_DOMAIN" cloudflare_lookup + check_service "$COUNTRY_IS_DOMAIN" country_is_lookup + check_service "$DB_IP_DOMAIN" db_ip_com_lookup + check_service "$FREEIPAPI_DOMAIN" freeipapi_com_lookup + check_service "$GEOAPIFY_DOMAIN" geoapify_com_lookup + check_service "$GEOJS_DOMAIN" geojs_io_lookup + check_service "$IFCONFIG_DOMAIN" ifconfig_co_lookup + check_service "$IPAPI_DOMAIN" ipapi_com_lookup + check_service "$IPAPI_CO_DOMAIN" ipapi_co_lookup + check_service "$IPAPI_IS_DOMAIN" ipapi_is_lookup + check_service "$IPBASE_DOMAIN" ipbase_com_lookup + check_service "$IPDATA_DOMAIN" ipdata_co_lookup + check_service "$IPINFO_DOMAIN" ipinfo_io_lookup + check_service "$IPLOCATION_DOMAIN" iplocation_com_lookup + check_service "$IPQUERY_DOMAIN" ipquery_io_lookup + check_service "$IPREGISTRY_DOMAIN" ipregistry_co_lookup + check_service "$IPWHOIS_DOMAIN" ipwhois_io_lookup + check_service "$IP_SB_DOMAIN" ip_sb_lookup + check_service "$MAXMIND_COM_DOMAIN" maxmind_com_lookup + check_service "$RIPE_DOMAIN" ripe_rdap_lookup + check_service "$WHOER_DOMAIN" whoer_net_lookup + check_service "$YOUTUBE_DOMAIN" youtube_lookup +fi clear_screen - + clear_screen + print_results } diff --git a/test_example.jpg b/test_example.jpg new file mode 100644 index 0000000000000000000000000000000000000000..aec26f1d96dac805057226721228f248438ac3b6 GIT binary patch literal 81292 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

pT8&9)W0VocS*$gB3f}HQ7x)32l!%s>pOv_5 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 BxX_wm~6-w)*sAbe#7wYX#D_P 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 literal 0 HcmV?d00001