Beispiel #1
0
def connections_job():
    while True:
        try:
            vpn_status_file = path.exists('/etc/openvpn/openvpn-status.log')
            if vpn_status_file is True:
                connections = openvpn.get_connections()
                connections_len = len(connections)
                if connections_len > 0:
                    send_connections_info(node.config['account_addr'], node.config['token'], connections)
        except Exception as err:
            print(str(err))
        time.sleep(5)
Beispiel #2
0
def connections_job():
    extra = 5
    while True:
        try:
            connections = ikev2.get_connections()
            connections_len = len(connections)
            if (connections_len > 0) or (extra > 0):
                send_connections_info(node.config['account_addr'],
                                      node.config['token'], connections)
                extra = 5 if connections_len > 0 else extra - 1
        except Exception as err:
            print(str(err))
        time.sleep(15)
Beispiel #3
0
def tasks():
    while True:
        try:
            vpn_status_file = path.exists('/etc/openvpn/openvpn-status.log')
            if vpn_status_file is True:
                _connections = openvpn.get_connections()
                connections_len = len(_connections)
                if connections_len > 0:
                    send_connections_info(node.account['addr'],
                                          node.account['token'], _connections)

            send_nodeinfo(node, {'type': 'alive'})
        except Exception as err:
            print(str(err))
        time.sleep(5)
Beispiel #4
0
                client_name = line.split()[6][1:-1]
                if 'client' in client_name:
                    print('*' * 128)
                    result = db.clients.find_one({'name': client_name}, {
                        '_id': 0,
                        'account_addr': 1
                    })
                    connections = [{
                        'session_name': client_name,
                        'usage': {
                            'up': 0,
                            'down': 0
                        },
                        'client_addr': result['account_addr'],
                        'start_time': int(time.time())
                    }]
                    send_connections_info(node.account['addr'],
                                          node.account['token'], connections)
            elif 'client-instance exiting' in line:
                client_name = line.split()[5].split('/')[0]
                if 'client' in client_name:
                    print('*' * 128)
                    openvpn.revoke(client_name)
                    connections = [
                        db.openvpn_usage.find_one(
                            {'session_name': client_name}, {'_id': 0})
                    ]
                    connections[0]['end_time'] = int(time.time())
                    send_connections_info(node.account['addr'],
                                          node.account['token'], connections)