From 7eb595170fdd476e8a5a038790caf807cf1cc10b Mon Sep 17 00:00:00 2001
From: GyDi <segydi@foxmail.com>
Date: Tue, 16 Aug 2022 01:27:32 +0800
Subject: [PATCH] fix: do not reset system proxy when consistent

---
 src-tauri/src/core/sysopt.rs | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src-tauri/src/core/sysopt.rs b/src-tauri/src/core/sysopt.rs
index 0e41620..b872956 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"),
-- 
GitLab