nerdegutta.no
Python: Get your public IP adress
06.07.25
Programming
This Python app get your public IP address and displays it in a small window. Tkinter is used as the GUI.
You need Python3 installed, and TKinter. To install TKinter, use this command:
# apt install python3-tkThe app:
import tkinter as tk
import urllib.request
import threading
import time
UPDATE_INTERVAL = 24 * 60 * 60 # 24 hours in seconds
def get_public_ip():
try:
with urllib.request.urlopen('https://api.ipify.org') as response:
return response.read().decode('utf-8')
except Exception as e:
return f"Error: {e}"
class IPApp:
def __init__(self, root):
self.root = root
self.root.title("Public IP Viewer")
self.root.geometry("300x120")
self.label_title = tk.Label(root, text="Your Public IP:", font=("Helvetica", 14))
self.label_title.pack(pady=10)
self.ip_label = tk.Label(root, text="Loading...", font=("Helvetica", 12), fg="blue")
self.ip_label.pack()
self.update_ip()
threading.Thread(target=self.schedule_ip_update, daemon=True).start()
def update_ip(self):
ip = get_public_ip()
self.ip_label.config(text=ip)
def schedule_ip_update(self):
while True:
time.sleep(UPDATE_INTERVAL)
self.root.after(0, self.update_ip)
if __name__ == "__main__":
root = tk.Tk()
app = IPApp(root)
root.mainloop()
Enjoy!