diff --git a/src-tauri/src/feat.rs b/src-tauri/src/feat.rs index ce798ed4..8ac9f095 100644 --- a/src-tauri/src/feat.rs +++ b/src-tauri/src/feat.rs @@ -88,37 +88,16 @@ pub fn toggle_system_proxy() { pub fn toggle_tun_mode() { let enable = Config::verge().data().enable_tun_mode; let enable = enable.unwrap_or(false); + tauri::async_runtime::spawn(async move { - if !enable { - if let Ok(res) = service::check_service().await { - if res.code == 0 { - match patch_verge(IVerge { - enable_tun_mode: Some(!enable), - ..IVerge::default() - }) - .await - { - Ok(_) => handle::Handle::refresh_verge(), - Err(err) => log::error!(target: "app", "{err}"), - } - return; - } - } - tauri::api::dialog::message( - None::<&tauri::Window>, - "Please install and enable service mode", - "Service mode is required for Tun mode", - ); - } else { - match patch_verge(IVerge { - enable_tun_mode: Some(!enable), - ..IVerge::default() - }) - .await - { - Ok(_) => handle::Handle::refresh_verge(), - Err(err) => log::error!(target: "app", "{err}"), - } + match patch_verge(IVerge { + enable_tun_mode: Some(!enable), + ..IVerge::default() + }) + .await + { + Ok(_) => handle::Handle::refresh_verge(), + Err(err) => log::error!(target: "app", "{err}"), } }); } @@ -424,19 +403,3 @@ pub async fn test_delay(url: String) -> Result { } } } - -pub fn check_permission() -> Result<()> { - #[cfg(target_os = "windows")] - { - let hklm = winreg::RegKey::predef(winreg::enums::HKEY_LOCAL_MACHINE); - - if let Ok(reg) = hklm.open_subkey_with_flags( - "SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Run", - winreg::enums::KEY_SET_VALUE, - ) { - reg.delete_value("Clash Verge").unwrap_or_default(); - return Ok(()); - } - } - Err(anyhow::anyhow!("permission denied")) -} diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 47ebb91d..032f1764 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -19,16 +19,6 @@ fn main() -> std::io::Result<()> { println!("app exists"); return Ok(()); } - // 权限检测 - if feat::check_permission().is_ok() { - println!("please do not run with admin permission"); - tauri::api::dialog::blocking::message( - None::<&tauri::Window>, - "Please do not run with admin permission", - "If you want to use Tun mode, please enable service mode instead", - ); - return Ok(()); - } #[cfg(target_os = "linux")] std::env::set_var("WEBKIT_DISABLE_DMABUF_RENDERER", "1"); diff --git a/src/components/setting/mods/stack-mode-switch.tsx b/src/components/setting/mods/stack-mode-switch.tsx index 241b5f1c..90bcf07e 100644 --- a/src/components/setting/mods/stack-mode-switch.tsx +++ b/src/components/setting/mods/stack-mode-switch.tsx @@ -24,7 +24,6 @@ export const StackModeSwitch = (props: Props) => { > gVisor -