From b3fe8a1fd1857e929e33f9b3b92af94f29eaecd2 Mon Sep 17 00:00:00 2001 From: Keivan-sf Date: Sun, 27 Jul 2025 18:29:17 +0330 Subject: [PATCH] Url decode names --- src/parser/trojan/data.rs | 4 ++-- src/parser/vless/data.rs | 2 +- src/parser/vmess/data.rs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/parser/trojan/data.rs b/src/parser/trojan/data.rs index 1d3200d..25ec883 100644 --- a/src/parser/trojan/data.rs +++ b/src/parser/trojan/data.rs @@ -13,7 +13,7 @@ pub fn get_data(uri: &str) -> RawData { let query: Vec<(&str, &str)> = querystring::querify(raw_query); return RawData { - remarks: String::from(name), + remarks: url_decode(Some(String::from(name))).unwrap_or(String::from("")), uuid: Some(parsed_address.uuid), port: Some(parsed_address.port), address: Some(parsed_address.address), @@ -54,7 +54,7 @@ fn parse_trojan_address(raw_data: &str) -> models::TrojanAddress { let parsed = address_wo_slash.parse::().unwrap(); - return models::TrojanAddress{ + return models::TrojanAddress { uuid: url_decode(Some(uuid)).unwrap(), address: parsed.host().unwrap().to_string(), port: parsed.port().unwrap().as_u16(), diff --git a/src/parser/vless/data.rs b/src/parser/vless/data.rs index a1c3fa3..e437e6b 100644 --- a/src/parser/vless/data.rs +++ b/src/parser/vless/data.rs @@ -13,7 +13,7 @@ pub fn get_data(uri: &str) -> RawData { let query: Vec<(&str, &str)> = querystring::querify(raw_query); return RawData { - remarks: String::from(name), + remarks: url_decode(Some(String::from(name))).unwrap_or(String::from("")), uuid: Some(parsed_address.uuid), port: Some(parsed_address.port), address: Some(parsed_address.address), diff --git a/src/parser/vmess/data.rs b/src/parser/vmess/data.rs index 4456297..f9795c9 100644 --- a/src/parser/vmess/data.rs +++ b/src/parser/vmess/data.rs @@ -19,7 +19,7 @@ fn get_raw_data_from_base64(decoded_base64: &Vec) -> RawData { let json = serde_json::from_str::(json_str).unwrap(); return RawData { - remarks: get_str_field(&json, "ps").unwrap_or(String::from("")), + remarks: url_decode(get_str_field(&json, "ps")).unwrap_or(String::from("")), uuid: get_str_field(&json, "id"), port: get_str_field(&json, "port") .and_then(|s| Some(s.parse::().expect("port is not a number"))),