Port forwarding CLI utility written in Rust with allowlists, TLS SNI and ALPN routing, HTTP forwarding, load balancing, IP-to-destination mapping, and iptables support.
usetokio::io::AsyncWriteExt;#[inline]#[allow(clippy::uninit_vec)]pubfnallocate_vec<T>(len:usize)->Vec<T>{letmut ret =Vec::with_capacity(len);unsafe{
ret.set_len(len);}
ret
}// a cancellable alternative to AsyncWriteExt::write_all
pub async fnwrite_all<T: AsyncWriteExt + Unpin>(stream:&mut T,
buf:&[u8],
)->std::io::Result<()>{letmut i =0;let n = buf.len();while i < n {let n = stream.write(&buf[i..]).await?;
i += n;}Ok(())}