add --connect to cli

This commit is contained in:
rustdesk 2022-12-29 11:18:03 +08:00
parent 7dc0c07578
commit 6bf1710477
2 changed files with 28 additions and 2 deletions

View File

@ -4,9 +4,9 @@ use hbb_common::{
log,
message_proto::*,
protobuf::Message as _,
rendezvous_proto::ConnType,
tokio::{self, sync::mpsc},
Stream,
rendezvous_proto::ConnType,
};
use std::sync::{Arc, RwLock};
@ -44,7 +44,7 @@ impl Interface for Session {
fn get_login_config_handler(&self) -> Arc<RwLock<LoginConfigHandler>> {
return self.lc.clone();
}
fn msgbox(&self, msgtype: &str, title: &str, text: &str, link: &str) {
if msgtype == "input-password" {
self.sender
@ -86,6 +86,25 @@ impl Interface for Session {
}
}
#[tokio::main(flavor = "current_thread")]
pub async fn connect_test(
id: &str,
key: String,
token: String,
) {
let (sender, mut receiver) = mpsc::unbounded_channel::<Data>();
let handler = Session::new(&id, sender);
if let Err(err) = crate::client::Client::start(
id,
&key,
&token,
ConnType::PORT_FORWARD,
handler,
).await {
log::error!("Failed to connect {}: {}", &id, err);
}
}
#[tokio::main(flavor = "current_thread")]
pub async fn start_one_port_forward(
id: String,

View File

@ -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'",
);
@ -83,6 +84,12 @@ 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);
}