diff --git a/syncplay-proxy/syncplay-proxy b/syncplay-proxy/syncplay-proxy index 5ed7a4e..a5f0b4b 100755 --- a/syncplay-proxy/syncplay-proxy +++ b/syncplay-proxy/syncplay-proxy @@ -14,6 +14,7 @@ import sys listen_port = int(sys.argv[1]) forward_port = int(sys.argv[2]) + class SyncplayRequestHandler(socketserver.BaseRequestHandler): def handle(self): print('Handling connection from:', self.client_address) @@ -22,7 +23,7 @@ class SyncplayRequestHandler(socketserver.BaseRequestHandler): print('Bad connection header from:', self.client_address) try: self.request.close() - except: + except Exception as e: pass return print('Opening forwarding connection on behalf of:', self.client_address) @@ -45,18 +46,21 @@ class SyncplayRequestHandler(socketserver.BaseRequestHandler): print('Proxying stopped for:', self.client_address) try: forwarded_conn.close() - except: + except Exception as e: pass try: self.request.close() - except: + except Exception as e: pass + class SyncplayServer(socketserver.ThreadingTCPServer): address_family = socket.AF_INET6 + def server_bind(self): self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) socketserver.ThreadingTCPServer.server_bind(self) + with SyncplayServer(('', listen_port), SyncplayRequestHandler) as server: server.serve_forever()