Загрузка...

Ip адрес в нижнем правом углу экрана

Тема в разделе Python создана пользователем rekryt 6 июн 2025 в 12:15. 127 просмотров

Загрузка...
  1. rekryt
    rekryt Автор темы 6 июн 2025 в 12:15 93 9 июн 2023
    Код выводит в нижний правый угол информацию об ip.
    Так же обновляет информацию каждую минуту.
    Python
    import tkinter as tk
    import pyautogui
    import requests
    from threading import Thread
    import time


    class NetworkInfoDisplay:
    def __init__(self):
    self.update_count = -1
    self.root = tk.Tk()
    self.setup_window()
    self.create_widgets()
    self.start_update_thread()
    def setup_window(self):
    self.root.overrideredirect(True)
    self.root.attributes("-topmost", True)
    self.root.attributes("-transparentcolor", "gray15")

    screen_width, screen_height = pyautogui.size()
    window_width = 270
    window_height = 130
    x_pos = screen_width - window_width - 20
    y_pos = screen_height - window_height - 60
    self.root.geometry(f"{window_width}x{window_height}+{x_pos}+{y_pos}")
    def create_widgets(self):
    frame = tk.Frame(self.root, bg='gray15')
    frame.pack()

    initial_info = self.fetch_network_details()
    self.info_label = tk.Label(
    frame,
    text=initial_info,
    font=("Times New Roman", 12, 'bold'),
    fg="#FF2222",
    bg='gray15',
    padx=10,
    pady=5
    )
    self.info_label.pack()
    def fetch_network_details(self):
    try:
    self.update_count += 1
    ip_response = requests.get('https://api.ipify.org?format=json')
    ip_data = ip_response.json()
    ip_address = ip_data['ip']

    geo_response = requests.get(
    f'http://ip-api.com/json/{ip_address}?fields=status,message,country,regionName,city,isp,query'
    )
    geo_data = geo_response.json()

    if geo_data.get('status') == 'success':
    return (
    f"IP: {geo_data['query']}\n"
    f"Country: {geo_data['country']}\n"
    f"Region: {geo_data['regionName']}\n"
    f"City: {geo_data.get('city', 'N/A')}\n"
    f"ISP: {geo_data.get('isp', 'N/A')}\n"
    f"Updates: {self.update_count}"
    )
    return f"Error: {geo_data.get('message', 'Unknown error')}"

    except Exception as e:
    return f"Connection Error: {str(e)}"
    def refresh_display(self):
    while True:
    new_info = self.fetch_network_details()
    self.info_label.config(text=new_info)
    time.sleep(60)

    def start_update_thread(self):
    update_thread = Thread(target=self.refresh_display, daemon=True)
    update_thread.start()

    def run(self):
    self.root.mainloop()

    #тут ебашим так
    if __name__ == "__main__":
    app = NetworkInfoDisplay()
    app.run()
    [IMG]
     
  2. дезориентация
    боюсь представить, для чего это может пригодиться :2011_like:
     
    1. 555
    2. rekryt Автор темы
      дезориентация, прикинь сидишь на пх, *** отключается, а ты не знаешь об этом ! И всё через 5 минут подъезжают и скручивают тебя за просмотр пх :da:
  3. n1s_01
    хорошо, тут ебашим так :2011_nice:
     
    6 июн 2025 в 13:05 Изменено
Top