diff --git a/cli/commands/profile.py b/cli/commands/profile.py index 530af1c..bbcdbf3 100644 --- a/cli/commands/profile.py +++ b/cli/commands/profile.py @@ -154,6 +154,19 @@ def handle(arguments, main_parser): signal.signal(signal.SIGUSR1, lambda s, f: _on_displaced(monitor)) monitor.run_blocking() _stop_timer(obs.get_ui_state()['timer_state']) + elif profile.connection.code == 'wireguard': + from core.utils.wireguard.wireguard_monitor import WireGuardMonitor + from core.models.system.SystemState import SystemState + monitor = WireGuardMonitor() + obs.get_ui_state()['monitor'] = monitor + monitor.set_on_disconnect(lambda: _do_disable(profile, ignore)) + monitor.set_on_displaced(lambda: _on_displaced(monitor)) + signal.signal(signal.SIGUSR1, lambda s, f: _on_displaced(monitor)) + state = SystemState.get() + if state and state.session_token: + monitor.set_session_token(state.session_token) + monitor.run_blocking() + _stop_timer(obs.get_ui_state()['timer_state']) except KeyboardInterrupt: print() _do_disable(profile, ignore)