mirror of
https://github.com/gnh1201/caterpillar.git
synced 2025-02-06 15:05:00 +00:00
Update server.py
This commit is contained in:
parent
dd79eb6e3d
commit
cdb87f15ff
13
server.py
13
server.py
|
@ -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)))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user