hbbr.rs 987 B

1234567891011121314151617181920212223242526272829303132333435
  1. use clap::App;
  2. mod relay_server;
  3. use hbb_common::{env_logger::*, ResultType};
  4. use relay_server::*;
  5. use std::sync::{Arc, Mutex};
  6. mod lic;
  7. fn main() -> ResultType<()> {
  8. init_from_env(Env::default().filter_or(DEFAULT_FILTER_ENV, "info"));
  9. let args = format!(
  10. "-p, --port=[NUMBER(default={})] 'Sets the listening port'
  11. -k, --key=[KEY] 'Only allow the client with the same key'
  12. {}
  13. ",
  14. DEFAULT_PORT,
  15. lic::EMAIL_ARG
  16. );
  17. let matches = App::new("hbbr")
  18. .version(hbbs::VERSION)
  19. .author("CarrieZ Studio<info@rustdesk.com>")
  20. .about("RustDesk Relay Server")
  21. .args_from_usage(&args)
  22. .get_matches();
  23. if !lic::check_lic(matches.value_of("email").unwrap_or("")) {
  24. return Ok(());
  25. }
  26. let stop: Arc<Mutex<bool>> = Default::default();
  27. start(
  28. matches.value_of("port").unwrap_or(DEFAULT_PORT),
  29. matches.value_of("key").unwrap_or(""),
  30. stop,
  31. )?;
  32. Ok(())
  33. }