|
| 1 | +#Discord ; twiezbtw |
| 2 | +#GitHub ; twiez |
| 3 | +# <: |
| 4 | + |
| 5 | +import os |
| 6 | +import time |
| 7 | +import requests |
| 8 | + |
| 9 | +# Renk kodları |
| 10 | +YELLOW = "\033[93m" |
| 11 | +RED = "\033[91m" |
| 12 | +RESET = "\033[0m" |
| 13 | + |
| 14 | +# Başlık değiştirme |
| 15 | +os.system('title Netseek * twiez') # Burada istediğiniz başlığı yazabilirsiniz |
| 16 | + |
| 17 | +# ASCII art başlıkd |
| 18 | +def display_banner(): |
| 19 | + os.system("cls" if os.name == "nt" else "clear") |
| 20 | + banner = YELLOW + r""" |
| 21 | + ███▄ █ ▓█████▄▄▄█████▓ ██████ ▓█████ ▓█████ ██ ▄█▀ |
| 22 | + ██ ▀█ █ ▓█ ▀▓ ██▒ ▓▒▒██ ▒ ▓█ ▀ ▓█ ▀ ██▄█▒ |
| 23 | +▓██ ▀█ ██▒▒███ ▒ ▓██░ ▒░░ ▓██▄ ▒███ ▒███ ▓███▄░ |
| 24 | +▓██▒ ▐▌██▒▒▓█ ▄░ ▓██▓ ░ ▒ ██▒▒▓█ ▄ ▒▓█ ▄ ▓██ █▄ |
| 25 | +▒██░ ▓██░░▒████▒ ▒██▒ ░ ▒██████▒▒░▒████▒░▒████▒▒██▒ █▄ |
| 26 | +░ ▒░ ▒ ▒ ░░ ▒░ ░ ▒ ░░ ▒ ▒▓▒ ▒ ░░░ ▒░ ░░░ ▒░ ░▒ ▒▒ ▓▒ |
| 27 | +░ ░░ ░ ▒░ ░ ░ ░ ░ ░ ░▒ ░ ░ ░ ░ ░ ░ ░ ░░ ░▒ ▒░ |
| 28 | + ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░░ ░ |
| 29 | + ░ ░ ░ ░ ░ ░ ░ ░░ ░ |
| 30 | +""" + RESET |
| 31 | + print(banner) |
| 32 | + print(YELLOW + "Loading..." + RESET) |
| 33 | + time.sleep(2) # Kullanıcıya Loading ekranı için süre tanıma |
| 34 | + os.system("cls" if os.name == "nt" else "clear") # Loading yazısını kaldır |
| 35 | + print(banner) # Sadece banner kalsın |
| 36 | + |
| 37 | +# IP bilgilerini alma |
| 38 | +def track_ip(): |
| 39 | + ip_address = input(YELLOW + "\nEnter IP address: " + RESET) |
| 40 | + |
| 41 | + # Bilgileri ekrana yazmadan önce ekranı temizleme |
| 42 | + os.system("cls" if os.name == "nt" else "clear") |
| 43 | + |
| 44 | + try: |
| 45 | + response = requests.get(f"https://ipapi.co/{ip_address}/json/") |
| 46 | + data = response.json() |
| 47 | + |
| 48 | + # Çekilen bilgileri gösterme |
| 49 | + print(YELLOW + "IP Address Information:" + RESET) |
| 50 | + print(f"{YELLOW}IP Address:{RESET} {RED}{data.get('ip', 'Unknown')}{RESET}") |
| 51 | + print(f"{YELLOW}Network:{RESET} {RED}{data.get('network', 'Unknown')}{RESET}") |
| 52 | + print(f"{YELLOW}City:{RESET} {RED}{data.get('region', 'Unknown')}{RESET}") |
| 53 | + print(f"{YELLOW}Region:{RESET} {RED}{data.get('city', 'Unknown')}{RESET}") |
| 54 | + print(f"{YELLOW}Region Code:{RESET} {RED}{data.get('region_code', 'Unknown')}{RESET}") |
| 55 | + print(f"{YELLOW}Country:{RESET} {RED}{data.get('country_name', 'Unknown')}{RESET}") |
| 56 | + print(f"{YELLOW}Country Code:{RESET} {RED}{data.get('country', 'Unknown')}{RESET}") |
| 57 | + print(f"{YELLOW}Country Capital:{RESET} {RED}{data.get('country_capital', 'Unknown')}{RESET}") |
| 58 | + print(f"{YELLOW}Postal Code:{RESET} {RED}{data.get('postal', 'Unknown')}{RESET}") |
| 59 | + print(f"{YELLOW}Latitude:{RESET} {RED}{data.get('latitude', 'Unknown')}{RESET}") |
| 60 | + print(f"{YELLOW}Longitude:{RESET} {RED}{data.get('longitude', 'Unknown')}{RESET}") |
| 61 | + print(f"{YELLOW}Timezone:{RESET} {RED}{data.get('timezone', 'Unknown')}{RESET}") |
| 62 | + print(f"{YELLOW}Currency:{RESET} {RED}{data.get('currency', 'Unknown')}{RESET}") |
| 63 | + print(f"{YELLOW}Currency Code:{RESET} {RED}{data.get('currency_name', 'Unknown')}{RESET}") |
| 64 | + print(f"{YELLOW}Languages:{RESET} {RED}{data.get('languages', 'Unknown')}{RESET}") |
| 65 | + print(f"{YELLOW}Organization:{RESET} {RED}{data.get('org', 'Unknown')}{RESET}") |
| 66 | + print(f"{YELLOW}ASN:{RESET} {RED}{data.get('asn', 'Unknown')}{RESET}") |
| 67 | + print(f"{YELLOW}Continent Code:{RESET} {RED}{data.get('continent_code', 'Unknown')}{RESET}") |
| 68 | + print(f"{YELLOW}In EU:{RESET} {RED}{data.get('in_eu', 'Unknown')}{RESET}") |
| 69 | + print(f"{YELLOW}Country Population:{RESET} {RED}{data.get('country_population', 'Unknown')}{RESET}") |
| 70 | + print(f"{YELLOW}Calling Code:{RESET} {RED}+{data.get('country_calling_code', 'Unknown')}{RESET}") |
| 71 | + |
| 72 | + |
| 73 | + except Exception as e: |
| 74 | + print(RED + f"An error occurred: {e}" + RESET) |
| 75 | + |
| 76 | + # Menüye dönüş için kullanıcıdan giriş bekleme |
| 77 | + while True: |
| 78 | + back_to_menu = input(YELLOW + "\nTo return to the menu, type [ 0 ]: " + RESET) |
| 79 | + if back_to_menu == "0": |
| 80 | + break |
| 81 | + else: |
| 82 | + print(RED + "Invalid input. Please type [ 0 ] to return." + RESET) |
| 83 | + |
| 84 | +# Menü |
| 85 | +def menu(): |
| 86 | + while True: |
| 87 | + print(f"{YELLOW}[ + ]{RESET} {RED}https://github.com/twiez{RESET}") |
| 88 | + print(YELLOW + "\n[ 1 ] Track IP" + RESET) |
| 89 | + print() |
| 90 | + print(YELLOW + "[ 2 ] Exit" + RESET) |
| 91 | + choice = input(YELLOW + "\nroot@netseek ~>: " + RESET) |
| 92 | + |
| 93 | + if choice == "1": |
| 94 | + track_ip() |
| 95 | + elif choice == "2": |
| 96 | + print(YELLOW + "Exiting program. Goodbye!" + RESET) |
| 97 | + break |
| 98 | + else: |
| 99 | + print(RED + "Invalid choice. Please try again." + RESET) |
| 100 | + |
| 101 | +# Program başlangıcı |
| 102 | +if __name__ == "__main__": |
| 103 | + display_banner() # Banner ve loading ekranını göster |
| 104 | + menu() # Menüye geçiş |
0 commit comments