Spaces:
Running
Running
#!/usr/bin/python | |
# << CODE BY HUNX04 | |
# << MAU RECODE ??? IZIN DULU LAH, MINIMAL TAG AKUN GITHUB MIMIN YANG MENGARAH KE AKUN INI, LEBIH GAMPANG SI PAKE FORK | |
# << 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. | |
# IMPORT MODULE | |
import json | |
import requests | |
import time | |
import os | |
import phonenumbers | |
from phonenumbers import carrier, geocoder, timezone | |
from sys import stderr | |
Bl = '\033[30m' # VARIABLE BUAT WARNA CUYY | |
Re = '\033[1;31m' | |
Gr = '\033[1;32m' | |
Ye = '\033[1;33m' | |
Blu = '\033[1;34m' | |
Mage = '\033[1;35m' | |
Cy = '\033[1;36m' | |
Wh = '\033[1;37m' | |
# utilities | |
# 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 | |
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"]) | |
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") | |
def TrackLu(): | |
try: | |
username = input(f"\n {Wh}Enter Username : {Gr}") | |
results = {} | |
social_media = [ | |
{"url": "https://www.facebook.com/{}", "name": "Facebook"}, | |
{"url": "https://www.twitter.com/{}", "name": "Twitter"}, | |
{"url": "https://www.instagram.com/{}", "name": "Instagram"}, | |
{"url": "https://www.linkedin.com/in/{}", "name": "LinkedIn"}, | |
{"url": "https://www.github.com/{}", "name": "GitHub"}, | |
{"url": "https://www.pinterest.com/{}", "name": "Pinterest"}, | |
{"url": "https://www.tumblr.com/{}", "name": "Tumblr"}, | |
{"url": "https://www.youtube.com/{}", "name": "Youtube"}, | |
{"url": "https://soundcloud.com/{}", "name": "SoundCloud"}, | |
{"url": "https://www.snapchat.com/add/{}", "name": "Snapchat"}, | |
{"url": "https://www.tiktok.com/@{}", "name": "TikTok"}, | |
{"url": "https://www.behance.net/{}", "name": "Behance"}, | |
{"url": "https://www.medium.com/@{}", "name": "Medium"}, | |
{"url": "https://www.quora.com/profile/{}", "name": "Quora"}, | |
{"url": "https://www.flickr.com/people/{}", "name": "Flickr"}, | |
{"url": "https://www.periscope.tv/{}", "name": "Periscope"}, | |
{"url": "https://www.twitch.tv/{}", "name": "Twitch"}, | |
{"url": "https://www.dribbble.com/{}", "name": "Dribbble"}, | |
{"url": "https://www.stumbleupon.com/stumbler/{}", "name": "StumbleUpon"}, | |
{"url": "https://www.ello.co/{}", "name": "Ello"}, | |
{"url": "https://www.producthunt.com/@{}", "name": "Product Hunt"}, | |
{"url": "https://www.snapchat.com/add/{}", "name": "Snapchat"}, | |
{"url": "https://www.telegram.me/{}", "name": "Telegram"}, | |
{"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 | |
print(f"\n {Wh}========== {Gr}SHOW INFORMATION USERNAME {Wh}==========") | |
print() | |
for site, url in results.items(): | |
print(f" {Wh}[ {Gr}+ {Wh}] {site} : {Gr}{url}") | |
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}==============================================") | |
# 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: | |
print(f'\n{Wh}[ {Re}! {Wh}] {Re}Exit') | |
time.sleep(2) | |
exit() | |
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() | |