From 3dc807fc63c5115c0e61b80d78c26ef7f7036f61 Mon Sep 17 00:00:00 2001 From: Markus Unterwaditzer Date: Sat, 20 Sep 2025 19:49:01 +0200 Subject: [PATCH] Do not print instructions for admin UI when telnet is already running --- installer/src/tplink.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/installer/src/tplink.rs b/installer/src/tplink.rs index faac84a..f4c5a37 100644 --- a/installer/src/tplink.rs +++ b/installer/src/tplink.rs @@ -295,6 +295,16 @@ async fn handler(state: State, mut req: Request) -> Result Result<(), Error> { + let addr = SocketAddr::from_str(&format!("{admin_ip}:23")).unwrap(); + + if telnet_send_command(addr, "true", "exit code 0", true) + .await + .is_ok() + { + println!("telnet already appears to be running"); + return Ok(()); + } + let client: HttpProxyClient = hyper_util::client::legacy::Client::<(), ()>::builder(TokioExecutor::new()) .build(HttpConnector::new()); @@ -316,8 +326,6 @@ async fn tplink_launch_telnet_v5(admin_ip: &str) -> Result<(), Error> { let handle = tokio::spawn(async move { axum::serve(listener, app).await }); - let addr = SocketAddr::from_str(&format!("{admin_ip}:23")).unwrap(); - while telnet_send_command(addr, "true", "exit code 0", true) .await .is_err()