diff --git a/src-tauri/src/core/sysopt.rs b/src-tauri/src/core/sysopt.rs index 0e41620f463fdb4a594a0f47fd5ec35baf97ed2c..b8729565c19de92eeb1bc9b9c540166d050d0b8b 100644 --- a/src-tauri/src/core/sysopt.rs +++ b/src-tauri/src/core/sysopt.rs @@ -87,6 +87,14 @@ impl Sysopt { /// reset the sysproxy pub fn reset_sysproxy(&mut self) { if let Some(sysproxy) = self.old_sysproxy.take() { + // 如果原代ç†è®¾ç½®æ˜¯å¼€å¯çš„,且域å端å£è®¾ç½®å’Œå½“å‰çš„ä¸€è‡´ï¼Œå°±ä¸æ¢å¤åŽŸè®¾ç½® + // https://github.com/zzzgydi/clash-verge/issues/157 + if let Some(cur) = self.cur_sysproxy.as_ref() { + if sysproxy.enable && cur.server == sysproxy.server { + return; + } + } + match sysproxy.set_sys() { Ok(_) => self.cur_sysproxy = None, Err(_) => log::error!(target: "app", "failed to reset proxy"),