@@ -5,11 +5,12 @@ use std::sync::Arc;
55use tauri:: { AppHandle , Emitter } ;
66use tokio:: net:: TcpStream ;
77use tokio:: sync:: { mpsc, Mutex } ;
8+ use tokio_tungstenite:: tungstenite:: client:: IntoClientRequest ;
89use tokio_tungstenite:: tungstenite:: handshake:: client:: generate_key;
910use tokio_tungstenite:: tungstenite:: Message ;
11+ use tokio_tungstenite:: MaybeTlsStream ;
1012use tokio_tungstenite:: WebSocketStream ;
11- use tokio_tungstenite:: { connect_async, MaybeTlsStream } ;
12-
13+ use tokio_tungstenite:: { connect_async_tls_with_config, Connector } ;
1314#[ derive( Default ) ]
1415pub struct WebSocketManager {
1516 connections : Arc < Mutex < HashMap < String , Arc < WebSocketInstance > > > > ,
@@ -63,7 +64,22 @@ pub async fn connect_to_server(
6364 request. headers_mut ( ) . insert ( "X-API-TOKEN" , token. parse ( ) . unwrap ( ) ) ;
6465 }
6566
66- let ( ws_stream, _) = connect_async ( request) . await . map_err ( |e| format ! ( "WebSocket error: {:?}" , e) ) ?;
67+ let tls_connector = tokio_native_tls:: native_tls:: TlsConnector :: builder ( )
68+ . danger_accept_invalid_certs ( true ) // 🔥 THIS IGNORES CERT VALIDATION
69+ . build ( )
70+ . map_err ( |e| format ! ( "TLS build error: {:?}" , e) ) ?;
71+
72+ let connector = Connector :: NativeTls ( tls_connector. into ( ) ) ;
73+
74+ let ( ws_stream, _) = connect_async_tls_with_config (
75+ request,
76+ None , // WebSocketConfig
77+ true , // disable_nagle
78+ Some ( connector) , // Connector
79+ )
80+ . await
81+ . map_err ( |e| format ! ( "WebSocket TLS error: {:?}" , e) ) ?;
82+
6783 let ( cancel_tx, mut cancel_rx) = mpsc:: channel ( 1 ) ;
6884
6985 let instance = Arc :: new ( WebSocketInstance {
0 commit comments