File size: 3,021 Bytes
04ec20b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
from threading import Thread
import gradio as gr
import speedtest
import platform
import psutil
import os


def starter():
    os.system("python3 Kmain.py")


thread = Thread(target=starter)
thread.start()


def get_system_usage():
    # Get CPU usage as a percentage
    cpu_usage = psutil.cpu_percent(interval=1)

    # Get memory usage
    memory = psutil.virtual_memory()
    total_memory = memory.total
    available_memory = memory.available
    memory_usage = total_memory - available_memory

    # Get disk usage
    disk = psutil.disk_usage('/')
    total_disk = disk.total
    used_disk = disk.used
    disk_usage = used_disk

    # Prepare the system usage information as a string
    system_usage = f"CPU Usage: {cpu_usage}%\n"
    system_usage += f"Memory Usage: {memory_usage} bytes\n"
    system_usage += f"Disk Usage: {disk_usage} bytes"

    return system_usage


def get_internet_speed():
    st = speedtest.Speedtest()
    st.get_best_server()
    download_speed = st.download() / 1_000_000 / 8 # Convert to MBps
    upload_speed = st.upload() / 1_000_000 / 8 # Convert to MBps
    return download_speed, upload_speed
    

def get_system_information():
    system = platform.system()
    release = platform.release()
    version = platform.version()
    machine = platform.machine()
    processor = platform.processor()

    memory = psutil.virtual_memory()
    memory_total = memory.total
    memory_used = memory.used
    memory_percent = memory.percent

    disk = psutil.disk_usage('/')
    disk_total = disk.total
    disk_used = disk.used
    disk_percent = disk.percent

    cpu_percent = psutil.cpu_percent()

    download_speed, upload_speed = get_internet_speed()

    information = (f"System Information:\n"
                   f"- System: {system}\n"
                   f"- Release: {release}\n"
                   f"- Version: {version}\n"
                   f"- Machine: {machine}\n"
                   f"- Processor: {processor}\n"
                   f"\n"
                   f"Memory Usage:\n"
                   f"- Memory Total: {memory_total} bytes\n"
                   f"- Memory Used: {memory_used} bytes\n"
                   f"- Memory Percent: {memory_percent}%\n"
                   f"\n"
                   f"Disk Usage:\n"
                   f"- Disk Total: {disk_total} bytes\n"
                   f"- Disk Used: {disk_used} bytes\n"
                   f"- Disk Percent: {disk_percent}%\n"
                   f"\n"
                   f"CPU Usage:\n"
                   f"- CPU Percent: {cpu_percent}%\n"
                   f"\n"
                   f"- Internet Usage:\n"
                   f"Download Speed: {download_speed:.2f} MBps\n"
                   f"Upload Speed: {upload_speed:.2f} MBps"
                  )

    return information



iface = gr.Interface(fn=get_system_information, inputs=None, outputs="text")
iface.launch(server_name="0.0.0.0", server_port=7860)