Esempio n. 1
0
            server_list = process_accept_side_argument(arg)
        if cmd == '-C':
            connect_mode = True
            if accept_mode is True:
                raise Exception('Already in Accept Mode')
            server_list = process_connect_side_argument(arg)
        if cmd == '-h':
            print(_helpText)
            sys.exit(0)

    if not accept_mode and not connect_mode:
        print(_helpText)
        sys.exit(0)

    Tunnel.set_tcp_fin_received_handler(tcptun.on_stream_fin_received)
    Tunnel.set_tcp_closed_handler(tcptun.on_stream_closed)
    Tunnel.set_udp_closed_handler(udptun.on_dgram_closed)
    if accept_mode:
        Tunnel.set_tcp_initial_handler(tcptun.on_server_side_initialized)
        Tunnel.set_udp_initial_handler(udptun.on_server_side_initialized)

    for addr, port, type_, arg in server_list:
        if accept_mode:
            acceptor = Acceptor('TUNNEL')
            acceptor.bind(addr, port)
            acceptor.listen()
            acceptor.set_on_accepted(server_side_on_accepted)
            acceptor.set_on_closed(acceptor_on_closed)
        else:
            via, to = arg
            if type_ == 'tcp':