예제 #1
0
    ovpn_path = results.ovpn_path
    config_path = results.config_path
    outfile = results.outfile
    date = results.date
    timeout = results.timeout

    try:
        is_admin = os.getuid() == 0
    except AttributeError:
        is_admin = ctypes.windll.shell32.IsUserAnAdmin() != 0

    if not is_admin:
        raise Exception('Please run as root/admin, since OpenVPN needs admin privileges')

    if os.path.isfile('output/' + outfile):  # Check if file is existent, if not, remove dates and proceed
        combos = 'output/' + outfile
    else:
        sv = Sieve(date=date, outfile=outfile)
        sv.filter()
        combos = sv.write()

    if config_path is None:
        for filename in os.listdir('ovpn/'):
            if filename.endswith('.ovpn'):
                config_path = 'ovpn/' + filename
                break
    cn = Connector(ovpn_path=ovpn_path, config_path=config_path, combos=combos,
                   timeout=timeout)
    cn.unpack()
    cn.connect()