From e582d6cbecf543b9cbdd1f207394eae814b188ab Mon Sep 17 00:00:00 2001 From: ssrlive <30760636+ssrlive@users.noreply.github.com> Date: Mon, 8 Apr 2024 15:28:56 +0800 Subject: [PATCH] Fix #107 --- Cargo.toml | 1 + src/args.rs | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) 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)) };