pub async fn connect_udp_local(ns: SocketAddr, connect_opts: &ConnectOpts) -> io::Result<Self> {
        let socket = ShadowUdpSocket::connect_with_opts(&ns, connect_opts).await?.into();
        Ok(Self::UdpLocal { socket })
    }
Connect to local provided UDP DNS server
crates/shadowsocks-service/src/local/dns/upstream.rs