0% found this document useful (0 votes)
537 views

Script Track IP Termux

This Bash script provides a menu-driven tool for obtaining IP address details. It displays a banner and menu with options to lookup the user's IP or an entered IP address. Selecting an IP option calls a function to retrieve location and other metadata from IP APIs, then displays the results along with a Google Maps link. The user can then return to the main menu or exit.

Uploaded by

Asep
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
537 views

Script Track IP Termux

This Bash script provides a menu-driven tool for obtaining IP address details. It displays a banner and menu with options to lookup the user's IP or an entered IP address. Selecting an IP option calls a function to retrieve location and other metadata from IP APIs, then displays the results along with a Google Maps link. The user can then return to the main menu or exit.

Uploaded by

Asep
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 5

#!

/bin/bash

banner() {

clear
printf "\e[0m\n"
printf "\e[1;33m _______ _ \e[0m\e[1;32m _____ \e[0m\n"
printf "\e[1;33m |__ __| | | \e[0m\e[1;32m |_ _| \e[0m\n"
printf "\e[1;33m | |_ __ __ _ ___| | __ \e[0m\e[1;32m | | _ __ \e[0m\n"
printf "\e[1;33m | | __/ _ |/ __| |/ / \e[0m\e[1;32m | | | _ \ \e[0m\n"
printf "\e[1;33m | | | | (_| | (__| < \e[0m\e[1;32m _| |_| |_) |\e[0m\n"
printf "\e[1;33m |_|_| \__,_|\___|_|\_\ \e[0m\e[1;32m |_____| .__/ \e[0m\n"
printf "\e[1;32m | | \e[0m\n"
printf "\e[1;32m |_| \e[0m\n"
printf "\e[0m\n"
printf "\e[0m\e[1;33m Created By HTR-TECH \e[0m\e[1;31m(\e[0m\e[1;33m TAHMID
RAYAT \e[0m\e[1;31m)\e[0m\n"

menu() {
printf "\e[0m\n"
printf "\e[0m\e[1;31m [\e[0m\e[1;37m01\e[0m\e[1;31m]\e[0m\e[1;33m My IP\e[0m\n"
printf "\e[0m\e[1;31m [\e[0m\e[1;37m02\e[0m\e[1;31m]\e[0m\e[1;33m Track Ip\e[0m\n"
printf "\e[0m\e[1;31m [\e[0m\e[1;37m00\e[0m\e[1;31m]\e[0m\e[1;33m Exit\e[0m\n"
printf "\e[0m\n"
read -p $' \e[1;31m[\e[0m\e[1;37m~\e[0m\e[1;31m]\e[0m\e[1;92m Select An Option \
e[0m\e[1;96m: \e[0m\e[1;93m\en' option

if [[ $option == 1 || $option == 01 ]]; then


myipaddr
elif [[ $option == 2 || $option == 02 ]]; then
useripaddr
elif [[ $option == 0 || $option == 00 ]]; then
sleep 1
printf "\e[0m\n"
printf "\e[0m\n"
exit 1

else
printf " \e[1;91m[\e[0m\e[1;97m!\e[0m\e[1;91m]\e[0m\e[1;93m Invalid option \
e[1;91m[\e[0m\e[1;97m!\e[0m\e[1;91m]\e[0m\n"
sleep 1
banner
menu
fi

}
myipaddr() {

myipaddripapico=$(curl -s "https://ipapi.co//json" -L)


myipaddripapicom=$(curl -s "http://ip-api.com/json/" -L)
myip=$(echo $myipaddripapico | grep -Po '(?<="ip":)[^,]*' | tr -d '[]"')
mycity=$(echo $myipaddripapico | grep -Po '(?<="city":)[^},]*' | tr -d '[]"' | sed
's/\(<[^>]*>\|<\/>\|{1|}\)//g')
myregion=$(echo $myipaddripapico | grep -Po '(?<="region":)[^},]*' | tr -d '[]"' |
sed 's/\(<[^>]*>\|<\/>\|{1|}\)//g')
mycountry=$(echo $myipaddripapico | grep -Po '(?<="country_name":)[^},]*' | tr -d
'[]"' | sed 's/\(<[^>]*>\|<\/>\|{1|}\)//g')
mylat=$(echo $myipaddripapicom | grep -Po '(?<="lat":)[^},]*' | tr -d '[]"' | sed
's/\(<[^>]*>\|<\/>\|{1|}\)//g')
mylon=$(echo $myipaddripapicom | grep -Po '(?<="lon":)[^},]*' | tr -d '[]"' | sed
's/\(<[^>]*>\|<\/>\|{1|}\)//g')
mytime=$(echo $myipaddripapicom | grep -Po '(?<="timezone":)[^},]*' | tr -d '[]"' |
sed 's/\(<[^>]*>\|<\/>\|{1|}\)//g')
mypostal=$(echo $myipaddripapicom | grep -Po '(?<="zip":)[^},]*' | tr -d '[]"' |
sed 's/\(<[^>]*>\|<\/>\|{1|}\)//g')
myisp=$(echo $myipaddripapico | grep -Po '(?<="org":)[^},]*' | tr -d '[]"' | sed
's/\(<[^>]*>\|<\/>\|{1|}\)//g')
myasn=$(echo $myipaddripapico | grep -Po '(?<="asn":)[^},]*' | tr -d '[]"' | sed
's/\(<[^>]*>\|<\/>\|{1|}\)//g')
mycountrycode=$(echo $myipaddripapico | grep -Po '(?<="country_code":)[^},]*' | tr
-d '[]"' | sed 's/\(<[^>]*>\|<\/>\|{1|}\)//g')
mycurrency=$(echo $myipaddripapico | grep -Po '(?<="currency":)[^},]*' | tr -d
'[]"' | sed 's/\(<[^>]*>\|<\/>\|{1|}\)//g')
mylanguage=$(echo $myipaddripapico | grep -Po '(?<="languages":)[^},]*' | tr -d
'[]"' | sed 's/\(<[^>]*>\|<\/>\|{1|}\)//g')
mycalling=$(echo $myipaddripapico | grep -Po '(?<="country_calling_code":)[^},]*' |
tr -d '[]"' | sed 's/\(<[^>]*>\|<\/>\|{1|}\)//g')

banner
printf "\e[0m\n"
printf "\e[0m\n"
printf " \e[0m\e[1;93m Ip Address \e[0m\e[1;96m:\e[0m\e[1;92m $myip\e[0m\n"
printf " \e[0m\e[1;93m City \e[0m\e[1;96m:\e[0m\e[1;92m $mycity\e[0m\
n"
printf " \e[0m\e[1;93m Region \e[0m\e[1;96m:\e[0m\e[1;92m $myregion\
e[0m\n"
printf " \e[0m\e[1;93m Country \e[0m\e[1;96m:\e[0m\e[1;92m $mycountry\
e[0m\n"
printf "\e[0m\n"
printf " \e[0m\e[1;93m Latitude \e[0m\e[1;96m:\e[0m\e[1;92m $mylat\e[0m\
n"
printf " \e[0m\e[1;93m Longitude \e[0m\e[1;96m:\e[0m\e[1;92m $mylon\e[0m\
n"
printf " \e[0m\e[1;93m Time Zone \e[0m\e[1;96m:\e[0m\e[1;92m $mytime\e[0m\
n"
printf " \e[0m\e[1;93m Postal Code \e[0m\e[1;96m:\e[0m\e[1;92m $mypostal\
e[0m\n"
printf "\e[0m\n"
printf " \e[0m\e[1;93m ISP \e[0m\e[1;96m:\e[0m\e[1;92m $myisp\e[0m\n"
printf " \e[0m\e[1;93m ASN \e[0m\e[1;96m:\e[0m\e[1;92m $myasn\e[0m\n"
printf "\e[0m\n"
printf " \e[0m\e[1;93m Country Code \e[0m\e[1;96m:\e[0m\e[1;92m
$mycountrycode\e[0m\n"
printf " \e[0m\e[1;93m Currency \e[0m\e[1;96m:\e[0m\e[1;92m $mycurrency\
e[0m\n"
printf " \e[0m\e[1;93m Languages \e[0m\e[1;96m:\e[0m\e[1;92m $mylanguage\
e[0m\n"
printf " \e[0m\e[1;93m Calling Code \e[0m\e[1;96m:\e[0m\e[1;92m $mycalling\
e[0m\n"
printf "\e[0m\n"
printf " \e[0m\e[1;93m GOOGLE Maps \e[0m\e[1;96m:\e[0m\e[1;94m
https://maps.google.com/?q=$mylat,$mylon\e[0m\n"
sleep 5
printf "\e[0m\n"
printf " \e[0m\e[1;91m[\e[0m\e[1;97m01\e[0m\e[1;91m]\e[0m\e[1;93m Return To Main
Menu\e[0m\n"
printf " \e[0m\e[1;91m[\e[0m\e[1;97m02\e[0m\e[1;91m]\e[0m\e[1;93m Exit\e[0m\n"
printf "\e[0m\n"
read -p $' \e[1;31m>>\e[0m\e[1;96m \en' mainorexit1

if [[ $mainorexit1 == 1 || $mainorexit1 == 01 ]]; then


banner
menu
elif [[ $mainorexit1 == 2 || $mainorexit1 == 02 ]]; then
printf "\e[0m\n"
printf "\e[0m\n"
exit 1

else
printf " \e[1;91m[\e[0m\e[1;97m!\e[0m\e[1;91m]\e[0m\e[1;93m Invalid option \
e[1;91m[\e[0m\e[1;97m!\e[0m\e[1;91m]\e[0m\n"
sleep 1
banner
menu
fi

useripaddr() {

banner
printf "\e[0m\n"
printf "\e[0m\n"
printf "\e[0m\n"
read -p $' \e[1;31m[\e[0m\e[1;37m~\e[0m\e[1;31m]\e[0m\e[1;92m Input IP Address \
e[0m\e[1;96m: \e[0m\e[1;93m\en' useripaddress

ipaddripapico=$(curl -s "https://ipapi.co/$useripaddress/json" -L)


ipaddripapicom=$(curl -s "http://ip-api.com/json/$useripaddress" -L)
userip=$(echo $ipaddripapico | grep -Po '(?<="ip":)[^,]*' | tr -d '[]"')
usercity=$(echo $ipaddripapico | grep -Po '(?<="city":)[^},]*' | tr -d '[]"' | sed
's/\(<[^>]*>\|<\/>\|{1|}\)//g')
useregion=$(echo $ipaddripapico | grep -Po '(?<="region":)[^},]*' | tr -d '[]"' |
sed 's/\(<[^>]*>\|<\/>\|{1|}\)//g')
usercountry=$(echo $ipaddripapico | grep -Po '(?<="country_name":)[^},]*' | tr -d
'[]"' | sed 's/\(<[^>]*>\|<\/>\|{1|}\)//g')
userlat=$(echo $ipaddripapicom | grep -Po '(?<="lat":)[^},]*' | tr -d '[]"' | sed
's/\(<[^>]*>\|<\/>\|{1|}\)//g')
userlon=$(echo $ipaddripapicom | grep -Po '(?<="lon":)[^},]*' | tr -d '[]"' | sed
's/\(<[^>]*>\|<\/>\|{1|}\)//g')
usertime=$(echo $ipaddripapicom | grep -Po '(?<="timezone":)[^},]*' | tr -d '[]"' |
sed 's/\(<[^>]*>\|<\/>\|{1|}\)//g')
userpostal=$(echo $ipaddripapicom | grep -Po '(?<="zip":)[^},]*' | tr -d '[]"' |
sed 's/\(<[^>]*>\|<\/>\|{1|}\)//g')
userisp=$(echo $ipaddripapico | grep -Po '(?<="org":)[^},]*' | tr -d '[]"' | sed
's/\(<[^>]*>\|<\/>\|{1|}\)//g')
userasn=$(echo $ipaddripapico | grep -Po '(?<="asn":)[^},]*' | tr -d '[]"' | sed
's/\(<[^>]*>\|<\/>\|{1|}\)//g')
usercountrycode=$(echo $ipaddripapico | grep -Po '(?<="country_code":)[^},]*' | tr
-d '[]"' | sed 's/\(<[^>]*>\|<\/>\|{1|}\)//g')
usercurrency=$(echo $ipaddripapico | grep -Po '(?<="currency":)[^},]*' | tr -d
'[]"' | sed 's/\(<[^>]*>\|<\/>\|{1|}\)//g')
userlanguage=$(echo $ipaddripapico | grep -Po '(?<="languages":)[^},]*' | tr -d
'[]"' | sed 's/\(<[^>]*>\|<\/>\|{1|}\)//g')
usercalling=$(echo $ipaddripapico | grep -Po '(?<="country_calling_code":)[^},]*' |
tr -d '[]"' | sed 's/\(<[^>]*>\|<\/>\|{1|}\)//g')

banner
printf "\e[0m\n"
printf "\e[0m\n"
printf " \e[0m\e[1;93m Ip Address \e[0m\e[1;96m:\e[0m\e[1;92m $userip\e[0m\
n"
printf " \e[0m\e[1;93m City \e[0m\e[1;96m:\e[0m\e[1;92m $usercity\
e[0m\n"
printf " \e[0m\e[1;93m Region \e[0m\e[1;96m:\e[0m\e[1;92m $useregion\
e[0m\n"
printf " \e[0m\e[1;93m Country \e[0m\e[1;96m:\e[0m\e[1;92m $usercountry\
e[0m\n"
printf "\e[0m\n"
printf " \e[0m\e[1;93m Latitude \e[0m\e[1;96m:\e[0m\e[1;92m $userlat\
e[0m\n"
printf " \e[0m\e[1;93m Longitude \e[0m\e[1;96m:\e[0m\e[1;92m $userlon\
e[0m\n"
printf " \e[0m\e[1;93m Time Zone \e[0m\e[1;96m:\e[0m\e[1;92m $usertime\
e[0m\n"
printf " \e[0m\e[1;93m Postal Code \e[0m\e[1;96m:\e[0m\e[1;92m $userpostal\
e[0m\n"
printf "\e[0m\n"
printf " \e[0m\e[1;93m ISP \e[0m\e[1;96m:\e[0m\e[1;92m $userisp\e[0m\
n"
printf " \e[0m\e[1;93m ASN \e[0m\e[1;96m:\e[0m\e[1;92m $userasn\e[0m\
n"
printf "\e[0m\n"
printf " \e[0m\e[1;93m Country Code \e[0m\e[1;96m:\e[0m\e[1;92m
$usercountrycode\e[0m\n"
printf " \e[0m\e[1;93m Currency \e[0m\e[1;96m:\e[0m\e[1;92m $usercurrency\
e[0m\n"
printf " \e[0m\e[1;93m Languages \e[0m\e[1;96m:\e[0m\e[1;92m $userlanguage\
e[0m\n"
printf " \e[0m\e[1;93m Calling Code \e[0m\e[1;96m:\e[0m\e[1;92m $usercalling\
e[0m\n"
printf "\e[0m\n"
printf " \e[0m\e[1;93m GOOGLE Maps \e[0m\e[1;96m:\e[0m\e[1;94m
https://maps.google.com/?q=$userlat,$userlon\e[0m\n"
sleep 5
printf "\e[0m\n"
printf " \e[0m\e[1;91m[\e[0m\e[1;97m01\e[0m\e[1;91m]\e[0m\e[1;93m Return To Main
Menu\e[0m\n"
printf " \e[0m\e[1;91m[\e[0m\e[1;97m02\e[0m\e[1;91m]\e[0m\e[1;93m Exit\e[0m\n"
printf "\e[0m\n"
read -p $' \e[1;31m>>\e[0m\e[1;96m \en' mainorexit2

if [[ $mainorexit2 == 1 || $mainorexit2 == 01 ]]; then


banner
menu
elif [[ $mainorexit2 == 2 || $mainorexit2 == 02 ]]; then
printf "\e[0m\n"
printf "\e[0m\n"
exit 1

else
printf " \e[1;91m[\e[0m\e[1;97m!\e[0m\e[1;91m]\e[0m\e[1;93m Invalid option \
e[1;91m[\e[0m\e[1;97m!\e[0m\e[1;91m]\e[0m\n"
sleep 1
banner
menu
fi

banner
menu

You might also like