From d894e2198d82eac5ec4b02ad67d3997bc3f40203 Mon Sep 17 00:00:00 2001 From: none Date: Sun, 25 Feb 2024 19:58:20 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B0=D0=B1=D0=BE=D1=87=D0=B0=D1=8F=20?= =?UTF-8?q?=D1=81=D1=85=D0=B5=D0=BC=D0=B0=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5?= =?UTF-8?q?=D1=80=D0=BA=D0=B8=20200=20=D0=BF=D0=BE=D1=80=D1=82=D0=BE=D0=B2?= =?UTF-8?q?=20=D1=80=D0=B0=D0=B7=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- network.py | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/network.py b/network.py index 568fc57..8ac6613 100644 --- a/network.py +++ b/network.py @@ -124,7 +124,6 @@ def client(port, op = "ping"): data = Queue() ping = Thread(target = recv, args=(s, data,)) - ping.daemon = True # Стартуем пинг ping.start() @@ -223,27 +222,37 @@ def client(port, op = "ping"): os.remove(f"verify/{site}.sig") -def check_current(ports, cur_port): +global ports +ports = [] + +def check_current(cur_port): + global ports if client(cur_port, "ping"): ports.append(cur_port) print("CATHCED: ", cur_port) - return + +def check_wait(port): + ping = Thread(target = check_current, args=(port,)) + ping.start() + ping.join(8) + +# 1. Стартуем все потоки которые вырубают другие потоки, если прошло 8 секунд +# 2. Ожидающие потоки стартуют проверку порта +# => моментальная проверка 200 портов from tqdm import tqdm from time import sleep def port_check(your_port): - ports = [] + global ports checks = list(range(4000, 4200)) checks.remove(your_port) + for port in tqdm(checks): - if client(port, "ping"): - ports.append(port) - print("CATHCED: ", port) -# ping = Thread(target = check_current, args=(ports, port,)) -# ping.start() + wait = Thread(target = check_wait, args=(port,)) + wait.start() -# sleep(10) + sleep(10) return ports