pub async fn connect_with_opts<A>(
        context: SharedContext,
        svr_cfg: &ServerConfig,
        addr: A,
        opts: &ConnectOpts,
    ) -> io::Result<Self>
    where
        A: Into<Address>,
    {
        Self::connect_with_opts_map(context, svr_cfg, addr, opts, |s| s).await
    }
Connect to target `addr` via shadowsocks' server configured by `svr_cfg`
crates/shadowsocks/src/relay/tcprelay/proxy_stream/client.rs