mirror of
https://github.com/rustdesk/rustdesk-server.git
synced 2025-07-02 15:56:37 +00:00
working on new version
This commit is contained in:
parent
6482934949
commit
d87d761ab6
@ -21,7 +21,7 @@ fn main() -> ResultType<()> {
|
||||
.about("RustDesk Relay Server")
|
||||
.args_from_usage(&args)
|
||||
.get_matches();
|
||||
if !lic::check_lic(matches.value_of("email").unwrap_or("")) {
|
||||
if !lic::check_lic(matches.value_of("email").unwrap_or(""), hbbs::VERSION) {
|
||||
return Ok(());
|
||||
}
|
||||
let stop: Arc<Mutex<bool>> = Default::default();
|
||||
|
25
src/lic.rs
25
src/lic.rs
@ -21,11 +21,20 @@ pub struct Post {
|
||||
email: String,
|
||||
#[serde(default)]
|
||||
status: String,
|
||||
#[serde(default)]
|
||||
version: String,
|
||||
#[serde(default)]
|
||||
next_check_time: u32,
|
||||
}
|
||||
|
||||
const LICENSE_FILE: &'static str = ".license.txt";
|
||||
|
||||
pub fn check_lic(email: &str) -> bool {
|
||||
pub fn check_lic(email: &str, version: &str) -> bool {
|
||||
if email.is_empty() {
|
||||
log::error!("Registered email required (-m option). Please visit https://rustdesk.com/server for more infomration.");
|
||||
return false;
|
||||
}
|
||||
|
||||
let machine = get_lic();
|
||||
let path = Path::new(LICENSE_FILE);
|
||||
if Path::is_file(&path) {
|
||||
@ -35,14 +44,9 @@ pub fn check_lic(email: &str) -> bool {
|
||||
}
|
||||
}
|
||||
|
||||
if email.is_empty() {
|
||||
log::error!("Registered email required (-m option). Please visit https://rustdesk.com/server for more infomration.");
|
||||
return false;
|
||||
}
|
||||
|
||||
match check_email(machine, email.to_owned()) {
|
||||
match check_email(machine, email.to_owned(), version.to_owned()) {
|
||||
Ok(v) => {
|
||||
return v;
|
||||
return true;
|
||||
}
|
||||
Err(err) => {
|
||||
log::error!("{}", err);
|
||||
@ -58,12 +62,13 @@ fn write_lic(lic: &str) {
|
||||
}
|
||||
}
|
||||
|
||||
fn check_email(machine: String, email: String) -> ResultType<bool> {
|
||||
fn check_email(machine: String, email: String, version: String) -> ResultType<u32> {
|
||||
log::info!("Checking email with the server ...");
|
||||
let resp = minreq::post("http://rustdesk.com/api/check-email")
|
||||
.with_body(
|
||||
serde_json::to_string(&Post {
|
||||
machine: machine.clone(),
|
||||
version,
|
||||
email,
|
||||
..Default::default()
|
||||
})
|
||||
@ -79,10 +84,10 @@ fn check_email(machine: String, email: String) -> ResultType<bool> {
|
||||
bail!("Verification failure");
|
||||
}
|
||||
write_lic(&p.machine);
|
||||
Ok(p.next_check_time)
|
||||
} else {
|
||||
bail!("Server error: {}", resp.reason_phrase);
|
||||
}
|
||||
Ok(true)
|
||||
}
|
||||
|
||||
fn get_lic() -> String {
|
||||
|
@ -47,7 +47,7 @@ fn main() -> ResultType<()> {
|
||||
}
|
||||
return default.to_owned();
|
||||
};
|
||||
if !lic::check_lic(&get_arg("email", "")) {
|
||||
if !lic::check_lic(&get_arg("email", ""), crate::VERSION) {
|
||||
return Ok(());
|
||||
}
|
||||
let port = get_arg("port", DEFAULT_PORT);
|
||||
|
Loading…
x
Reference in New Issue
Block a user