[test] temp stop proxy.

This commit is contained in:
YinMo19 2025-04-24 00:27:54 +08:00
parent bac2ffd31e
commit 29a322e6e3

View File

@ -38,69 +38,63 @@ impl WsFramedStream {
) -> ResultType<Self> { ) -> ResultType<Self> {
let url_str = url.as_ref(); let url_str = url.as_ref();
if let Some(proxy_conf) = proxy_conf { // if let Some(proxy_conf) = proxy_conf {
// use proxy connect // // use proxy connect
let url_obj = url::Url::parse(url_str)?; // let url_obj = url::Url::parse(url_str)?;
let host = url_obj // let host = url_obj
.host_str() // .host_str()
.ok_or_else(|| Error::new(ErrorKind::Other, "Invalid URL: no host"))?; // .ok_or_else(|| Error::new(ErrorKind::Other, "Invalid URL: no host"))?;
let port = url_obj // let port = url_obj
.port() // .port()
.unwrap_or(if url_obj.scheme() == "wss" { 443 } else { 80 }); // .unwrap_or(if url_obj.scheme() == "wss" { 443 } else { 80 });
let socket = // let socket =
tokio_socks::tcp::Socks5Stream::connect(proxy_conf.proxy.as_str(), (host, port)) // tokio_socks::tcp::Socks5Stream::connect(proxy_conf.proxy.as_str(), (host, port))
.await?; // .await?;
let tcp_stream = socket.into_inner(); // let tcp_stream = socket.into_inner();
let maybe_tls_stream = MaybeTlsStream::Plain(tcp_stream); // let maybe_tls_stream = MaybeTlsStream::Plain(tcp_stream);
let ws_stream = // let ws_stream =
WebSocketStream::from_raw_socket(maybe_tls_stream, Role::Client, None).await; // WebSocketStream::from_raw_socket(maybe_tls_stream, Role::Client, None).await;
let addr = match ws_stream.get_ref() { // let addr = match ws_stream.get_ref() {
MaybeTlsStream::Plain(tcp) => tcp.peer_addr()?, // MaybeTlsStream::Plain(tcp) => tcp.peer_addr()?,
_ => return Err(Error::new(ErrorKind::Other, "Unsupported stream type").into()), // _ => return Err(Error::new(ErrorKind::Other, "Unsupported stream type").into()),
}; // };
let ws = Self { // let ws = Self {
stream: ws_stream, // stream: ws_stream,
addr, // addr,
encrypt: None, // encrypt: None,
send_timeout: ms_timeout, // send_timeout: ms_timeout,
}; // };
Ok(ws) // Ok(ws)
} else { // } else {
log::info!("{:?}", url_str); log::info!("{:?}", url_str);
let request = url_str let request = url_str
.into_client_request() .into_client_request()
.map_err(|e| Error::new(ErrorKind::Other, e))?; .map_err(|e| Error::new(ErrorKind::Other, e))?;
// 添加必要协议头 let (stream, _) =
// request.headers_mut().insert( timeout(Duration::from_millis(ms_timeout), connect_async(request)).await??;
// "Sec-WebSocket-Protocol",
// tungstenite::http::HeaderValue::from_static("rustdesk"),
// );
let (stream, _) = let addr = match stream.get_ref() {
timeout(Duration::from_millis(ms_timeout), connect_async(request)).await??; MaybeTlsStream::Plain(tcp) => tcp.peer_addr()?,
_ => return Err(Error::new(ErrorKind::Other, "Unsupported stream type").into()),
};
let addr = match stream.get_ref() { let ws = Self {
MaybeTlsStream::Plain(tcp) => tcp.peer_addr()?, stream,
_ => return Err(Error::new(ErrorKind::Other, "Unsupported stream type").into()), addr,
}; encrypt: None,
send_timeout: ms_timeout,
};
let mut ws = Self { Ok(ws)
stream, // }
addr,
encrypt: None,
send_timeout: ms_timeout,
};
Ok(ws)
}
} }
pub fn set_raw(&mut self) {} pub fn set_raw(&mut self) {}
@ -180,6 +174,7 @@ impl WsFramedStream {
let msg = match msg { let msg = match msg {
Ok(msg) => msg, Ok(msg) => msg,
Err(e) => { Err(e) => {
log::debug!("{}", e);
return Some(Err(Error::new( return Some(Err(Error::new(
ErrorKind::Other, ErrorKind::Other,
format!("WebSocket protocol error: {}", e), format!("WebSocket protocol error: {}", e),