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)
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)
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)
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)