Update server.py

This commit is contained in:
Namhyeon Go 2024-02-17 14:40:33 +09:00 committed by GitHub
parent dd79eb6e3d
commit cdb87f15ff
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -127,6 +127,10 @@ def proxy_connect(webserver, conn):
return (conn, data) return (conn, data)
def proxy_filter(response):
# todo
pass
def proxy_server(webserver, port, scheme, method, url, conn, addr, data): def proxy_server(webserver, port, scheme, method, url, conn, addr, data):
try: try:
print("[*] Started the request. %s" % (str(addr[0]))) print("[*] Started the request. %s" % (str(addr[0])))
@ -137,6 +141,7 @@ def proxy_server(webserver, port, scheme, method, url, conn, addr, data):
except Exception as e: except Exception as e:
raise Exception("SSL negotiation failed. %s" % (str(e))) raise Exception("SSL negotiation failed. %s" % (str(e)))
response = b''
if server_url == "localhost": if server_url == "localhost":
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
@ -153,8 +158,10 @@ def proxy_server(webserver, port, scheme, method, url, conn, addr, data):
chunk = ssl_sock.recv(buffer_size) chunk = ssl_sock.recv(buffer_size)
if not chunk: if not chunk:
break break
response += chuck
proxy_filter(response)
conn.send(chunk) conn.send(chunk)
i = i + 1 i += 1
print("[*] Received %s chucks. (%s bytes per chuck)" % (str(i), str(buffer_size))) print("[*] Received %s chucks. (%s bytes per chuck)" % (str(i), str(buffer_size)))
else: else:
@ -181,8 +188,10 @@ def proxy_server(webserver, port, scheme, method, url, conn, addr, data):
i = 0 i = 0
relay = requests.post(server_url, headers=proxy_data['headers'], data=raw_data, stream=True) relay = requests.post(server_url, headers=proxy_data['headers'], data=raw_data, stream=True)
for chunk in relay.iter_content(chunk_size=buffer_size): for chunk in relay.iter_content(chunk_size=buffer_size):
response += chuck
proxy_filter(response)
conn.send(chunk) conn.send(chunk)
i = i + 1 i += 1
print("[*] Received %s chucks. (%s bytes per chuck)" % (str(i), str(buffer_size))) print("[*] Received %s chucks. (%s bytes per chuck)" % (str(i), str(buffer_size)))