Reworked the entire scripts for future code expansion. Retain old functionality

This commit is contained in:
bakaemon
2023-08-16 04:11:23 +07:00
parent a8b76cfe9b
commit 28839e268c

View File

@@ -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()