Fix cli.py install-hysteria2

This commit is contained in:
Sarina
2024-07-21 20:54:19 +03:30
parent 6f76b9717c
commit 11e206e16f
2 changed files with 15 additions and 4 deletions

View File

@ -6,9 +6,9 @@ import io
import click
import subprocess
from enum import StrEnum
from contextlib import redirect_stdout
import traffic
import validator
SCRIPT_DIR = 'scripts'
DEBUG = True
@ -58,8 +58,9 @@ def cli():
# region hysteria2 menu options
@cli.command('install-hysteria2')
def install_hysteria2():
run_cmd(['bash', Command.INSTALL_HYSTERIA2])
@click.option('--port','-p', required=True, help='New port for Hysteria2',type=int,validate=validator.validate_port)
def install_hysteria2(port:int):
run_cmd(['bash', Command.INSTALL_HYSTERIA2, str(port)])
@cli.command('uninstall-hysteria2')
@ -76,7 +77,7 @@ def restart_hysteria2():
@cli.command('change-hysteria2-port')
@click.option('--port','-p', required=True, help='New port for Hysteria2',type=int)
@click.option('--port','-p', required=True, help='New port for Hysteria2',type=int,validate=validator.validate_port)
def change_hysteria2_port(port:int):
run_cmd(['bash', Command.CHANGE_PORT_HYSTERIA2, str(port)])

10
core/validator.py Normal file
View File

@ -0,0 +1,10 @@
import os
def validate_port(p:int)-> bool:
if p < 1 or p > 65535:
return False
# check if port is in use
if os.system(f'lsof -i:{p}') == 0:
return False
return True