Update proxy.py with buffer size constant and
localized print statement
This commit is contained in:
parent
f4f5690ff8
commit
0c9d2d41a4
|
@ -7,6 +7,7 @@ import logging
|
|||
import logging.handlers
|
||||
from logging import config
|
||||
|
||||
BUFFER_SIZE = 32 * 1024
|
||||
CURRENT_THREADS = 0
|
||||
MAX_THREADS = 10
|
||||
BACKLOG = 50
|
||||
|
@ -68,7 +69,7 @@ class Server:
|
|||
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
self.sock.bind((host, port))
|
||||
self.sock.listen(BACKLOG)
|
||||
print(f"Listening at: http://{host}:{port}")
|
||||
print(f"Proxy executando em: http://{host}:{port}")
|
||||
|
||||
def thread_check(self):
|
||||
global CURRENT_THREADS, MAX_THREADS
|
||||
|
@ -99,7 +100,7 @@ def is_valid_status_code(status_code:str):
|
|||
return False
|
||||
|
||||
def connectionHandle(client_socket, client_address):
|
||||
request = client_socket.recv(16 * 1024)
|
||||
request = client_socket.recv(BUFFER_SIZE)
|
||||
logger = Logger.instance()
|
||||
|
||||
if len(request) == 0:
|
||||
|
@ -112,9 +113,9 @@ def connectionHandle(client_socket, client_address):
|
|||
client_socket.close()
|
||||
return
|
||||
|
||||
# if "CONNECT" in raw_request:
|
||||
# client_socket.sendall(b"HTTP/1.1 200 Connection Established\r\n\r\n")
|
||||
# request = client_socket.recv(16 * 1024)
|
||||
if "CONNECT" in raw_request:
|
||||
client_socket.sendall(b"HTTP/1.1 200 Connection Established\r\n\r\n")
|
||||
request = client_socket.recv(BUFFER_SIZE)
|
||||
|
||||
request_url = raw_request.split(' ')[1]
|
||||
request_host = ""
|
||||
|
@ -132,12 +133,12 @@ def connectionHandle(client_socket, client_address):
|
|||
request_port = int(request_host.split(':')[1])
|
||||
request_host = request_host.split(':')[0]
|
||||
|
||||
if "monitorando" in request_url:
|
||||
if "monitorando" in request_url.lower():
|
||||
body = open('forbidden.html', 'r').read()
|
||||
client_socket.sendall(b"HTTP/1.1 403 Forbidden\r\n\r\n")
|
||||
client_socket.sendall(body.encode())
|
||||
client_socket.close()
|
||||
logger.info(f"REQUEST [{client_address[0]}:{client_address[1]}] to [{request_host}:{request_port}] - 403 Forbidden")
|
||||
logger.info(f"REQUEST [{client_address[0]}:{client_address[1]}] to [{request_host}:{request_port}] - 'Monitorando' - 403 Forbidden")
|
||||
return
|
||||
|
||||
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
|
@ -150,7 +151,7 @@ def connectionHandle(client_socket, client_address):
|
|||
break
|
||||
try:
|
||||
if server_socket in triple:
|
||||
data = server_socket.recv(16 * 1024)
|
||||
data = server_socket.recv(BUFFER_SIZE)
|
||||
if not data:
|
||||
break
|
||||
|
||||
|
@ -158,14 +159,14 @@ def connectionHandle(client_socket, client_address):
|
|||
status_code = data.decode().split('\r\n')[0].split(' ')[1:]
|
||||
status_code = ' '.join(status_code)
|
||||
if is_valid_status_code(status_code):
|
||||
logger.info(f"PROXY [{client_address[0]}:{client_address[1]}] to [{request_host}:{request_port}] - {status_code}")
|
||||
logger.info(f"REQUEST [{client_address[0]}:{client_address[1]}] to [{request_host}:{request_port}] - {status_code}")
|
||||
except UnicodeDecodeError:
|
||||
logger.info(f"PROXY [{client_address[0]}:{client_address[1]}] to [{request_host}:{request_port}]")
|
||||
logger.info(f"REQUEST [{client_address[0]}:{client_address[1]}] to [{request_host}:{request_port}]")
|
||||
pass
|
||||
|
||||
client_socket.send(data)
|
||||
if client_socket in triple:
|
||||
data = client_socket.recv(16 * 1024)
|
||||
data = client_socket.recv(BUFFER_SIZE)
|
||||
if not data:
|
||||
break
|
||||
|
||||
|
@ -198,7 +199,7 @@ def verify_code_integrity():
|
|||
print('Arquivo do proxy verificado!')
|
||||
|
||||
if __name__ == '__main__':
|
||||
# verify_code_integrity()
|
||||
verify_code_integrity()
|
||||
|
||||
try:
|
||||
ser = Server(host="0.0.0.0", port=8080)
|
||||
|
|
|
@ -1 +1 @@
|
|||
24d2be62b48be63f31093585f52f7887
|
||||
dd8f33d81858978c4fec0eb3c2f0acb768028a10d80428417aae91bf86b343d3
|
Loading…
Reference in New Issue