def connRemoteProxyServer(self,host,port,auth): self.remoteServer = host DDDProxyConfig.fetchRemoteCert(host, port) self.remoteSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.remoteSocket = ssl.wrap_socket(self.remoteSocket, ca_certs=DDDProxyConfig.SSLLocalCertPath(host,port), cert_reqs=ssl.CERT_REQUIRED) self.remoteSocket.connect((host,port)) randomNum = math.floor(time.time()) self.remoteSocket.send(struct.pack("i", randomNum)) checkA = hashlib.md5("%s%d" % (auth, randomNum)).hexdigest() self.remoteSocket.send(checkA) baseServer.log(1, self.threadid, checkA, randomNum)
def __init__(self, conn, addr, threadid): super(remoteServerHandler, self).__init__(conn, addr, threadid) DDDProxyConfig.createSSLCert() self.localProxy = ssl.wrap_socket( conn, certfile=DDDProxyConfig.SSLCertPath, keyfile=DDDProxyConfig.SSLKeyPath, server_side=True ) self.threadid = threadid self.source_address = addr self.orignConn = None self.KeepAlive = False self.method = "GET" self.httpMessage = "" self.lock = Queue.Queue() self.localProxyMark = "" self.httpData = True