hide password
This commit is contained in:
parent
bce24919eb
commit
c1925894f7
4 changed files with 38 additions and 8 deletions
22
Cargo.lock
generated
22
Cargo.lock
generated
|
@ -1138,6 +1138,27 @@ dependencies = [
|
||||||
"winreg",
|
"winreg",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rpassword"
|
||||||
|
version = "7.2.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "6678cf63ab3491898c0d021b493c94c9b221d91295294a2a5746eacbe5928322"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"rtoolbox",
|
||||||
|
"winapi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rtoolbox"
|
||||||
|
version = "0.0.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "034e22c514f5c0cb8a10ff341b9b048b5ceb21591f31c8f44c43b960f9b3524a"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"winapi",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustc_version"
|
name = "rustc_version"
|
||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
|
@ -1638,6 +1659,7 @@ dependencies = [
|
||||||
"clap",
|
"clap",
|
||||||
"directories",
|
"directories",
|
||||||
"reqwest",
|
"reqwest",
|
||||||
|
"rpassword",
|
||||||
"scraper",
|
"scraper",
|
||||||
"serde",
|
"serde",
|
||||||
"tokio",
|
"tokio",
|
||||||
|
|
|
@ -16,3 +16,4 @@ reqwest = { version = "0.11", features = ["cookies"] }
|
||||||
tokio = { version = ">=1.23.1", features = ["full"] }
|
tokio = { version = ">=1.23.1", features = ["full"] }
|
||||||
scraper = "0.14"
|
scraper = "0.14"
|
||||||
clap = { version = "4.0.32", features = ["derive"] }
|
clap = { version = "4.0.32", features = ["derive"] }
|
||||||
|
rpassword = "7.2"
|
||||||
|
|
10
src/main.rs
10
src/main.rs
|
@ -45,9 +45,9 @@ async fn main() {
|
||||||
username: if args.username.is_some() {
|
username: if args.username.is_some() {
|
||||||
args.username.unwrap()
|
args.username.unwrap()
|
||||||
} else {
|
} else {
|
||||||
utils::ask("Username: ")
|
utils::ask_username()
|
||||||
},
|
},
|
||||||
password: Some(utils::ask("Password: ")),
|
password: Some(utils::ask_password()),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -57,14 +57,14 @@ async fn main() {
|
||||||
args.username.unwrap()
|
args.username.unwrap()
|
||||||
} else {
|
} else {
|
||||||
// Only ask if nothing has been given in args
|
// Only ask if nothing has been given in args
|
||||||
utils::ask("Username: ")
|
utils::ask_username()
|
||||||
},
|
},
|
||||||
password: Some(utils::ask("Password: ")),
|
password: Some(utils::ask_password()),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
if config.password.is_none() {
|
if config.password.is_none() {
|
||||||
config.password = Some(utils::ask("Password: "));
|
config.password = Some(utils::ask_password());
|
||||||
}
|
}
|
||||||
|
|
||||||
let user_agent = format!("uwm/{}", env!("CARGO_PKG_VERSION"));
|
let user_agent = format!("uwm/{}", env!("CARGO_PKG_VERSION"));
|
||||||
|
|
13
src/utils.rs
13
src/utils.rs
|
@ -1,17 +1,24 @@
|
||||||
use std::io::{self, Write};
|
use std::io::{self, Write};
|
||||||
|
|
||||||
/// Ask user for something
|
/// Ask user for username
|
||||||
pub fn ask(text: &str) -> std::string::String {
|
pub fn ask_username() -> std::string::String {
|
||||||
let mut user_input = String::new();
|
let mut user_input = String::new();
|
||||||
let stdin = io::stdin();
|
let stdin = io::stdin();
|
||||||
|
|
||||||
print!("{}", text);
|
print!("Username: ");
|
||||||
io::stdout().flush().unwrap();
|
io::stdout().flush().unwrap();
|
||||||
stdin.read_line(&mut user_input).unwrap();
|
stdin.read_line(&mut user_input).unwrap();
|
||||||
|
|
||||||
user_input.trim_end().to_string()
|
user_input.trim_end().to_string()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Ask user for password
|
||||||
|
pub fn ask_password() -> std::string::String {
|
||||||
|
print!("Password: ");
|
||||||
|
io::stdout().flush().unwrap();
|
||||||
|
rpassword::read_password().unwrap()
|
||||||
|
}
|
||||||
|
|
||||||
/// Write a document to a file
|
/// Write a document to a file
|
||||||
///
|
///
|
||||||
/// `html_data` may be created with something like that:
|
/// `html_data` may be created with something like that:
|
||||||
|
|
Reference in a new issue