mirror of
https://github.com/EasyTier/EasyTier.git
synced 2026-05-07 02:09:06 +00:00
enable sni for tls client (#691)
* enable sni for tls client * update test case * fix public_ip parse bug
This commit is contained in:
@@ -183,6 +183,7 @@ impl WSTunnelConnector {
|
||||
) -> Result<Box<dyn Tunnel>, TunnelError> {
|
||||
let is_wss = is_wss(&addr)?;
|
||||
let socket_addr = SocketAddr::from_url(addr.clone(), ip_version)?;
|
||||
let domain = addr.domain();
|
||||
let host = socket_addr.ip();
|
||||
let stream = tcp_socket.connect(socket_addr).await?;
|
||||
|
||||
@@ -203,8 +204,16 @@ impl WSTunnelConnector {
|
||||
init_crypto_provider();
|
||||
let tls_conn =
|
||||
tokio_rustls::TlsConnector::from(Arc::new(get_insecure_tls_client_config()));
|
||||
let domain_or_ip = match domain {
|
||||
None => {
|
||||
host.to_string()
|
||||
}
|
||||
Some(domain) => {
|
||||
domain.to_string()
|
||||
}
|
||||
};
|
||||
let stream = tls_conn
|
||||
.connect(host.to_string().try_into().unwrap(), stream)
|
||||
.connect(domain_or_ip.try_into().unwrap(), stream)
|
||||
.await?;
|
||||
MaybeTlsStream::Rustls(stream)
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user