diff --git a/src/ipc.rs b/src/ipc.rs index 34711a900..c562225b4 100644 --- a/src/ipc.rs +++ b/src/ipc.rs @@ -111,7 +111,7 @@ pub enum DataKeyboardResponse { GetKeyState(bool), } -#[cfg(not(any(target_os = "android", target_os = "ios", feature = "cli")))] +#[cfg(not(any(target_os = "android", target_os = "ios")))] #[derive(Debug, Serialize, Deserialize, Clone)] #[serde(tag = "t", content = "c")] pub enum DataMouse { @@ -195,11 +195,11 @@ pub enum Data { ClipboardFileEnabled(bool), PrivacyModeState((i32, PrivacyModeState)), TestRendezvousServer, - #[cfg(not(any(target_os = "android", target_os = "ios", feature = "cli")))] + #[cfg(not(any(target_os = "android", target_os = "ios")))] Keyboard(DataKeyboard), - #[cfg(not(any(target_os = "android", target_os = "ios", feature = "cli")))] + #[cfg(not(any(target_os = "android", target_os = "ios")))] KeyboardResponse(DataKeyboardResponse), - #[cfg(not(any(target_os = "android", target_os = "ios", feature = "cli")))] + #[cfg(not(any(target_os = "android", target_os = "ios")))] Mouse(DataMouse), Control(DataControl), Theme(String), diff --git a/src/main.rs b/src/main.rs index 9c7170309..ca0bc2234 100644 --- a/src/main.rs +++ b/src/main.rs @@ -36,6 +36,7 @@ fn main() { use hbb_common::log; let args = format!( "-p, --port-forward=[PORT-FORWARD-OPTIONS] 'Format: remote-id:local-port:remote-port[:remote-host]' + -c, --connect=[REMOTE_ID] 'test only' -k, --key=[KEY] '' -s, --server... 'Start server'", ); @@ -71,6 +72,8 @@ fn main() { if options.len() > 3 { remote_host = options[3].clone(); } + common::test_rendezvous_server(); + common::test_nat_type(); let key = matches.value_of("key").unwrap_or("").to_owned(); let token = LocalConfig::get_option("access_token"); cli::start_one_port_forward( @@ -81,6 +84,14 @@ fn main() { key, token, ); + } else if let Some(p) = matches.value_of("connect") { + common::test_rendezvous_server(); + common::test_nat_type(); + let key = matches.value_of("key").unwrap_or("").to_owned(); + let token = LocalConfig::get_option("access_token"); + cli::connect_test(p, key, token); + } else if let Some(p) = matches.value_of("server") { + crate::start_server(true); } common::global_clean(); }