refactor(core/cli): route vless/hysteria2 through _enable_encrypted_proxy, scope KillswitchMonitor to encrypted proxy only
This commit is contained in:
parent
1290e6b751
commit
0ded3898c0
1 changed files with 11 additions and 10 deletions
|
|
@ -131,18 +131,11 @@ def handle(arguments, main_parser):
|
||||||
try:
|
try:
|
||||||
from cli import observers as obs
|
from cli import observers as obs
|
||||||
|
|
||||||
monitor = KillswitchMonitor()
|
signal.signal(signal.SIGHUP, lambda s, f: (_do_disable(profile, ignore), sys.exit(0)))
|
||||||
|
signal.signal(signal.SIGTERM, lambda s, f: (_do_disable(profile, ignore), sys.exit(0)))
|
||||||
|
|
||||||
timer_state = {'stop': None, 'reconnecting': None, '_retrying': False}
|
timer_state = {'stop': None, 'reconnecting': None, '_retrying': False}
|
||||||
obs.get_ui_state()['timer_state'] = timer_state
|
obs.get_ui_state()['timer_state'] = timer_state
|
||||||
obs.get_ui_state()['monitor'] = monitor
|
|
||||||
|
|
||||||
monitor.set_on_disconnect(lambda: _do_disable(profile, ignore))
|
|
||||||
monitor.set_on_leak(lambda: _on_leak(profile, ignore, monitor, obs))
|
|
||||||
monitor.set_on_displaced(lambda: _on_displaced(monitor))
|
|
||||||
|
|
||||||
signal.signal(signal.SIGUSR1, lambda s, f: _on_displaced(monitor))
|
|
||||||
signal.signal(signal.SIGHUP, lambda s, f: (_do_disable(profile, ignore), sys.exit(0)))
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
ProfileController.enable(
|
ProfileController.enable(
|
||||||
profile, ignore=ignore, pristine=arguments.pristine,
|
profile, ignore=ignore, pristine=arguments.pristine,
|
||||||
|
|
@ -151,6 +144,14 @@ def handle(arguments, main_parser):
|
||||||
connection_observer=connection_observer
|
connection_observer=connection_observer
|
||||||
)
|
)
|
||||||
if profile.connection.needs_operator_proxy():
|
if profile.connection.needs_operator_proxy():
|
||||||
|
monitor = KillswitchMonitor()
|
||||||
|
obs.get_ui_state()['monitor'] = monitor
|
||||||
|
|
||||||
|
monitor.set_on_disconnect(lambda: _do_disable(profile, ignore))
|
||||||
|
monitor.set_on_leak(lambda: _on_leak(profile, ignore, monitor, obs))
|
||||||
|
monitor.set_on_displaced(lambda: _on_displaced(monitor))
|
||||||
|
|
||||||
|
signal.signal(signal.SIGUSR1, lambda s, f: _on_displaced(monitor))
|
||||||
monitor.run_blocking()
|
monitor.run_blocking()
|
||||||
_stop_timer(obs.get_ui_state()['timer_state'])
|
_stop_timer(obs.get_ui_state()['timer_state'])
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue