mirror of
https://github.com/HunxByts/GhostTrack.git
synced 2026-09-20 11:33:33 +08:00
Reworked the entire scripts for future code expansion. Retain old functionality
This commit is contained in:
494
GhostTR.py
494
GhostTR.py
@@ -4,7 +4,7 @@
|
|||||||
# << KALAU DI ATAS TIDAK DI IKUTI MAKA AKAN MENDAPATKAN DOSA KARENA MIMIN GAK IKHLAS
|
# << KALAU DI ATAS TIDAK DI IKUTI MAKA AKAN MENDAPATKAN DOSA KARENA MIMIN GAK IKHLAS
|
||||||
# “Wahai orang-orang yang beriman! Janganlah kamu saling memakan harta sesamamu dengan jalan yang batil,” (QS. An Nisaa': 29). Rasulullah SAW juga melarang umatnya untuk mengambil hak orang lain tanpa izin.
|
# “Wahai orang-orang yang beriman! Janganlah kamu saling memakan harta sesamamu dengan jalan yang batil,” (QS. An Nisaa': 29). Rasulullah SAW juga melarang umatnya untuk mengambil hak orang lain tanpa izin.
|
||||||
|
|
||||||
#IMPORT MODULE
|
# IMPORT MODULE
|
||||||
|
|
||||||
import json
|
import json
|
||||||
import requests
|
import requests
|
||||||
@@ -14,215 +14,116 @@ import phonenumbers
|
|||||||
from phonenumbers import carrier, geocoder, timezone
|
from phonenumbers import carrier, geocoder, timezone
|
||||||
from sys import stderr
|
from sys import stderr
|
||||||
|
|
||||||
|
Bl = '\033[30m' # VARIABLE BUAT WARNA CUYY
|
||||||
Bl='\033[30m' # VARIABLE BUAT WARNA CUYY
|
Re = '\033[1;31m'
|
||||||
Re='\033[1;31m'
|
Gr = '\033[1;32m'
|
||||||
Gr='\033[1;32m'
|
Ye = '\033[1;33m'
|
||||||
Ye='\033[1;33m'
|
Blu = '\033[1;34m'
|
||||||
Blu='\033[1;34m'
|
Mage = '\033[1;35m'
|
||||||
Mage='\033[1;35m'
|
Cy = '\033[1;36m'
|
||||||
Cy='\033[1;36m'
|
Wh = '\033[1;37m'
|
||||||
Wh='\033[1;37m'
|
|
||||||
|
|
||||||
#BANNER TOOLS
|
|
||||||
os.system('clear')
|
|
||||||
stderr.writelines(f"""{Gr}
|
|
||||||
________ __ ______ __
|
|
||||||
/ ____/ /_ ____ _____/ /_ /_ __/________ ______/ /__
|
|
||||||
/ / __/ __ \/ __ \/ ___/ __/_____/ / / ___/ __ `/ ___/ //_/
|
|
||||||
/ /_/ / / / / /_/ (__ ) /_/_____/ / / / / /_/ / /__/ ,<
|
|
||||||
\____/_/ /_/\____/____/\__/ /_/ /_/ \__,_/\___/_/|_|
|
|
||||||
|
|
||||||
{Wh}[ + ] C O D E B Y H U N X [ + ]
|
|
||||||
|
|
||||||
{Wh}[ 1 ] {Gr}IP Tracker
|
|
||||||
{Wh}[ 2 ] {Gr}Show Your IP
|
|
||||||
{Wh}[ 3 ] {Gr}Phone Tracker
|
|
||||||
{Wh}[ 4 ] {Gr}Username Tracker
|
|
||||||
{Wh}[ 0 ] {Gr}Exit
|
|
||||||
""")
|
|
||||||
|
|
||||||
input_user = input(f'\n {Wh}@Ghost~# {Gr}') #OPSI MENU
|
|
||||||
|
|
||||||
|
|
||||||
if input_user == '1': #OPSI 1
|
# utilities
|
||||||
os.system('clear')
|
|
||||||
time.sleep(1)
|
|
||||||
stderr.writelines(f"""{Wh}
|
|
||||||
.-.
|
|
||||||
.' `. {Wh}--------------------------------
|
|
||||||
:g g : {Wh}| {Gr}GHOST - TRACKER - IP ADDRESS {Wh}|
|
|
||||||
: o `. {Wh}| {Gr}@CODE BY HUNXBYTS {Wh}|
|
|
||||||
: ``. {Wh}--------------------------------
|
|
||||||
: `.
|
|
||||||
: : . `.
|
|
||||||
: : ` . `.
|
|
||||||
`.. : `. ``;
|
|
||||||
`:; `:'
|
|
||||||
: `.
|
|
||||||
`. `. .
|
|
||||||
`'`'`'`---..,___`;.-'
|
|
||||||
""")
|
|
||||||
|
|
||||||
|
# decorator for attaching run_banner to a function
|
||||||
|
def is_option(func):
|
||||||
|
def wrapper(*args, **kwargs):
|
||||||
|
run_banner()
|
||||||
|
func(*args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
return wrapper
|
||||||
|
|
||||||
|
|
||||||
|
# FUNCTIONS FOR MENU
|
||||||
|
@is_option
|
||||||
|
def IP_Track():
|
||||||
|
ip = input(f"{Wh}\n Enter IP target : {Gr}") # INPUT IP ADDRESS
|
||||||
|
print()
|
||||||
|
print(f' {Wh}============= {Gr}SHOW INFORMATION IP ADDRESS {Wh}=============')
|
||||||
|
req_api = requests.get(f"http://ipwho.is/{ip}") # API IPWHOIS.IS
|
||||||
|
ip_data = json.loads(req_api.text)
|
||||||
|
time.sleep(2)
|
||||||
|
print(f"{Wh}\n IP target :{Gr}", ip)
|
||||||
|
print(f"{Wh} Type IP :{Gr}", ip_data["type"])
|
||||||
|
print(f"{Wh} Country :{Gr}", ip_data["country"])
|
||||||
|
print(f"{Wh} Country Code :{Gr}", ip_data["country_code"])
|
||||||
|
print(f"{Wh} City :{Gr}", ip_data["city"])
|
||||||
|
print(f"{Wh} Continent :{Gr}", ip_data["continent"])
|
||||||
|
print(f"{Wh} Continent Code :{Gr}", ip_data["continent_code"])
|
||||||
|
print(f"{Wh} Region :{Gr}", ip_data["region"])
|
||||||
|
print(f"{Wh} Region Code :{Gr}", ip_data["region_code"])
|
||||||
|
print(f"{Wh} Latitude :{Gr}", ip_data["latitude"])
|
||||||
|
print(f"{Wh} Longitude :{Gr}", ip_data["longitude"])
|
||||||
|
lat = int(ip_data['latitude'])
|
||||||
|
lon = int(ip_data['longitude'])
|
||||||
|
print(f"{Wh} Maps :{Gr}", f"https://www.google.com/maps/@{lat},{lon},8z")
|
||||||
|
print(f"{Wh} EU :{Gr}", ip_data["is_eu"])
|
||||||
|
print(f"{Wh} Postal :{Gr}", ip_data["postal"])
|
||||||
|
print(f"{Wh} Calling Code :{Gr}", ip_data["calling_code"])
|
||||||
|
print(f"{Wh} Capital :{Gr}", ip_data["capital"])
|
||||||
|
print(f"{Wh} Borders :{Gr}", ip_data["borders"])
|
||||||
|
print(f"{Wh} Country Flag :{Gr}", ip_data["flag"]["emoji"])
|
||||||
|
print(f"{Wh} ASN :{Gr}", ip_data["connection"]["asn"])
|
||||||
|
print(f"{Wh} ORG :{Gr}", ip_data["connection"]["org"])
|
||||||
|
print(f"{Wh} ISP :{Gr}", ip_data["connection"]["isp"])
|
||||||
|
print(f"{Wh} Domain :{Gr}", ip_data["connection"]["domain"])
|
||||||
|
print(f"{Wh} ID :{Gr}", ip_data["timezone"]["id"])
|
||||||
|
print(f"{Wh} ABBR :{Gr}", ip_data["timezone"]["abbr"])
|
||||||
|
print(f"{Wh} DST :{Gr}", ip_data["timezone"]["is_dst"])
|
||||||
|
print(f"{Wh} Offset :{Gr}", ip_data["timezone"]["offset"])
|
||||||
|
print(f"{Wh} UTC :{Gr}", ip_data["timezone"]["utc"])
|
||||||
|
print(f"{Wh} Current Time :{Gr}", ip_data["timezone"]["current_time"])
|
||||||
|
|
||||||
|
|
||||||
|
@is_option
|
||||||
|
def phoneGW():
|
||||||
|
User_phone = input(
|
||||||
|
f"\n {Wh}Enter phone number target {Gr}Ex [+6281xxxxxxxxx] {Wh}: {Gr}") # INPUT NUMBER PHONE
|
||||||
|
default_region = "ID" # DEFAULT NEGARA INDONESIA
|
||||||
|
|
||||||
|
parsed_number = phonenumbers.parse(User_phone, default_region) # VARIABLE PHONENUMBERS
|
||||||
|
region_code = phonenumbers.region_code_for_number(parsed_number)
|
||||||
|
jenis_provider = carrier.name_for_number(parsed_number, "en")
|
||||||
|
location = geocoder.description_for_number(parsed_number, "id")
|
||||||
|
is_valid_number = phonenumbers.is_valid_number(parsed_number)
|
||||||
|
is_possible_number = phonenumbers.is_possible_number(parsed_number)
|
||||||
|
formatted_number = phonenumbers.format_number(parsed_number, phonenumbers.PhoneNumberFormat.INTERNATIONAL)
|
||||||
|
formatted_number_for_mobile = phonenumbers.format_number_for_mobile_dialing(parsed_number, default_region,
|
||||||
|
with_formatting=True)
|
||||||
|
number_type = phonenumbers.number_type(parsed_number)
|
||||||
|
timezone1 = timezone.time_zones_for_number(parsed_number)
|
||||||
|
timezoneF = ', '.join(timezone1)
|
||||||
|
|
||||||
|
print(f"\n {Wh}========== {Gr}SHOW INFORMATION PHONE NUMBERS {Wh}==========")
|
||||||
|
print(f"\n {Wh}Location :{Gr} {location}")
|
||||||
|
print(f" {Wh}Region Code :{Gr} {region_code}")
|
||||||
|
print(f" {Wh}Timezone :{Gr} {timezoneF}")
|
||||||
|
print(f" {Wh}Operator :{Gr} {jenis_provider}")
|
||||||
|
print(f" {Wh}Valid number :{Gr} {is_valid_number}")
|
||||||
|
print(f" {Wh}Possible number :{Gr} {is_possible_number}")
|
||||||
|
print(f" {Wh}International format :{Gr} {formatted_number}")
|
||||||
|
print(f" {Wh}Mobile format :{Gr} {formatted_number_for_mobile}")
|
||||||
|
print(f" {Wh}Original number :{Gr} {parsed_number.national_number}")
|
||||||
|
print(
|
||||||
|
f" {Wh}E.164 format :{Gr} {phonenumbers.format_number(parsed_number, phonenumbers.PhoneNumberFormat.E164)}")
|
||||||
|
print(f" {Wh}Country code :{Gr} {parsed_number.country_code}")
|
||||||
|
print(f" {Wh}Local number :{Gr} {parsed_number.national_number}")
|
||||||
|
if number_type == phonenumbers.PhoneNumberType.MOBILE:
|
||||||
|
print(f" {Wh}Type :{Gr} This is a mobile number")
|
||||||
|
elif number_type == phonenumbers.PhoneNumberType.FIXED_LINE:
|
||||||
|
print(f" {Wh}Type :{Gr} This is a fixed-line number")
|
||||||
|
else:
|
||||||
|
print(f" {Wh}Type :{Gr} This is another type of number")
|
||||||
|
|
||||||
|
|
||||||
|
@is_option
|
||||||
|
def TrackLu():
|
||||||
try:
|
try:
|
||||||
def IP_Track():
|
username = input(f"\n {Wh}Enter Username : {Gr}")
|
||||||
ip = input(f"{Wh}\n Enter IP target : {Gr}") #INPUT IP ADDRESS
|
results = {}
|
||||||
print()
|
social_media = [
|
||||||
print(f' {Wh}============= {Gr}SHOW INFORMATION IP ADDRESS {Wh}=============')
|
|
||||||
req_api = requests.get(f"http://ipwho.is/{ip}") #API IPWHOIS.IS
|
|
||||||
ip_data = json.loads(req_api.text)
|
|
||||||
time.sleep(2)
|
|
||||||
print(f"{Wh}\n IP target :{Gr}", ip)
|
|
||||||
print(f"{Wh} Type IP :{Gr}", ip_data["type"])
|
|
||||||
print(f"{Wh} Country :{Gr}", ip_data["country"])
|
|
||||||
print(f"{Wh} Country Code :{Gr}", ip_data["country_code"])
|
|
||||||
print(f"{Wh} City :{Gr}", ip_data["city"])
|
|
||||||
print(f"{Wh} Continent :{Gr}", ip_data["continent"])
|
|
||||||
print(f"{Wh} Continent Code :{Gr}", ip_data["continent_code"])
|
|
||||||
print(f"{Wh} Region :{Gr}", ip_data["region"])
|
|
||||||
print(f"{Wh} Region Code :{Gr}", ip_data["region_code"])
|
|
||||||
print(f"{Wh} Latitude :{Gr}", ip_data["latitude"])
|
|
||||||
print(f"{Wh} Longitude :{Gr}", ip_data["longitude"])
|
|
||||||
lat = int(ip_data['latitude'])
|
|
||||||
lon = int(ip_data['longitude'])
|
|
||||||
print(f"{Wh} Maps :{Gr}",f"https://www.google.com/maps/@{lat},{lon},8z")
|
|
||||||
print(f"{Wh} EU :{Gr}", ip_data["is_eu"])
|
|
||||||
print(f"{Wh} Postal :{Gr}", ip_data["postal"])
|
|
||||||
print(f"{Wh} Calling Code :{Gr}", ip_data["calling_code"])
|
|
||||||
print(f"{Wh} Capital :{Gr}", ip_data["capital"])
|
|
||||||
print(f"{Wh} Borders :{Gr}", ip_data["borders"])
|
|
||||||
print(f"{Wh} Country Flag :{Gr}", ip_data["flag"]["emoji"])
|
|
||||||
print(f"{Wh} ASN :{Gr}", ip_data["connection"]["asn"])
|
|
||||||
print(f"{Wh} ORG :{Gr}", ip_data["connection"]["org"])
|
|
||||||
print(f"{Wh} ISP :{Gr}", ip_data["connection"]["isp"])
|
|
||||||
print(f"{Wh} Domain :{Gr}", ip_data["connection"]["domain"])
|
|
||||||
print(f"{Wh} ID :{Gr}", ip_data["timezone"]["id"])
|
|
||||||
print(f"{Wh} ABBR :{Gr}", ip_data["timezone"]["abbr"])
|
|
||||||
print(f"{Wh} DST :{Gr}", ip_data["timezone"]["is_dst"])
|
|
||||||
print(f"{Wh} Offset :{Gr}", ip_data["timezone"]["offset"])
|
|
||||||
print(f"{Wh} UTC :{Gr}", ip_data["timezone"]["utc"])
|
|
||||||
print(f"{Wh} Current Time :{Gr}", ip_data["timezone"]["current_time"])
|
|
||||||
if __name__ == '__main__':
|
|
||||||
IP_Track()
|
|
||||||
except KeyboardInterrupt:
|
|
||||||
print(f" {Wh}[{Ye}!{Wh}] {Ye}PROGRAM STOPPED...")
|
|
||||||
|
|
||||||
elif input_user == '3': #OPSI 2
|
|
||||||
os.system('clear')
|
|
||||||
time.sleep(1)
|
|
||||||
stderr.writelines(f"""{Wh}
|
|
||||||
.-.
|
|
||||||
.' `. {Wh}----------------------------------
|
|
||||||
:g g : {Wh}| {Gr}GHOST - TRACKER - PHONE NUMBER {Wh}|
|
|
||||||
: o `. {Wh}| {Gr}@CODE BY HUNXBYTS {Wh}|
|
|
||||||
: ``. {Wh}----------------------------------
|
|
||||||
: `.
|
|
||||||
: : . `.
|
|
||||||
: : ` . `.
|
|
||||||
`.. : `. ``;
|
|
||||||
`:; `:'
|
|
||||||
: `.
|
|
||||||
`. `. .
|
|
||||||
`'`'`'`---..,___`;.-'
|
|
||||||
""")
|
|
||||||
|
|
||||||
try:
|
|
||||||
def phoneGW():
|
|
||||||
User_phone = input(f"\n {Wh}Enter phone number target {Gr}Ex [+6281xxxxxxxxx] {Wh}: {Gr}") #INPUT NUMBER PHONE
|
|
||||||
default_region = "ID" #DEFAULT NEGARA INDONESIA
|
|
||||||
|
|
||||||
parsed_number = phonenumbers.parse(User_phone, default_region) # VARIABLE PHONENUMBERS
|
|
||||||
region_code = phonenumbers.region_code_for_number(parsed_number)
|
|
||||||
jenis_provider = carrier.name_for_number(parsed_number, "en")
|
|
||||||
location = geocoder.description_for_number(parsed_number, "id")
|
|
||||||
is_valid_number = phonenumbers.is_valid_number(parsed_number)
|
|
||||||
is_possible_number = phonenumbers.is_possible_number(parsed_number)
|
|
||||||
formatted_number = phonenumbers.format_number(parsed_number, phonenumbers.PhoneNumberFormat.INTERNATIONAL)
|
|
||||||
formatted_number_for_mobile = phonenumbers.format_number_for_mobile_dialing(parsed_number, default_region, with_formatting=True)
|
|
||||||
number_type = phonenumbers.number_type(parsed_number)
|
|
||||||
timezone1 = timezone.time_zones_for_number(parsed_number)
|
|
||||||
timezoneF = ', '.join(timezone1)
|
|
||||||
|
|
||||||
print(f"\n {Wh}========== {Gr}SHOW INFORMATION PHONE NUMBERS {Wh}==========")
|
|
||||||
print(f"\n {Wh}Location :{Gr} {location}")
|
|
||||||
print(f" {Wh}Region Code :{Gr} {region_code}")
|
|
||||||
print(f" {Wh}Timezone :{Gr} {timezoneF}")
|
|
||||||
print(f" {Wh}Operator :{Gr} {jenis_provider}")
|
|
||||||
print(f" {Wh}Valid number :{Gr} {is_valid_number}")
|
|
||||||
print(f" {Wh}Possible number :{Gr} {is_possible_number}")
|
|
||||||
print(f" {Wh}International format :{Gr} {formatted_number}")
|
|
||||||
print(f" {Wh}Mobile format :{Gr} {formatted_number_for_mobile}")
|
|
||||||
print(f" {Wh}Original number :{Gr} {parsed_number.national_number}")
|
|
||||||
print(f" {Wh}E.164 format :{Gr} {phonenumbers.format_number(parsed_number, phonenumbers.PhoneNumberFormat.E164)}")
|
|
||||||
print(f" {Wh}Country code :{Gr} {parsed_number.country_code}")
|
|
||||||
print(f" {Wh}Local number :{Gr} {parsed_number.national_number}")
|
|
||||||
if number_type == phonenumbers.PhoneNumberType.MOBILE:
|
|
||||||
print(f" {Wh}Type :{Gr} This is a mobile number")
|
|
||||||
elif number_type == phonenumbers.PhoneNumberType.FIXED_LINE:
|
|
||||||
print(f" {Wh}Type :{Gr} This is a fixed-line number")
|
|
||||||
else:
|
|
||||||
print(f" {Wh}Type :{Gr} This is another type of number")
|
|
||||||
if __name__ == '__main__':
|
|
||||||
phoneGW()
|
|
||||||
except KeyboardInterrupt:
|
|
||||||
print(f" {Wh}[{Ye}!{Wh}] {Ye}PROGRAM STOPPED...")
|
|
||||||
|
|
||||||
elif input_user == '2': #OPSI 3
|
|
||||||
os.system('clear')
|
|
||||||
time.sleep(1)
|
|
||||||
stderr.writelines(f"""{Wh}
|
|
||||||
.-.
|
|
||||||
.' `. {Wh}----------------------------------
|
|
||||||
:g g : {Wh}| {Gr}GHOST - SHOW YOUR IP ADDRESS {Wh}|
|
|
||||||
: o `. {Wh}| {Gr}@CODE BY HUNXBYTS {Wh}|
|
|
||||||
: ``. {Wh}----------------------------------
|
|
||||||
: `.
|
|
||||||
: : . `.
|
|
||||||
: : ` . `.
|
|
||||||
`.. : `. ``;
|
|
||||||
`:; `:'
|
|
||||||
: `.
|
|
||||||
`. `. .
|
|
||||||
`'`'`'---..,___`;.-'
|
|
||||||
""")
|
|
||||||
|
|
||||||
try:
|
|
||||||
def showIP():
|
|
||||||
respone = requests.get('https://api.ipify.org/')
|
|
||||||
Show_IP = respone.text
|
|
||||||
|
|
||||||
print(f"\n {Wh}========== {Gr}SHOW INFORMATION YOUR IP {Wh}==========")
|
|
||||||
print(f"\n {Wh}[{Gr} + {Wh}] Your IP Adrress : {Gr}{Show_IP}")
|
|
||||||
print(f"\n {Wh}==============================================")
|
|
||||||
if __name__ == '__main__':
|
|
||||||
showIP()
|
|
||||||
except KeyboardInterrupt:
|
|
||||||
print(f" {Wh}[{Ye}!{Wh}] {Ye}PROGRAM STOPPED...")
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
elif input_user == '4':
|
|
||||||
os.system('clear')
|
|
||||||
time.sleep(1)
|
|
||||||
stderr.writelines(f"""{Wh}
|
|
||||||
.-.
|
|
||||||
.' `. {Wh}----------------------------------
|
|
||||||
:g g : {Wh}| {Gr}GHOST - TRACKER USERNAME {Wh}|
|
|
||||||
: o `. {Wh}| {Gr}@CODE BY HUNXBYTS {Wh}|
|
|
||||||
: ``. {Wh}----------------------------------
|
|
||||||
: `.
|
|
||||||
: : . `.
|
|
||||||
: : ` . `.
|
|
||||||
`.. : `. ``;
|
|
||||||
`:; `:'
|
|
||||||
: `.
|
|
||||||
`. `. .
|
|
||||||
`'`'`'---..,___`;.-'
|
|
||||||
""")
|
|
||||||
try:
|
|
||||||
def TrackLu(username):
|
|
||||||
results = {}
|
|
||||||
social_media = [
|
|
||||||
{"url": "https://www.facebook.com/{}", "name": "Facebook"},
|
{"url": "https://www.facebook.com/{}", "name": "Facebook"},
|
||||||
{"url": "https://www.twitter.com/{}", "name": "Twitter"},
|
{"url": "https://www.twitter.com/{}", "name": "Twitter"},
|
||||||
{"url": "https://www.instagram.com/{}", "name": "Instagram"},
|
{"url": "https://www.instagram.com/{}", "name": "Instagram"},
|
||||||
@@ -247,27 +148,168 @@ elif input_user == '4':
|
|||||||
{"url": "https://www.snapchat.com/add/{}", "name": "Snapchat"},
|
{"url": "https://www.snapchat.com/add/{}", "name": "Snapchat"},
|
||||||
{"url": "https://www.telegram.me/{}", "name": "Telegram"},
|
{"url": "https://www.telegram.me/{}", "name": "Telegram"},
|
||||||
{"url": "https://www.weheartit.com/{}", "name": "We Heart It"}
|
{"url": "https://www.weheartit.com/{}", "name": "We Heart It"}
|
||||||
]
|
]
|
||||||
|
for site in social_media:
|
||||||
|
url = site['url'].format(username)
|
||||||
|
response = requests.get(url)
|
||||||
|
if response.status_code == 200:
|
||||||
|
results[site['name']] = url
|
||||||
|
else:
|
||||||
|
results[site['name']] = (f"{Ye}Username not found {Ye}!")
|
||||||
|
except Exception as e:
|
||||||
|
print(f"{Re}Error : {e}")
|
||||||
|
return
|
||||||
|
|
||||||
for site in social_media:
|
print(f"\n {Wh}========== {Gr}SHOW INFORMATION USERNAME {Wh}==========")
|
||||||
url = site['url'].format(username)
|
print()
|
||||||
response = requests.get(url)
|
for site, url in results.items():
|
||||||
if response.status_code == 200:
|
print(f" {Wh}[ {Gr}+ {Wh}] {site} : {Gr}{url}")
|
||||||
results[site['name']] = url
|
|
||||||
else:
|
|
||||||
results[site['name']] = (f"{Ye}Username not found {Ye}!")
|
@is_option
|
||||||
return results
|
def showIP():
|
||||||
username = input(f"\n {Wh}Enter Username : {Gr}")
|
respone = requests.get('https://api.ipify.org/')
|
||||||
print(f"\n {Wh}========== {Gr}SHOW INFORMATION USERNAME {Wh}==========")
|
Show_IP = respone.text
|
||||||
print()
|
|
||||||
results = TrackLu(username)
|
print(f"\n {Wh}========== {Gr}SHOW INFORMATION YOUR IP {Wh}==========")
|
||||||
for site, url in results.items():
|
print(f"\n {Wh}[{Gr} + {Wh}] Your IP Adrress : {Gr}{Show_IP}")
|
||||||
print(f" {Wh}[ {Gr}+ {Wh}] {site} : {Gr}{url}")
|
print(f"\n {Wh}==============================================")
|
||||||
|
|
||||||
|
|
||||||
|
# OPTIONS
|
||||||
|
options = [
|
||||||
|
{
|
||||||
|
'num': 1,
|
||||||
|
'text': 'IP Tracker',
|
||||||
|
'func': IP_Track
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'num': 2,
|
||||||
|
'text': 'Show Your IP',
|
||||||
|
'func': showIP
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'num': 3,
|
||||||
|
'text': 'Phone Number Tracker',
|
||||||
|
'func': phoneGW
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'num': 4,
|
||||||
|
'text': 'Username Tracker',
|
||||||
|
'func': TrackLu
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'num': 0,
|
||||||
|
'text': 'Exit',
|
||||||
|
'func': exit
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
def clear():
|
||||||
|
# for windows
|
||||||
|
if os.name == 'nt':
|
||||||
|
_ = os.system('cls')
|
||||||
|
# for mac and linux
|
||||||
|
else:
|
||||||
|
_ = os.system('clear')
|
||||||
|
|
||||||
|
|
||||||
|
def call_option(opt):
|
||||||
|
if not is_in_options(opt):
|
||||||
|
raise ValueError('Option not found')
|
||||||
|
for option in options:
|
||||||
|
if option['num'] == opt:
|
||||||
|
if 'func' in option:
|
||||||
|
option['func']()
|
||||||
|
else:
|
||||||
|
print('No function detected')
|
||||||
|
|
||||||
|
|
||||||
|
def execute_option(opt):
|
||||||
|
try:
|
||||||
|
call_option(opt)
|
||||||
|
input(f'\n{Wh}[ {Gr}+ {Wh}] {Gr}Press enter to continue')
|
||||||
|
main()
|
||||||
|
except ValueError as e:
|
||||||
|
print(e)
|
||||||
|
time.sleep(2)
|
||||||
|
execute_option(opt)
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
print(f" {Wh}[{Ye}!{Wh}] {Ye}PROGRAM STOPPED...")
|
print(f'\n{Wh}[ {Re}! {Wh}] {Re}Exit')
|
||||||
|
time.sleep(2)
|
||||||
|
exit()
|
||||||
|
|
||||||
elif input_user == '0':
|
|
||||||
print(f"\n {Wh}[{Ye}!{Wh}] {Ye}THANK'S FOR USING TOOL {Ye}GHOST-TRACK !")
|
|
||||||
else:
|
|
||||||
print(f" {Ye}Opss no option !") #FALSE
|
|
||||||
|
|
||||||
|
def option_text():
|
||||||
|
text = ''
|
||||||
|
for opt in options:
|
||||||
|
text += f'{Wh}[ {opt["num"]} ] {Gr}{opt["text"]}\n'
|
||||||
|
return text
|
||||||
|
|
||||||
|
|
||||||
|
def is_in_options(num):
|
||||||
|
for opt in options:
|
||||||
|
if opt['num'] == num:
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def option():
|
||||||
|
# BANNER TOOLS
|
||||||
|
clear()
|
||||||
|
stderr.writelines(f"""
|
||||||
|
________ __ ______ __
|
||||||
|
/ ____/ /_ ____ _____/ /_ /_ __/________ ______/ /__
|
||||||
|
/ / __/ __ \/ __ \/ ___/ __/_____/ / / ___/ __ `/ ___/ //_/
|
||||||
|
/ /_/ / / / / /_/ (__ ) /_/_____/ / / / / /_/ / /__/ ,<
|
||||||
|
\____/_/ /_/\____/____/\__/ /_/ /_/ \__,_/\___/_/|_|
|
||||||
|
|
||||||
|
{Wh}[ + ] C O D E B Y H U N X [ + ]
|
||||||
|
""")
|
||||||
|
|
||||||
|
stderr.writelines(f"\n\n\n{option_text()}")
|
||||||
|
|
||||||
|
|
||||||
|
def run_banner():
|
||||||
|
clear()
|
||||||
|
time.sleep(1)
|
||||||
|
stderr.writelines(f"""{Wh}
|
||||||
|
.-.
|
||||||
|
.' `. {Wh}--------------------------------
|
||||||
|
:g g : {Wh}| {Gr}GHOST - TRACKER - IP ADDRESS {Wh}|
|
||||||
|
: o `. {Wh}| {Gr}@CODE BY HUNXBYTS {Wh}|
|
||||||
|
: ``. {Wh}--------------------------------
|
||||||
|
: `.
|
||||||
|
: : . `.
|
||||||
|
: : ` . `.
|
||||||
|
`.. : `. ``;
|
||||||
|
`:; `:'
|
||||||
|
: `.
|
||||||
|
`. `. .
|
||||||
|
`'`'`'`---..,___`;.-'
|
||||||
|
""")
|
||||||
|
time.sleep(0.5)
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
clear()
|
||||||
|
option()
|
||||||
|
time.sleep(1)
|
||||||
|
try:
|
||||||
|
opt = int(input(f"{Wh}\n [ + ] {Gr}Select Option : {Wh}"))
|
||||||
|
execute_option(opt)
|
||||||
|
except ValueError:
|
||||||
|
print(f'\n{Wh}[ {Re}! {Wh}] {Re}Please input number')
|
||||||
|
time.sleep(2)
|
||||||
|
main()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
try:
|
||||||
|
main()
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
print(f'\n{Wh}[ {Re}! {Wh}] {Re}Exit')
|
||||||
|
time.sleep(2)
|
||||||
|
exit()
|
||||||
|
|||||||
Reference in New Issue
Block a user