mirror of
https://github.com/house-of-vanity/Wireguard-Peer-Manager.git
synced 2025-08-21 15:37:15 +00:00
Removed overall stats. it doesnt work as intended.
This commit is contained in:
34
bot.py
34
bot.py
@@ -6,8 +6,6 @@ import logging
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import configparser
|
import configparser
|
||||||
import threading
|
|
||||||
import pickle
|
|
||||||
from time import sleep
|
from time import sleep
|
||||||
from hurry.filesize import size
|
from hurry.filesize import size
|
||||||
from subprocess import call
|
from subprocess import call
|
||||||
@@ -43,35 +41,6 @@ def _help(update, context):
|
|||||||
disable_web_page_preview=True)
|
disable_web_page_preview=True)
|
||||||
|
|
||||||
|
|
||||||
def save_stats():
|
|
||||||
while True:
|
|
||||||
stat = wg_json(config)
|
|
||||||
peer_names = dict()
|
|
||||||
peers = dict()
|
|
||||||
for peer in wg_list_peers():
|
|
||||||
peer_names[peer['ip']] = peer['name']
|
|
||||||
for _if in stat.items():
|
|
||||||
for peer in _if[1]['peers']:
|
|
||||||
peers[peer['allowed_ips'][0]] = {
|
|
||||||
"name": peer_names[peer['allowed_ips'][0]],
|
|
||||||
"rx": int(peer["transfer_rx"]),
|
|
||||||
"tx": int(peer["transfer_tx"]),
|
|
||||||
}
|
|
||||||
try:
|
|
||||||
read_stats = pickle.load(open("stats.bin", "rb"))
|
|
||||||
except FileNotFoundError:
|
|
||||||
read_stats = None
|
|
||||||
if read_stats:
|
|
||||||
for peer in peers:
|
|
||||||
if read_stats[peer]["rx"] >= peers[peer]["rx"]:
|
|
||||||
peers[peer]["rx"] += read_stats[peer]["rx"]
|
|
||||||
peers[peer]["tx"] += read_stats[peer]["tx"]
|
|
||||||
pickle.dump(peers, open("stats.bin", "wb"))
|
|
||||||
sleep(60)
|
|
||||||
|
|
||||||
save_stat_thread = threading.Thread(target=save_stats)
|
|
||||||
save_stat_thread.start()
|
|
||||||
|
|
||||||
def auth(handler):
|
def auth(handler):
|
||||||
def wrapper(update, context):
|
def wrapper(update, context):
|
||||||
if update.message.chat.username not in admin:
|
if update.message.chat.username not in admin:
|
||||||
@@ -130,7 +99,6 @@ def del_peer(update, context):
|
|||||||
@auth
|
@auth
|
||||||
def status(update, context):
|
def status(update, context):
|
||||||
stat = wg_json(config)
|
stat = wg_json(config)
|
||||||
overall_stats = pickle.load(open("stats.bin", "rb"))
|
|
||||||
peer_names = dict()
|
peer_names = dict()
|
||||||
for peer in wg_list_peers():
|
for peer in wg_list_peers():
|
||||||
peer_names[peer['ip']] = peer['name']
|
peer_names[peer['ip']] = peer['name']
|
||||||
@@ -149,8 +117,6 @@ def status(update, context):
|
|||||||
for peer in peers_sorted:
|
for peer in peers_sorted:
|
||||||
t_msg = (
|
t_msg = (
|
||||||
f" 🔹 <b>{peer[1]['name']}\n {peer[0]}</b>\n "
|
f" 🔹 <b>{peer[1]['name']}\n {peer[0]}</b>\n "
|
||||||
f"<b>Overall stats</b> {size(overall_stats[peer[0]]['rx'] + overall_stats[peer[0]]['tx'])} "
|
|
||||||
f"RX/TX: {size(overall_stats[peer[0]]['rx'])}/{size(overall_stats[peer[0]]['tx'])}\n "
|
|
||||||
f"<b>Since last run</b> {size(peer[1]['total'])} RX/TX: {size(peer[1]['rx'])}"
|
f"<b>Since last run</b> {size(peer[1]['total'])} RX/TX: {size(peer[1]['rx'])}"
|
||||||
f"/{size(peer[1]['tx'])}")
|
f"/{size(peer[1]['tx'])}")
|
||||||
if len(t_msg + "\n".join(msg)) >= tg_max_len:
|
if len(t_msg + "\n".join(msg)) >= tg_max_len:
|
||||||
|
Reference in New Issue
Block a user