use super::TunnelResult;
use std::process::Stdio;
use tokio::process::Command;
pub async fn start(local_port: u16) -> TunnelResult {
let child = Command::new("tailscale")
.args(["funnel", &local_port.to_string()])
.stdout(Stdio::piped())
.stderr(Stdio::piped())
.spawn();
let child = match child {
Ok(c) => c,
Err(e) => return TunnelResult::Unavailable(format!("tailscale: {e}")),
};
super::parse_url_from_output(child, |url| url.contains(".ts.net"), 15, "tailscale").await
}