Add fully manual VPN mode
This commit is contained in:
@@ -100,6 +100,10 @@ struct VPNMenuView: View {
|
||||
vpnManager.connect(mode: .manual)
|
||||
}
|
||||
.keyboardShortcut("m")
|
||||
Button("Подключить полностью вручную") {
|
||||
vpnManager.connect(mode: .manualFull)
|
||||
}
|
||||
.keyboardShortcut("f")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -122,11 +122,13 @@ enum VPNState: Equatable {
|
||||
enum VPNLaunchMode: String {
|
||||
case auto
|
||||
case manual
|
||||
case manualFull
|
||||
|
||||
var cliArgument: String {
|
||||
switch self {
|
||||
case .auto: return "--auto"
|
||||
case .manual: return "--manual"
|
||||
case .manualFull: return "--manual-full"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -459,7 +461,7 @@ class VPNManager: ObservableObject {
|
||||
state = .disconnected
|
||||
userInitiatedDisconnect = false
|
||||
autoReconnectAttempts = 0
|
||||
} else if currentLaunchMode == .manual {
|
||||
} else if currentLaunchMode != .auto {
|
||||
log("Manual connection ended; auto-reconnect is disabled for manual mode")
|
||||
state = .disconnected
|
||||
autoReconnectAttempts = 0
|
||||
|
||||
Reference in New Issue
Block a user