コード例 #1
0
def prepare_ping():
    j = parse_json_from_file(PROJECT_CONFIG_FILE)

    manager = Manager(server_file_name=j['servers_file'],
                      binary=j['v2ray_binary'])

    choices = ["ping all"]

    l = manager.server_number
    for i in range(l):
        s = manager.get_server(i)
        choices.append(str(i + 1) + "  " + s['ps'] + "  " + s['host'])

    prompt = ScrollBar(height=10, choices=choices)
    result = prompt.launch()
    index = choices.index(result)
    print("index            ps          time")
    if index == 0:
        for i in range(l):
            s = manager.get_server(i)
            r = ping(host=s['host'])
            result = str(r) + "ms" if r != -1 else "timeout"
            print(str(i + 1) + "  " + s['ps'] + "  " + result)
    else:
        s = manager.get_server(index - 1)
        r = ping(host=s['host'])
        result = str(r) + "ms" if r != -1 else "timeout"
        print(str(index) + "  " + s['ps'] + "  " + result)
コード例 #2
0
def servers_export(index, path):
    j = parse_json_from_file(PROJECT_CONFIG_FILE)

    manager = Manager(server_file_name=j['servers_file'],
                      binary=j['v2ray_binary'])
    s = manager.get_server(index)
    write_to_file(path, "w", json.dumps(s['config']))
コード例 #3
0
def proxy(index=None, config_file=None):
    j = parse_json_from_file(PROJECT_CONFIG_FILE)

    manager = Manager(server_file_name=j['servers_file'],
                      binary=j['v2ray_binary'])

    daemon = False

    if "--daemon" in sys.argv or "-d" in sys.argv:
        daemon = True
    if index is not None:
        index = int(index)

        server = manager.get_server(index - 1)
        print("Choose: " + server['ps'])

        ports = []
        for c in server['config']['inbounds']:
            if "port" in c:
                ports.append(c['port'])
        print("Local port: " + str(ports))
        manager.proxy(config=server['config'], daemon=daemon)
    elif config_file is not None:
        config = parse_json_from_file(config_file)

        ports = []
        for c in config['inbounds']:
            if "port" in c:
                ports.append(c['port'])
        print("Local port: " + str(ports))

        manager.proxy(config=config, daemon=daemon)
コード例 #4
0
def update_subscribe(**kwargs):
    j = parse_json_from_file(PROJECT_CONFIG_FILE)
    manager = Manager(server_file_name=j['servers_file'],
                      subscribe_file_name=j['subscribe_file'])

    manager.update_subscribe(show_info=True, **kwargs)
    manager.save_servers()
コード例 #5
0
def add_subscribe(args):
    v = args.split(',')

    j = parse_json_from_file(PROJECT_CONFIG_FILE)

    manager = Manager(subscribe_file_name=j['subscribe_file'])

    manager.add_subscribe(v[0], v[1])
    manager.save_subscribe()
コード例 #6
0
def show_servers():
    j = parse_json_from_file(PROJECT_CONFIG_FILE)
    manager = Manager(server_file_name=j['servers_file'])

    manager.show_servers()