#!/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 @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: 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}") @is_option 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()