def get_overviewServers(): import http.cookies from jinja2 import Environment, FileSystemLoader env = Environment(loader=FileSystemLoader('templates/ajax')) template = env.get_template('overviewServers.html') cookie = http.cookies.SimpleCookie(os.environ.get("HTTP_COOKIE")) user_id = cookie.get('uuid') haproxy_sock_port = sql.get_setting('haproxy_sock_port') listhap = sql.get_dick_permit() commands = ["top -u haproxy -b -n 1"] servers = [] for server in sorted(listhap): server_status = () cmd = 'echo "show info" |nc %s %s |grep -e "Ver\|CurrConns\|SessRate\|Maxco\|MB\|Uptime:"' % ( server[2], haproxy_sock_port) out = funct.subprocess_execute(cmd) out1 = "" for k in out: if "Ncat: Connection refused." not in k: for r in k: out1 += r out1 += "<br />" else: out1 = "Can\'t connect to HAproxy" server_status = (server[1], server[2], out1, funct.ssh_command(server[2], commands), funct.show_backends(server[2], ret=1)) servers.append(server_status) template = template.render(service_status=servers, role=sql.get_user_role_by_uuid(user_id.value)) print(template)
def get_overview(): import http.cookies from jinja2 import Environment, FileSystemLoader env = Environment(loader=FileSystemLoader('templates/ajax')) template = env.get_template('overview.html') haproxy_config_path = sql.get_setting('haproxy_config_path') cookie = http.cookies.SimpleCookie(os.environ.get("HTTP_COOKIE")) user_id = cookie.get('uuid') haproxy_sock_port = sql.get_setting('haproxy_sock_port') listhap = sql.get_dick_permit() commands = [ "ls -l %s |awk '{ print $6\" \"$7\" \"$8}'" % haproxy_config_path ] servers = [] for server in listhap: server_status = () cmd = 'echo "show info" |nc %s %s |grep -e "Process_num"' % ( server[2], haproxy_sock_port) server_status = (server[1], server[2], funct.server_status(funct.subprocess_execute(cmd)), funct.ssh_command(server[2], commands)) servers.append(server_status) template = template.render(service_status=servers, role=sql.get_user_role_by_uuid(user_id.value)) print(template)
def get_servers(): if not check_login(): return dict(error=_error_auth) data = {} try: token = request.headers.get('token') login, group_id = sql.get_username_groupid_from_api_token(token) servers = sql.get_dick_permit(username=login, group_id=group_id, token=token) for s in servers: data[s[0]] = { 'server_id': s[0], 'hostname': s[1], 'ip': s[2], 'group': s[3], 'virt': s[4], 'enable': s[5], 'is_master': s[6], 'creds': s[7], 'alert': s[8], 'metrics': s[9] } except: pass return dict(servers=data)
def get_users_params(**kwargs): import http.cookies import sql cookie = http.cookies.SimpleCookie(os.environ.get("HTTP_COOKIE")) user_id = cookie.get('uuid') user = sql.get_user_name_by_uuid(user_id.value) role = sql.get_user_role_by_uuid(user_id.value) token = sql.get_token(user_id.value) if kwargs.get('virt'): servers = sql.get_dick_permit(virt=1) elif kwargs.get('disable'): servers = sql.get_dick_permit(disable=0) else: servers = sql.get_dick_permit() return user, user_id, role, token, servers
def get_overviewServers(): listhap = sql.get_dick_permit() commands = ["top -u haproxy -b -n 1"] for server in sorted(listhap): print('<tr><td class="overviewTr first-collumn"><a name="' + server[1] + '"></a><h3 title="IP ' + server[2] + '">' + server[1] + ':</h3></td>') print( '<td class="overviewTd" style="padding-top: 10px;"><pre style="font-size: 12px;">' ) cmd = 'echo "show info" |nc %s 1999 |grep -e "Ver\|CurrConns\|SessRate\|Maxco\|MB\|Uptime:"' % server[ 2] out = funct.subprocess_execute(cmd) for k in out: if "Ncat: Connection refused." not in k: for r in k: print(r) else: print("Can\'t connect to HAproxy") print( '</pre></td><td style="padding-top: 10px;"><pre style="font-size: 12px; padding-left: 0px;">' ) funct.ssh_command(server[2], commands) print('</td><td style="padding: 10px;font-size: 12px;">') funct.show_backends(server[2]) print('</pre></td><td></td></tr>')
def check_permit_to_server(id): servers = sql.select_servers(id_hostname=id) login = request.headers.get('login') for s in servers: servers = sql.get_dick_permit(username=login, ip=s[2]) return servers
def choose_only_select(serv, **kwargs): if kwargs.get("virt"): listhap = sql.get_dick_permit(virt=1) else: listhap = sql.get_dick_permit() if kwargs.get("servNew"): servNew = kwargs.get("servNew") else: servNew = "" for i in listhap: if i[2] == serv or i[2] == servNew: selected = 'selected' else: selected = '' print('<option value="%s" %s>%s</option>' % (i[2], selected, i[1]))
def check_permit_to_server(server_id): servers = sql.select_servers(id_hostname=server_id) token = request.headers.get('token') login, group_id = sql.get_username_groupid_from_api_token(token) for s in servers: server = sql.get_dick_permit(username=login, group_id=group_id, ip=s[2], token=token) return server
def get_overviewServers(): listhap = sql.get_dick_permit() commands = [ "uname -smor", "haproxy -v |head -1", status_command + "|grep Active | sed 's/^[ \t]*//'" ] commands1 = [ "top -u haproxy -b -n 1" ] for server in sorted(listhap): print('<tr><td class="overviewTr first-collumn"><a name="'+server[1]+'"></a><h3 title="IP ' + server[2] + '">' + server[1] + ':</h3></td>') print('<td class="overviewTd"><pre>') funct.ssh_command(server[2], commands) print('</pre></td><td><pre>') funct.ssh_command(server[2], commands1) print('</td><td style="padding-top: 10px; padding-bottom: 10px;">') funct.show_backends(server[2]) print('</pre></td><td></td></tr>')
async def get_runner_overviewWaf(url): import http.cookies from jinja2 import Environment, FileSystemLoader env = Environment(loader=FileSystemLoader('templates/ajax'),extensions=['jinja2.ext.loopcontrols', 'jinja2.ext.do']) template = env.get_template('overivewWaf.html') servers = [] cookie = http.cookies.SimpleCookie(os.environ.get("HTTP_COOKIE")) user_id = cookie.get('uuid') futures = [async_get_overviewWaf(server[1], server[2]) for server in sql.get_dick_permit()] for i, future in enumerate(asyncio.as_completed(futures)): result = await future servers.append(result) servers_sorted = sorted(servers, key=funct.get_key) template = template.render(service_status=servers_sorted, role=sql.get_user_role_by_uuid(user_id.value), url=url) print(template)
def get_overviewServers(): listhap = sql.get_dick_permit() commands = [ "cat " + haproxy_config_path + " |grep -E '^listen|^backend|^frontend' |grep -v stats |wc -l", "uname -smor", "haproxy -v |head -1", status_command + "|grep Active | sed 's/^[ \t]*//'" ] commands1 = ["top -u haproxy -b -n 1"] for server in sorted(listhap): print('<tr><td class="overviewTr first-collumn"><a name="' + server[1] + '"></a><h3 title="IP ' + server[2] + '">' + server[1] + ':</h3></td>') print( '<td class="overviewTd"><span>Total listen/frontend/backend:</span><pre>' ) funct.ssh_command(server[2], commands) print('</pre></td><td><pre>') funct.ssh_command(server[2], commands1) print('</pre></td></tr>')
def get_all_statuses(): data = {} try: servers = sql.select_servers() login = request.headers.get('login') sock_port = sql.get_setting('haproxy_sock_port') for s in servers: servers = sql.get_dick_permit(username=login) for s in servers: cmd = 'echo "show info" |nc %s %s -w 1|grep -e "Ver\|CurrConns\|Maxco\|MB\|Uptime:"' % ( s[2], sock_port) data[s[2]] = {} out = funct.subprocess_execute(cmd) data[s[2]] = return_dict_from_out(s[1], out[0]) except: data = {"error": "Cannot find the server"} return dict(error=data) return dict(status=data)
def get_overview(): listhap = sql.get_dick_permit() commands = ["ps -Af |grep [h]aproxy |wc -l"] commands1 = [ "ls -l %s |awk '{ print $6\" \"$7\" \"$8}'" % haproxy_config_path ] for server in listhap: print( '<tr><td class="padding10 first-collumn"><a href="#%s" title="Go to %s status" style="color: #000">%s</a></td><td class="second-collumn">' % (server[1], server[1], server[1])) funct.ssh_command(server[2], commands, server_status="1") print('</td><td>') if funct.is_admin(): print( '<a id="%s" class="start" title="Start HAproxy service"><img src=/image/pic/start.png alt="start" class="icon"></a>' % server[2]) print( '<a id="%s" class="stop" title="Stop HAproxy service"><img src=/image/pic/stop.png alt="start" class="icon"></a>' % server[2]) print( '<a id="%s" class="restart" title="Restart HAproxy service"><img src=/image/pic/update.png alt="restart" class="icon"></a>' % server[2]) if funct.is_admin(level=2): print( '<a href="/app/configshow.py?serv=%s&open=open#conf" title="Show config"><img src=/image/pic/show.png alt="show" class="icon"></a>' % server[2]) print( '<a href="/app/config.py?serv=%s&open=open#conf" title="Edit config"><img src=/image/pic/edit.png alt="edit" class="icon"></a>' % server[2]) print( '<a href="/app/diff.py?serv=%s&open=open#diff" title="Compare config"><img src=/image/pic/compare.png alt="compare" class="icon"></a>' % server[2]) print( '<a href="/app/map.py?serv=%s&open=open#map" title="Map listen/frontend/backend"><img src=/image/pic/map.png alt="map" class="icon"></a>' % server[2]) print('</td><td>') funct.ssh_command(server[2], commands1) print('</td><td></td></tr>')
def get_overviewWaf(): import http.cookies from jinja2 import Environment, FileSystemLoader env = Environment(loader=FileSystemLoader('templates/ajax')) template = env.get_template('overivewWaf.html') cookie = http.cookies.SimpleCookie(os.environ.get("HTTP_COOKIE")) user_id = cookie.get('uuid') haproxy_dir = sql.get_setting('haproxy_dir') haproxy_sock_port = sql.get_setting('haproxy_sock_port') listhap = sql.get_dick_permit() commands = [ "ps ax |grep waf/bin/modsecurity |grep -v grep |wc -l" ] commands1 = [ "cat %s/waf/modsecurity.conf |grep SecRuleEngine |grep -v '#' |awk '{print $2}'" % haproxy_dir ] servers = [] for server in listhap: server_status = () server_status = (server[1],server[2], funct.ssh_command(server[2], commands), funct.ssh_command(server[2], commands1)) servers.append(server_status) template = template.render(service_status = servers, role = sql.get_user_role_by_uuid(user_id.value)) print(template)
def get_servers(): if not check_login(): return dict(error=_error_auth) try: login = request.headers.get('login') servers = sql.get_dick_permit(username=login) data = {} for s in servers: data[s[0]] = { 'id': s[0], 'hostname': s[1], 'ip': s[2], 'group': s[3], 'virt': s[4], 'enable': s[5], 'is_master': s[6], 'creds': s[7], 'alert': s[8], 'metrics': s[9] } except: pass return dict(servers=data)
import cgi import os, sys import funct import sql form = funct.form serv = form.getvalue('serv') act = form.getvalue('act') if form.getvalue('new_metrics') or form.getvalue('new_waf_metrics'): print('Content-type: application/json\n') else: print('Content-type: text/html\n') if act == "checkrestart": servers = sql.get_dick_permit(ip=serv) for server in servers: if server != "": print("ok") sys.exit() sys.exit() if not sql.check_token_exists(form.getvalue('token')): print("Your token has been expired") sys.exit() if form.getvalue('getcerts') is not None and serv is not None: cert_path = sql.get_setting('cert_path') commands = ["ls -1t " + cert_path + " |grep pem"] try: funct.ssh_command(serv, commands, ip="1")
import os import funct import sql from jinja2 import Environment, FileSystemLoader env = Environment(extensions=["jinja2.ext.do"],loader=FileSystemLoader('templates/')) template = env.get_template('servers.html') form = funct.form print('Content-type: text/html\n') funct.check_login() funct.page_for_admin(level = 2) try: cookie = http.cookies.SimpleCookie(os.environ.get("HTTP_COOKIE")) user_id = cookie.get('uuid') user = sql.get_user_name_by_uuid(user_id.value) servers = sql.get_dick_permit() token = sql.get_token(user_id.value) ldap_enable = sql.get_setting('ldap_enable') except: pass output_from_parsed_template = template.render(title = "Servers manage", role = sql.get_user_role_by_uuid(user_id.value), user = user, users = sql.select_users(), groups = sql.select_groups(), servers = sql.get_dick_permit(virt=1, disable=0), roles = sql.select_roles(), masters = sql.select_servers(get_master_servers=1, uuid=user_id.value), group = sql.get_user_group_by_uuid(user_id.value),
import sql from jinja2 import Environment, FileSystemLoader env = Environment(loader=FileSystemLoader('templates/')) template = env.get_template('viewstats.html') form = funct.form serv = form.getvalue('serv') print('Content-type: text/html\n') funct.check_login() try: cookie = http.cookies.SimpleCookie(os.environ.get("HTTP_COOKIE")) user_id = cookie.get('uuid') user = sql.get_user_name_by_uuid(user_id.value) role = sql.get_user_role_by_uuid(user_id.value) servers = sql.get_dick_permit(virt=1) token = sql.get_token(user_id.value) if serv is None: first_serv = sql.get_dick_permit() for i in first_serv: serv = i[2] break except: pass output_from_parsed_template = template.render(h2=1, autorefresh=1, title="HAProxy statistics", role=role, user=user,
#!/usr/bin/env python3 import os import sql import http import funct import sql from jinja2 import Environment, FileSystemLoader env = Environment(loader=FileSystemLoader('templates/')) template = env.get_template('runtimeapi.html') print('Content-type: text/html\n') funct.check_login() try: cookie = http.cookies.SimpleCookie(os.environ.get("HTTP_COOKIE")) user_id = cookie.get('uuid') user = sql.get_user_name_by_uuid(user_id.value) servers = sql.get_dick_permit(virt=1) except: pass output_from_parsed_template = template.render(h2=1, title="Runtime API", role=sql.get_user_role_by_uuid( user_id.value), user=user, onclick="showRuntime()", select_id="serv", selects=servers) print(output_from_parsed_template)
import funct import sql from configparser import ConfigParser, ExtendedInterpolation funct.head("Add") funct.check_config() funct.check_login() path_config = "haproxy-webintarface.config" config = ConfigParser(interpolation=ExtendedInterpolation()) config.read(path_config) funct.page_for_admin(level=2) hap_configs_dir = config.get('configs', 'haproxy_save_configs_dir') form = cgi.FieldStorage() listhap = sql.get_dick_permit() if form.getvalue('mode') is not None: serv = form.getvalue('serv') port = form.getvalue('port') mode = " mode " + form.getvalue('mode') ssl = "" if form.getvalue('balance') is not None: balance = " balance " + form.getvalue('balance') + "\n" else: balance = "" if form.getvalue('ip') is not None: ip = form.getvalue('ip') else:
serv = form.getvalue('serv') Select = form.getvalue('del') configver = form.getvalue('configver') stderr = "" aftersave = "" file = set() hap_configs_dir = funct.get_config_var('configs', 'haproxy_save_configs_dir') if form.getvalue('configver'): template = env.get_template('configver.html') try: cookie = http.cookies.SimpleCookie(os.environ.get("HTTP_COOKIE")) user_id = cookie.get('uuid') user = sql.get_user_name_by_uuid(user_id.value) servers = sql.get_dick_permit(disable=0) token = sql.get_token(user_id.value) except: pass if serv is not None and form.getvalue('del') is not None: if Select is not None: aftersave = 1 for get in form: if "cfg" in get: try: os.remove(os.path.join(hap_configs_dir, form.getvalue(get))) file.add(form.getvalue(get) + "<br />") funct.logging( serv,
#!/usr/bin/env python3 import html import cgi import requests import funct import sql from configparser import ConfigParser, ExtendedInterpolation from requests_toolbelt.utils import dump print("Content-type: text/html\n") form = cgi.FieldStorage() serv = form.getvalue('serv') if serv is None: first_serv = sql.get_dick_permit() for i in first_serv: serv = i[2] break print('<a name="top"></a><div class="container">') funct.get_auto_refresh("HAproxy statistics") print('<br />' '<form style="padding-left: 20px;" action="viewsttats.py" method="get">' '<select autofocus required name="serv" id="serv">' '<option disabled>Choose server</option>') funct.choose_only_select(serv, master_slave=1)
def get_overview(): USERS = sql.select_users() print('<table class="overview">') if funct.is_admin(): print('<tr class="overviewHead">' '<td class="padding10 first-collumn">Login</td>' '<td class="padding10">Email</td>' '<td class="padding10">Group</td>' '<td class="padding10">Role</td>' '<td style="width: 200px;">' '<span class="add-button">' '<a href="#" title="Show all users" id="show-all-users" style="color: #fff">' 'Show all' '</a>' '</span>' '</td>' '</tr>') i = 0 style = "" for users in USERS: i = i + 1 if i is 4: style = 'style="display: none;" class="show-users"' print('<tr ' + style + '><td class="padding10 first-collumn">' + users[1] +'</td><td class="second-collumn">') print(users[2]+'</td><td>') GROUPS = sql.select_user_name_group(users[5]) for group in GROUPS: print(group) print('</td><td>') print(users[4]) print('</td><td></td></tr>') print('</table>') print('<table class="overview">' '<tr class="overviewHead">' '<td class="padding10 first-collumn"">Server</td>' '<td class="padding10">' 'HAproxy status' '</td>' '<td class="padding10">' 'Action' '</td>' '<td class="padding10">' 'Last edit' '</td>' '<td></td>' '</tr>') listhap = sql.get_dick_permit() commands = [ "ps -Af |grep [h]aproxy |wc -l" ] commands1 = [ "ls -l %s |awk '{ print $6\" \"$7\" \"$8}'" % haproxy_config_path ] for server in listhap: print('<tr><td class="padding10 first-collumn"><a href="#%s" title="Go to %s status" style="color: #000">%s</a></td><td class="second-collumn">' % (server[1], server[1], server[1])) funct.ssh_command(server[2], commands, server_status="1") print('</td><td>') if funct.is_admin(): print('<a id="%s" class="start" title="Start HAproxy service" onclick = "if (! confirm(\'Start service?\')) return false;"><img src=/image/pic/start.png alt="start" class="icon"></a>' % server[2]) print('<a id="%s" class="stop" title="Stop HAproxy service" onclick = "return confirm(\'Stop service?\')"><img src=/image/pic/stop.png alt="start" class="icon"></a>' % server[2]) print('<a id="%s" class="restart" title="Restart HAproxy service" onclick = "if (! confirm(\'Restart service?\')) return false;"><img src=/image/pic/update.png alt="restart" class="icon"></a>' % server[2]) print('<a href="/app/configshow.py?serv=%s&open=open#conf" title="Show config"><img src=/image/pic/show.png alt="show" class="icon"></a>' % server[2]) print('<a href="/app/config.py?serv=%s&open=open#conf" title="Edit config"><img src=/image/pic/edit.png alt="edit" class="icon"></a>' % server[2]) print('<a href="/app/diff.py?serv=%s&open=open#diff" title="Compare config"><img src=/image/pic/compare.png alt="compare" class="icon"></a>' % server[2]) print('<a href="/app/map.py?serv=%s&open=open#map" title="Map listen/frontend/backend"><img src=/image/pic/map.png alt="map" class="icon"></a>' % server[2]) print('</td><td>') funct.ssh_command(server[2], commands1) print('</td><td></td></tr>') print('</table><table class="overview"><tr class="overviewHead">' '<td class="padding10 first-collumn" style="width: 15%;">Server</td>' '<td>' 'HAproxy info' '</td>' '<td>' 'Server status' '</td>' '</tr>') print('</td></tr>') commands = [ "cat " + haproxy_config_path + " |grep -E '^listen|^backend|^frontend' |grep -v stats |wc -l", "uname -smor", "haproxy -v |head -1", status_command + "|grep Active | sed 's/^[ \t]*//'" ] commands1 = [ "top -u haproxy -b -n 1" ] for server in sorted(listhap): print('<tr><td class="overviewTr first-collumn"><a name="'+server[1]+'"></a><h3 title="IP ' + server[2] + '">' + server[1] + ':</h3></td>') print('<td class="overviewTd"><span>Total listen/frontend/backend:</span><pre>') funct.ssh_command(server[2], commands) print('</pre></td><td class="overviewTd"><pre>') funct.ssh_command(server[2], commands1) print('</pre></td></tr>') print('<tr></table>')
funct.check_login() funct.page_for_admin(level=2) try: user, user_id, role, token, servers = funct.get_users_params() ldap_enable = sql.get_setting('ldap_enable') user_group = funct.get_user_group(id=1) settings = sql.get_setting('', all=1) geoip_country_codes = sql.select_geoip_country_codes() except Exception as e: pass output_from_parsed_template = template.render( title="Servers: ", role=role, user=user, users=sql.select_users(group=user_group), groups=sql.select_groups(), servers=sql.get_dick_permit(virt=1, disable=0, only_group=1), roles=sql.select_roles(), masters=sql.select_servers(get_master_servers=1, uuid=user_id.value), group=user_group, sshs=sql.select_ssh(group=user_group), token=token, settings=settings, backups=sql.select_backups(), page="servers.py", geoip_country_codes=geoip_country_codes, ldap_enable=ldap_enable) print(output_from_parsed_template)
user, user_id, role, token, servers = funct.get_users_params() users = sql.select_users() groups = sql.select_groups() except: pass form = funct.form serv = form.getvalue('serv') service = form.getvalue('service') autorefresh = 0 if service == 'nginx': title = "Nginx servers overview" keep_alive = '' stderr = '' servers = sql.get_dick_permit(virt=1, nginx=1) service = 'nginx' if serv: servers = sql.select_servers(server=serv) autorefresh = 1 else: title = "HAProxy servers overview" cmd = "ps ax |grep -e 'keep_alive.py' |grep -v grep |wc -l" keep_alive, stderr = funct.subprocess_execute(cmd) service = 'haproxy' if serv: servers = sql.select_servers(server=serv) autorefresh = 1 else: servers = sql.get_dick_permit(virt=1, haproxy=1)
if form.getvalue('configver'): template = env.get_template('configver.html') try: user, user_id, role, token, servers = funct.get_users_params(disable=1) except: pass if service == 'keepalived': configs_dir = funct.get_config_var('configs', 'kp_save_configs_dir') title = "Working with versions Keepalived configs" files = funct.get_files(dir=configs_dir, format='conf') action = 'versions.py?service=keepalived' format = 'conf' servers = sql.get_dick_permit(keepalived=1) elif service == 'nginx': configs_dir = funct.get_config_var('configs', 'nginx_save_configs_dir') title = "Working with versions Nginx configs" files = funct.get_files(dir=configs_dir, format='conf') action = 'versions.py?service=nginx' format = 'conf' servers = sql.get_dick_permit(nginx=1) else: title = "Working with versions HAProxy configs" files = funct.get_files() action = "versions.py" configs_dir = funct.get_config_var('configs', 'haproxy_save_configs_dir') format = 'cfg' if serv is not None and form.getvalue('del') is not None:
import os, http.cookies from jinja2 import Environment, FileSystemLoader env = Environment(loader=FileSystemLoader('templates/')) template = env.get_template('hapservers.html') print('Content-type: text/html\n') funct.check_login() try: cookie = http.cookies.SimpleCookie(os.environ.get("HTTP_COOKIE")) user_id = cookie.get('uuid') user = sql.get_user_name_by_uuid(user_id.value) users = sql.select_users() groups = sql.select_groups() token = sql.get_token(user_id.value) servers = sql.get_dick_permit() cmd = "ps ax |grep -e 'keep_alive.py' |grep -v grep |wc -l" keep_alive, stderr = funct.subprocess_execute(cmd) except: pass haproxy_sock_port = sql.get_setting('haproxy_sock_port') haproxy_config_path = sql.get_setting('haproxy_config_path') commands = ["ls -l %s |awk '{ print $6\" \"$7\" \"$8}'" % haproxy_config_path] servers_with_status1 = [] out1 = "" for s in servers: servers_with_status = list() cmd = 'echo "show info" |nc %s %s -w 1 |grep -e "Ver\|Uptime:\|Process_num"' % ( s[2], haproxy_sock_port) out = funct.subprocess_execute(cmd)
Select = form.getvalue('del') configver = form.getvalue('configver') service = form.getvalue('service') stderr = "" aftersave = "" file = set() if form.getvalue('configver'): template = env.get_template('configver.html') try: cookie = http.cookies.SimpleCookie(os.environ.get("HTTP_COOKIE")) user_id = cookie.get('uuid') user = sql.get_user_name_by_uuid(user_id.value) token = sql.get_token(user_id.value) servers = sql.get_dick_permit(disable=0) except: pass if service == 'keepalived': configs_dir = funct.get_config_var('configs', 'kp_save_configs_dir') title = "Working with versions Keepalived configs" files = funct.get_files(dir=configs_dir, format='conf') action = 'versions.py?service=keepalived' format = 'conf' elif service == 'nginx': configs_dir = funct.get_config_var('configs', 'nginx_save_configs_dir') title = "Working with versions Nginx configs" files = funct.get_files(dir=configs_dir, format='conf') action = 'versions.py?service=nginx' format = 'conf'