Skip to content
Snippets Groups Projects
Unverified Commit b635e648 authored by GyDi's avatar GyDi Committed by GitHub
Browse files

fix: adjust reset proxy

parent 20a194b4
No related branches found
No related tags found
No related merge requests found
...@@ -68,7 +68,7 @@ impl Sysopt { ...@@ -68,7 +68,7 @@ impl Sysopt {
self.cur_sysproxy.as_ref().unwrap().set_system_proxy()?; self.cur_sysproxy.as_ref().unwrap().set_system_proxy()?;
} }
// launchs the system proxy guard // run the system proxy guard
self.guard_proxy(); self.guard_proxy();
Ok(()) Ok(())
} }
...@@ -99,29 +99,28 @@ impl Sysopt { ...@@ -99,29 +99,28 @@ impl Sysopt {
/// reset the sysproxy /// reset the sysproxy
pub fn reset_sysproxy(&mut self) -> Result<()> { pub fn reset_sysproxy(&mut self) -> Result<()> {
if self.cur_sysproxy.is_none() { let cur = self.cur_sysproxy.take();
return Ok(());
} if let Some(mut old) = self.old_sysproxy.take() {
// 如果原代理和当前代理 端口一致,就disable关闭,否则就恢复原代理设置
let mut cur = self.cur_sysproxy.take().unwrap(); // 当前没有设置代理的时候,不确定旧设置是否和当前一致,全关了
let port_same = cur.map_or(true, |cur| old.port == cur.port);
match self.old_sysproxy.take() {
Some(old) => { if old.enable && port_same {
// 如果原代理设置和当前的设置是一样的,需要关闭 old.enable = false;
// 否则就恢复原代理设置 log::info!(target: "app", "reset proxy by disabling the original proxy");
if old.enable && old.host == cur.host && old.port == cur.port { } else {
cur.enable = false; log::info!(target: "app", "reset proxy to the original proxy");
cur.set_system_proxy()?;
} else {
old.set_system_proxy()?;
}
}
None => {
if cur.enable {
cur.enable = false;
cur.set_system_proxy()?;
}
} }
old.set_system_proxy()?;
} else if let Some(mut cur) = cur {
// 没有原代理,就按现在的代理设置disable即可
log::info!(target: "app", "reset proxy by disabling the current proxy");
cur.enable = false;
cur.set_system_proxy()?;
} else {
log::info!(target: "app", "reset proxy with no action");
} }
Ok(()) Ok(())
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment