Update server.py

This commit is contained in:
Namhyeon Go 2024-02-18 12:59:24 +09:00 committed by GitHub
parent 54162b4e9e
commit 3183daf103
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -185,18 +185,16 @@ def proxy_server(webserver, port, scheme, method, url, conn, addr, data):
try:
print("[*] Started the request. %s" % (str(addr[0])))
retry = False
try:
if scheme in [b'https', b'tls', b'ssl'] and method == b'CONNECT':
conn, data = proxy_connect(webserver, conn)
except OSError as e:
if not retry:
print ("[*] Retrying SSL negotiation... (%s:%s) %s" % (webserver.decode(client_encoding), str(port), str(e)))
retry = True
else:
raise Exception("SSL negotiation failed. (%s:%s) %s" % (webserver.decode(client_encoding), str(port), str(e)))
except Exception as e:
raise Exception("SSL negotiation failed. (%s:%s) %s" % (webserver.decode(client_encoding), str(port), str(e)))
# SSL negotiation
if scheme in [b'https', b'tls', b'ssl'] and method == b'CONNECT':
while True:
try:
conn, data = proxy_connect(webserver, conn)
break # success
except OSError as e:
print ("[*] Retrying SSL negotiation... (%s:%s) %s" % (webserver.decode(client_encoding), str(port), str(e)))
except Exception as e:
raise Exception("SSL negotiation failed. (%s:%s) %s" % (webserver.decode(client_encoding), str(port), str(e)))
# Wait to see if there is more data to transmit
if len(data) == buffer_size: