From ac3163d06122c63336b734eaab3af4627f747da2 Mon Sep 17 00:00:00 2001 From: coolcoala Date: Fri, 18 Jul 2025 04:17:58 +0300 Subject: [PATCH] added button to turn off hwid sending --- src-tauri/src/config/verge.rs | 6 ++++++ src-tauri/src/utils/resolve.rs | 14 +------------- src/components/setting/setting-system.tsx | 17 +++++++++++++++++ 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/src-tauri/src/config/verge.rs b/src-tauri/src/config/verge.rs index 105aa6dd..91584935 100644 --- a/src-tauri/src/config/verge.rs +++ b/src-tauri/src/config/verge.rs @@ -74,6 +74,8 @@ pub struct IVerge { /// enable dns settings - this controls whether dns_config.yaml is applied pub enable_dns_settings: Option, + pub enable_send_hwid: Option, + pub primary_action: Option, /// always use default bypass @@ -403,6 +405,7 @@ impl IVerge { enable_auto_light_weight_mode: Some(false), auto_light_weight_minutes: Some(10), enable_dns_settings: Some(false), + enable_send_hwid: Some(true), primary_action: Some("tun-mode".into()), home_cards: None, service_state: None, @@ -492,6 +495,7 @@ impl IVerge { patch!(enable_auto_light_weight_mode); patch!(auto_light_weight_minutes); patch!(enable_dns_settings); + patch!(enable_send_hwid); patch!(primary_action); patch!(home_cards); patch!(service_state); @@ -588,6 +592,7 @@ pub struct IVergeResponse { pub enable_auto_light_weight_mode: Option, pub auto_light_weight_minutes: Option, pub enable_dns_settings: Option, + pub enable_send_hwid: Option, pub primary_action: Option, pub home_cards: Option, pub enable_hover_jump_navigator: Option, @@ -661,6 +666,7 @@ impl From for IVergeResponse { enable_auto_light_weight_mode: verge.enable_auto_light_weight_mode, auto_light_weight_minutes: verge.auto_light_weight_minutes, enable_dns_settings: verge.enable_dns_settings, + enable_send_hwid: verge.enable_send_hwid, primary_action: verge.primary_action, home_cards: verge.home_cards, enable_hover_jump_navigator: verge.enable_hover_jump_navigator, diff --git a/src-tauri/src/utils/resolve.rs b/src-tauri/src/utils/resolve.rs index c6359a85..aaccc005 100644 --- a/src-tauri/src/utils/resolve.rs +++ b/src-tauri/src/utils/resolve.rs @@ -552,33 +552,21 @@ pub async fn resolve_scheme(param: String) -> Result<()> { if link_parsed.scheme() == "clash" || link_parsed.scheme() == "clash-verge" { let mut name: Option = None; let mut url_param: Option = None; - let mut use_hwid = true; for (key, value) in link_parsed.query_pairs() { match key.as_ref() { "name" => name = Some(value.into_owned()), "url" => url_param = Some(percent_decode_str(&value).decode_utf8_lossy().to_string()), - "hwid" => use_hwid = value == "1" || value == "true", _ => {} } } - let option = if use_hwid { - log::info!(target:"app", "HWID usage requested via deep link"); - Some(PrfOption { - use_hwid: Some(true), - ..Default::default() - }) - } else { - None - }; - match url_param { Some(url) => { log::info!(target:"app", "decoded subscription url: {url}"); create_window(false); - match PrfItem::from_url(url.as_ref(), name, None, option).await { + match PrfItem::from_url(url.as_ref(), name, None, None).await { Ok(item) => { let uid = item.uid.clone().unwrap(); let _ = wrap_err!(Config::profiles().data().append_item(item)); diff --git a/src/components/setting/setting-system.tsx b/src/components/setting/setting-system.tsx index 185c7c9c..72b6c2a7 100644 --- a/src/components/setting/setting-system.tsx +++ b/src/components/setting/setting-system.tsx @@ -43,6 +43,7 @@ import { Power, BellOff, Repeat, + Fingerprint } from "lucide-react"; // Модальные окна @@ -390,6 +391,22 @@ const SettingSystem = ({ onError }: Props) => { + + } + > + onChangeData({ enable_send_hwid: e })} + onGuard={(e) => patchVerge({ enable_send_hwid: e })} + onCatch={onError} + > + + + );