83 lines
2.0 KiB
Python
83 lines
2.0 KiB
Python
import click
|
|
import subprocess
|
|
import utils
|
|
|
|
@click.group()
|
|
def cli():
|
|
pass
|
|
|
|
# region hysteria2 menu options
|
|
@cli.command('install-hysteria2')
|
|
def install_hysteria2():
|
|
#subprocess.run(['bash', 'install-hysteria2.sh'])
|
|
pass
|
|
|
|
@cli.command('uninstall-hysteria2')
|
|
def uninstall_hysteria2():
|
|
#subprocess.run(['bash', 'uninstall-hysteria2.sh'])
|
|
pass
|
|
|
|
@cli.command('update-hysteria2')
|
|
def update_hysteria2():
|
|
pass
|
|
|
|
@cli.command('change-hysteria2-port')
|
|
@click.option('--port','-p', required=True, help='New port for Hysteria2',type=int)
|
|
def change_hysteria2_port():
|
|
pass
|
|
|
|
@cli.command('add-user')
|
|
@click.option('--username','-u', required=True, help='Username for the new user',type=str)
|
|
@click.option('--traffic-limit','-t', required=True, help='Traffic limit for the new user in GB',type=float)
|
|
@click.option('--expiration-days','-e', required=True, help='Expiration days for the new user',type=int)
|
|
def add_user():
|
|
pass
|
|
|
|
@cli.command('edit-user')
|
|
@click.option('--username','-u', required=True, help='Username for the user to edit',type=str)
|
|
def edit_user():
|
|
pass
|
|
|
|
@cli.command('remove-user')
|
|
@click.option('--username','-u', required=True, help='Username for the user to remove',type=str)
|
|
def remove_user():
|
|
pass
|
|
|
|
@cli.command('show-user-uri')
|
|
@click.option('--username','-u', required=True, help='Username for the user to show the URI',type=str)
|
|
def show_user_uri():
|
|
pass
|
|
|
|
@cli.command('traffic-status')
|
|
def traffic_status():
|
|
pass
|
|
|
|
@cli.command('list-users')
|
|
def list_users():
|
|
pass
|
|
|
|
# endregion
|
|
|
|
# region advanced menu
|
|
|
|
@cli.command('install-tcp-brutal')
|
|
def install_tcp_brutal():
|
|
pass
|
|
|
|
@cli.command('install-warp')
|
|
def install_warp():
|
|
pass
|
|
|
|
@cli.command('uninstall-warp')
|
|
def uninstall_warp():
|
|
pass
|
|
|
|
@cli.command('configure-warp')
|
|
@click.option('--warp-mode','-m', required=True, help='Warp mode',type=click.Choice(['proxy','direct','reject']))
|
|
@click.option('--block-porn','-p', required=False, help='Block porn',type=bool)
|
|
def configure_warp():
|
|
pass
|
|
# endregion
|
|
|
|
if __name__ == '__main__':
|
|
cli() |