mirror of
https://github.com/gnh1201/caterpillar.git
synced 2025-09-06 01:41:00 +00:00
Update server.py
This commit is contained in:
parent
ce23bd341e
commit
df42b8dc6e
72
server.py
72
server.py
|
@ -137,34 +137,52 @@ 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)))
|
||||||
|
|
||||||
proxy_data = {
|
if server_url == "localhost":
|
||||||
'headers': {
|
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
"User-Agent": "php-httpproxy/0.1.3 (Client; Python " + python_version() + "; abuse@catswords.net)",
|
|
||||||
},
|
context = ssl.create_default_context()
|
||||||
'data': {
|
context.check_hostname = False
|
||||||
"data": base64.b64encode(data).decode(client_encoding),
|
context.verify_mode = ssl.CERT_NONE
|
||||||
"client": str(addr[0]),
|
|
||||||
"server": webserver.decode(client_encoding),
|
ssl_sock = context.wrap_socket(sock, server_hostname=webserver)
|
||||||
"port": str(port),
|
ssl_sock.connect((webserver, port))
|
||||||
"scheme": scheme.decode(client_encoding),
|
ssl_sock.sendall(data)
|
||||||
"url": url.decode(client_encoding),
|
|
||||||
"length": str(len(data)),
|
while True:
|
||||||
"chunksize": str(buffer_size),
|
data = ssl_sock.recv(1024)
|
||||||
"datetime": datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")
|
if not data:
|
||||||
|
break
|
||||||
|
conn.send(data)
|
||||||
|
print("[*] Request and received. Done. %s" % (str(addr[0])))
|
||||||
|
else:
|
||||||
|
proxy_data = {
|
||||||
|
'headers': {
|
||||||
|
"User-Agent": "php-httpproxy/0.1.3 (Client; Python " + python_version() + "; abuse@catswords.net)",
|
||||||
|
},
|
||||||
|
'data': {
|
||||||
|
"data": base64.b64encode(data).decode(client_encoding),
|
||||||
|
"client": str(addr[0]),
|
||||||
|
"server": webserver.decode(client_encoding),
|
||||||
|
"port": str(port),
|
||||||
|
"scheme": scheme.decode(client_encoding),
|
||||||
|
"url": url.decode(client_encoding),
|
||||||
|
"length": str(len(data)),
|
||||||
|
"chunksize": str(buffer_size),
|
||||||
|
"datetime": datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
raw_data = json.dumps(proxy_data['data'])
|
||||||
raw_data = json.dumps(proxy_data['data'])
|
|
||||||
|
print("[*] Sending %s bytes..." % (str(len(raw_data))))
|
||||||
print("[*] Sending %s bytes..." % (str(len(raw_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):
|
conn.send(chunk)
|
||||||
conn.send(chunk)
|
i = i + 1
|
||||||
i = 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)))
|
print("[*] Request and received. Done. %s" % (str(addr[0])))
|
||||||
print("[*] Request and received. Done. %s" % (str(addr[0])))
|
|
||||||
|
|
||||||
conn.close()
|
conn.close()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user