def __init__(self, proxy_url, proxy_port, proxy_username, proxy_password, listen_host=None, listen_port=3129, buffer_size=4096): self.proxy_url = proxy_url self.proxy_port = proxy_port self.proxy_username = proxy_username self.proxy_password = proxy_password self.listen_host = listen_host or '' self.listen_port = listen_port self.buffer_size = buffer_size self.credentials = b64encode('{}:{}'.format(self.proxy_username, self.proxy_password)) self.running = False self.worker_thread = threading.Thread(target=self._worker_thread) self.worker_thread.daemon = True self.addr_resolver = PFResolver()