From f06c6f963c10875681536e1bdcbd58c580f94889 Mon Sep 17 00:00:00 2001 From: justuser Date: Mon, 19 Aug 2024 15:53:05 +0300 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=BF=D1=80=D0=B5=D1=82=20=D0=B8?= =?UTF-8?q?=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=BF=D1=80=D0=BE=D0=BA=D1=81=D0=B8=20=D0=BA?= =?UTF-8?q?=D0=B0=D0=BA=20=D0=BF=D1=80=D0=BE=D0=BA=D1=81=D0=B8=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D0=BE=D0=B1=D1=8B=D1=87=D0=BD=D0=BE=D0=B3=D0=BE?= =?UTF-8?q?=20=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D0=BD=D0=B5=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web_proxy.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/web_proxy.py b/web_proxy.py index f81ca65..cbfe96c 100644 --- a/web_proxy.py +++ b/web_proxy.py @@ -2,6 +2,7 @@ import http.server import socketserver import urllib.request import logging +from os.path import exists from db import * base_url = read()['base_url'] @@ -21,6 +22,11 @@ class Proxy(http.server.SimpleHTTPRequestHandler): target = self.path domain = target[7:] domain = domain[:domain.find('/')] + + if not exists(f'cached/{domain}'): + self.send_error(404, f"Site not found") + return 404 + # Если статичный if read(f'cached/{domain}/config.json')['type'] == 'static': target = f'{base_url}/{target[7:]}' # http://127.0.0.1:8000 / js-check.jet @@ -28,9 +34,6 @@ class Proxy(http.server.SimpleHTTPRequestHandler): elif read(f'cached/{domain}/config.json')['type'] == 'dynamic': port = read(f'cached/{domain}/config.json')['port'] target = f'http://bore.del.pw:{port}/{target.replace(f"http://{domain}/", "")}' - else: - self.send_error(404, f"Site not found") - return 0 ic(f"Modded request: {target}") @@ -47,14 +50,15 @@ class Proxy(http.server.SimpleHTTPRequestHandler): def do_POST(self): ic(f"Request for: {self.path}") + if not exists(f'cached/{domain}'): + self.send_error(404, f"Site not found") + return 404 + if read(f'cached/{domain}/config.json')['type'] == 'static': target = f'{base_url}/{target[7:]}' # http://127.0.0.1:8000 / js-check.jet elif read(f'cached/{domain}/config.json')['type'] == 'dynamic': port = read(f'cached/{domain}/config.json')['port'] target = f'http://bore.del.pw:{port}/{target.replace(f"http://{domain}/", "")}' - else: - self.send_error(404, f"Site not found") - return 0 ic(f"Modded request: {target}") @@ -74,5 +78,5 @@ class Proxy(http.server.SimpleHTTPRequestHandler): def web_proxy(): PORT = 8080 with socketserver.TCPServer(("", PORT), Proxy) as httpd: - ic(f"Serving on port {PORT}") + print(f"HTTP proxy on port {PORT}") httpd.serve_forever()