From 9a3794073bb0827452583085a2269b5d924e32c0 Mon Sep 17 00:00:00 2001 From: coolcoala Date: Wed, 30 Jul 2025 06:50:59 +0300 Subject: [PATCH] fixed flag display when adding a link via vless:// --- src-tauri/src/cmd/profile.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src-tauri/src/cmd/profile.rs b/src-tauri/src/cmd/profile.rs index fbd25f3f..74876d28 100644 --- a/src-tauri/src/cmd/profile.rs +++ b/src-tauri/src/cmd/profile.rs @@ -13,6 +13,7 @@ use std::collections::BTreeMap; use url::Url; use serde_yaml::Value; use base64::{engine::general_purpose::STANDARD, Engine as _}; +use percent_encoding::percent_decode_str; // 全局互斥锁防止并发配置更新 static PROFILE_UPDATE_MUTEX: Mutex<()> = Mutex::const_new(()); @@ -1079,7 +1080,9 @@ pub async fn create_profile_from_share_link(link: String, template_name: String) let parsed_url = Url::parse(&link).map_err(|e| e.to_string())?; let scheme = parsed_url.scheme(); - let proxy_name = parsed_url.fragment().unwrap_or("Proxy from Link").to_string(); + let proxy_name = parsed_url.fragment() + .map(|f| percent_decode_str(f).decode_utf8_lossy().to_string()) + .unwrap_or_else(|| "Proxy from Link".to_string()); let mut proxy_map: BTreeMap = BTreeMap::new(); proxy_map.insert("name".into(), proxy_name.clone().into());