diff --git a/Cargo.toml b/Cargo.toml index b2c5b6e..60c8dd2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -36,6 +36,7 @@ tun2 = { version = "1.2", features = ["async"] } udp-stream = { version = "0.0", default-features = false } unicase = "2.7" url = "2.5" +url-escape = "0.1" [target.'cfg(target_os="linux")'.dependencies] serde = { version = "1", features = ["derive"] } diff --git a/src/args.rs b/src/args.rs index e5d1ca5..63c1713 100644 --- a/src/args.rs +++ b/src/args.rs @@ -326,8 +326,8 @@ impl ArgProxy { let credentials = if url.username() == "" && url.password().is_none() { None } else { - let username = String::from(url.username()); - let password = String::from(url.password().unwrap_or("")); + let username = url_escape::decode(url.username()); + let password = url_escape::decode(url.password().unwrap_or("")); Some(UserKey::new(username, password)) };