From a42b73aefab1e1b389d4121b6618831b9e5381f3 Mon Sep 17 00:00:00 2001 From: none Date: Sun, 25 Feb 2024 22:53:01 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B2=D0=BE=D0=B4=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=BA=D1=81=D0=B8=20=D0=BD=D0=B0=20multiproc?= =?UTF-8?q?essing=20=D0=B8=20=D0=BE=D1=82=D0=B4=D0=B5=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=B8=D1=85=20=D0=B2=20proxy.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 21 +++++---------------- proxy.py | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 16 deletions(-) create mode 100644 proxy.py diff --git a/main.py b/main.py index f1f9d5f..e2dddfe 100644 --- a/main.py +++ b/main.py @@ -18,27 +18,16 @@ if len(argv) == 1: exit() print("\nУспешно перезагружено!") -# Порт для приёма всяких запросов -def reverse_proxy(dest, port = 8000): - if name == "posix": - system(f"./bore local {port} --to jetwork.404.mn --port {dest}") - elif name == "nt": - system(f"bore.exe local {port} --to jetwork.404.mn --port {dest}") +from proxy import * -# Стартуем проброс порта -# http сервер -global http_port http_port = port_gen() -rp_http = Thread(target = reverse_proxy, args=(http_port,)) +rp_http = Thread(target = watch_http, args=(http_port,)) rp_http.start() -print(f"Порт http сервера: {http_port}") -# сервер для пинга -serv_port = port_gen() -rp = Thread(target = reverse_proxy, args=(serv_port, 8001)) -rp.start() -print(f"Порт сервера: {serv_port}") +serv_port = port_gen() +rp_serv = Thread(target = watch_serv, args=(serv_port,)) +rp_serv.start() # Стартуем сервисы diff --git a/proxy.py b/proxy.py new file mode 100644 index 0000000..89ef17a --- /dev/null +++ b/proxy.py @@ -0,0 +1,48 @@ +from os import system, name +#from threading import Thread +from multiprocessing import Process +from time import sleep + +global http_out ; http_out = None +def proxy_http(port): + global http_out + if name == "posix": + http_out = system(f"./bore local 8000 --to jetwork.404.mn --port {port}") + elif name == "nt": + http_out = system(f"bore local 8000 --to jetwork.404.mn --port {port}") + +global serv_out ; serv_out = None +def proxy_serv(port): + global serv_out + if name == "posix": + http_out = system(f"./bore local 8001 --to jetwork.404.mn --port {port}") + elif name == "nt": + http_out = system(f"bore local 8001 --to jetwork.404.mn --port {port}") + + +def watch_http(port): + run = Process(target=proxy_http, args=(port,)) + run.start() + + global http_out + while True: + # Если команда вышла + if http_out: + run.terminate() + http_out = None + run = Process(target=proxy_http, args=(port,)) + run.start() + sleep(1) + +def watch_serv(port): + run = Process(target=proxy_serv, args=(port,)) + run.start() + + global serv_out + while True: + if serv_out: + run.terminate() + serv_out = None + run = Process(target=proxy_serv, args=(port,)) + run.start() + sleep(1)