break connection if set proxy for selector

This commit is contained in:
Kr328
2020-05-03 00:50:14 +08:00
parent e621324b48
commit 714c9a554f

View File

@@ -122,11 +122,26 @@ func SetSelectedProxy(name, proxy string) bool {
return false
}
selected := selector.Now()
if selected == proxy {
log.Infoln("Set " + name + " -> " + proxy)
return true
}
if err := selector.Set(proxy); err != nil {
log.Infoln("Set %s: %s", name, err.Error())
return false
}
for _, conn := range tunnel.DefaultManager.Snapshot().Connections {
for _, p := range conn.Chain() {
if p == proxy {
_ = conn.Close()
break
}
}
}
log.Infoln("Set " + name + " -> " + proxy)
return true