Python IP Tracker App with GUI | Track IP Location Real-Time! (Working Project)
Python IP Tracker App 🔥
Location, ISP, Country, City — sab real-time milta hai!
Ab tum bhi bana sakte ho yeh amazing GUI app – full source code available hai 👇
Check the video & start building your own!
Demo :
Click Video 👇👇👇
Code :
import tkinter as tk
from tkinter import messagebox, scrolledtext
import requests
def track_ip(ip):
try:
url = f"http://ip-api.com/json/{ip}"
response = requests.get(url)
data = response.json()
if data['status'] == 'success':
result = (
f"IP: {data['query']}\n"
f"Country: {data['country']} ({data['countryCode']})\n"
f"Region: {data['regionName']} ({data['region']})\n"
f"City: {data['city']}\n"
f"ZIP: {data['zip']}\n"
f"Lat, Lon: {data['lat']}, {data['lon']}\n"
f"Timezone: {data['timezone']}\n"
f"ISP: {data['isp']}\n"
f"Org: {data['org']}\n"
)
else:
result = "Invalid IP address or request failed."
result_area.delete('1.0', tk.END)
result_area.insert(tk.END, result)
except Exception as e:
result_area.delete('1.0', tk.END)
result_area.insert(tk.END, "Error fetching data.")
def track_input_ip():
ip = ip_entry.get().strip()
if ip == "":
messagebox.showwarning("Empty Field", "Please enter an IP address.")
else:
track_ip(ip)
def track_my_ip():
try:
response = requests.get("https://api.ipify.org")
my_ip = response.text.strip()
ip_entry.delete(0, tk.END)
ip_entry.insert(0, my_ip)
track_ip(my_ip)
except:
result_area.delete('1.0', tk.END)
result_area.insert(tk.END, "Failed to fetch public IP.")
# GUI setup
root = tk.Tk()
root.title("IP Tracker by FuzzuTech")
root.geometry("450x400")
root.resizable(False, False)
tk.Label(root, text="Enter IP Address:", font=("Arial", 12)).pack(pady=10)
ip_entry = tk.Entry(root, font=("Arial", 12), width=40)
ip_entry.pack(pady=5)
btn_frame = tk.Frame(root)
btn_frame.pack(pady=10)
tk.Button(btn_frame, text="Track IP", command=track_input_ip, width=15, bg="skyblue").pack(side=tk.LEFT, padx=5)
tk.Button(btn_frame, text="Track My Public IP", command=track_my_ip, width=20, bg="lightgreen").pack(side=tk.LEFT, padx=5)
result_area = scrolledtext.ScrolledText(root, width=55, height=15, font=("Consolas", 10))
result_area.pack(pady=10)
root.mainloop()
Comments
Post a Comment