From c1ddda30ab24f816c6272ddd4398abd666132064 Mon Sep 17 00:00:00 2001 From: none Date: Sun, 25 Feb 2024 18:22:43 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9B=D0=BE=D0=B2=D0=B8=D0=BC=20=D0=BA=D1=80?= =?UTF-8?q?=D0=B0=D1=88=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- network.py | 91 ++++++++++++++++++++++++++++++------------------------ updater.py | 13 +++++--- 2 files changed, 58 insertions(+), 46 deletions(-) diff --git a/network.py b/network.py index ed82bd6..bf649f9 100644 --- a/network.py +++ b/network.py @@ -34,50 +34,59 @@ def port_gen(): return port def server_http(): - os.chdir("cached") - os.system("python -m http.server") + while True: + try: + os.chdir("cached") + os.system("python -m http.server") + except: + print("SERVER_HTTP FALLED") def server(http_port): - host = "127.0.0.1" - port = 8001 - - s = socket.socket() - s.bind((host, port)) - while True: - s.listen(2) - conn, address = s.accept() - - print("Connection from: " + str(address)) - - while True: - try: - op = conn.recv(1024).decode() - except: - pass - if not op: - break - - if op == "ping": - conn.send("pong".encode()) - elif op[:3] == "is_": - check = op[3:] - # Защита от доступа выше и т.п. - check = domain_ok(check) - - if os.path.exists(f'cached/{check}'): - conn.send(str(http_port).encode()) - else: - conn.send("not_exist".encode()) - elif op[:8] == "publish_": - data = op[8:] - site, port = data.split("<>") - site = domain_ok(site) - if site: - conn.send("accepted".encode()) - client(port, f"get_{site}") - - conn.close() + try: + host = "127.0.0.1" + port = 8001 + + s = socket.socket() + s.bind((host, port)) + + while True: + s.listen(2) + conn, address = s.accept() + + print("Connection from: " + str(address)) + + while True: + try: + op = conn.recv(1024).decode() + except: + pass + if not op: + break + + if op == "ping": + conn.send("pong".encode()) + elif op[:3] == "is_": + check = op[3:] + # Защита от доступа выше и т.п. + check = domain_ok(check) + + if os.path.exists(f'cached/{check}'): + conn.send(str(http_port).encode()) + else: + conn.send("not_exist".encode()) + elif op[:8] == "publish_": + data = op[8:] + site, port = data.split("<>") + site = domain_ok(site) + if site: + conn.send("accepted".encode()) + client(port, f"get_{site}") + + conn.close() + + except: + print("SERVER FALLED") def recv(q, s): okay = False diff --git a/updater.py b/updater.py index 0401c36..a487f0d 100644 --- a/updater.py +++ b/updater.py @@ -6,10 +6,13 @@ from network import * def update_demon(serv_port): while True: - ports = port_check(serv_port) + try: + ports = port_check(serv_port) - conf = read() - conf["ports"] = ports - write(conf) + conf = read() + conf["ports"] = ports + write(conf) - sleep(8) + sleep(8) + except: + print("UPDATER FALLED")