pub async fn run_proxy( listen_addr: String, remote_addr: String, name: String, protocol: Protocol, tx: Sender<ProxyEvent>, shutdown: Receiver<bool>, status: StatusMap, ) -> Result<()>