https://dev.kronoz.win/r/marzneshin.git
1import math
2import socket
3
4
5def get_public_ip():
6 try:
7 sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
8 sock.connect(("8.8.8.8", 80))
9 return sock.getsockname()[0]
10 except (socket.error, IndexError):
11 pass
12 finally:
13 sock.close()
14
15 return "127.0.0.1"
16
17
18def readable_size(size_bytes):
19 if size_bytes == 0:
20 return "0 B"
21 size_name = ("B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB")
22 i = int(math.floor(math.log(size_bytes, 1024)))
23 p = math.pow(1024, i)
24 s = round(size_bytes / p, 2)
25 return f"{s} {size_name[i]}"