mirror of https://github.com/Aidaho12/haproxy-wi
parent
bd4af33ae9
commit
3130c81103
|
@ -41,8 +41,8 @@ if all(v is None for v in [
|
|||
if not os.path.exists(black_dir):
|
||||
os.makedirs(black_dir)
|
||||
|
||||
white_lists = funct.get_files(white_dir, "lst")
|
||||
black_lists = funct.get_files(black_dir, "lst")
|
||||
white_lists = funct.get_files(folder=white_dir, file_format="lst")
|
||||
black_lists = funct.get_files(folder=black_dir, file_format="lst")
|
||||
|
||||
template = template.render(
|
||||
title="Add: ", role=role, user=user, selects=servers, add=form.getvalue('add'), conf_add=form.getvalue('conf'),
|
||||
|
|
137
app/options.py
137
app/options.py
|
@ -38,6 +38,7 @@ if act == "checkrestart":
|
|||
sys.exit()
|
||||
|
||||
from uuid import UUID
|
||||
|
||||
token = form.getvalue("token")
|
||||
|
||||
try:
|
||||
|
@ -144,7 +145,8 @@ if form.getvalue('ipbackend') is not None and form.getvalue('backend_server') is
|
|||
haproxy_sock_port = int(sql.get_setting('haproxy_sock_port'))
|
||||
backend = funct.checkAjaxInput(form.getvalue('ipbackend'))
|
||||
backend_server = funct.checkAjaxInput(form.getvalue('backend_server'))
|
||||
cmd = 'echo "show servers state"|nc %s %s |grep "%s" |grep "%s" |awk \'{print $5":"$19}\' |head -1' % (serv, haproxy_sock_port, backend, backend_server)
|
||||
cmd = 'echo "show servers state"|nc %s %s |grep "%s" |grep "%s" |awk \'{print $5":"$19}\' |head -1' % (
|
||||
serv, haproxy_sock_port, backend, backend_server)
|
||||
output, stderr = funct.subprocess_execute(cmd)
|
||||
print(output[0])
|
||||
|
||||
|
@ -182,7 +184,8 @@ if form.getvalue('backend_ip') is not None:
|
|||
backend_backend, backend_server, backend_ip, backend_port, backend_port, serv, haproxy_sock_port)
|
||||
funct.logging(
|
||||
serv,
|
||||
'IP address and port have been changed. On: {}/{} to {}:{}'.format(backend_backend, backend_server, backend_ip, backend_port),
|
||||
'IP address and port have been changed. On: {}/{} to {}:{}'.format(backend_backend, backend_server, backend_ip,
|
||||
backend_port),
|
||||
login=1, keep_history=1, service='haproxy'
|
||||
)
|
||||
output, stderr = funct.subprocess_execute(cmd)
|
||||
|
@ -223,7 +226,8 @@ if form.getvalue('maxconn_frontend') is not None:
|
|||
else:
|
||||
cmd = 'echo "set maxconn frontend %s %s" |nc %s %s' % (frontend, maxconn, master[0], haproxy_sock_port)
|
||||
output, stderr = funct.subprocess_execute(cmd)
|
||||
funct.logging(master[0], 'Maxconn has been changed. On: {} to {}'.format(frontend, maxconn), login=1, keep_history=1,
|
||||
funct.logging(master[0], 'Maxconn has been changed. On: {} to {}'.format(frontend, maxconn), login=1,
|
||||
keep_history=1,
|
||||
service='haproxy')
|
||||
|
||||
if frontend == 'global':
|
||||
|
@ -457,7 +461,8 @@ if form.getvalue('action_hap') is not None and serv is not None:
|
|||
commands = ["sudo systemctl %s %s" % (action, haproxy_service_name)]
|
||||
|
||||
funct.ssh_command(serv, commands)
|
||||
funct.logging(serv, 'Service has been ' + action + 'ed', haproxywi=1, login=1, keep_history=1, service='haproxy')
|
||||
funct.logging(serv, 'Service has been ' + action + 'ed', haproxywi=1, login=1, keep_history=1,
|
||||
service='haproxy')
|
||||
print("success: HAProxy has been %s" % action)
|
||||
else:
|
||||
print("error: Bad config, check please")
|
||||
|
@ -513,7 +518,8 @@ if form.getvalue('action_waf') is not None and serv is not None:
|
|||
|
||||
funct.is_restarted(serv, action)
|
||||
|
||||
funct.logging(serv, 'HAProxy WAF service has been ' + action + 'ed', haproxywi=1, login=1, keep_history=1, service='haproxy')
|
||||
funct.logging(serv, 'HAProxy WAF service has been ' + action + 'ed', haproxywi=1, login=1, keep_history=1,
|
||||
service='haproxy')
|
||||
commands = ["sudo systemctl %s waf" % action]
|
||||
funct.ssh_command(serv, commands)
|
||||
|
||||
|
@ -531,7 +537,8 @@ if form.getvalue('action_waf_nginx') is not None and serv is not None:
|
|||
waf_new_state = 'on' if action == 'start' else 'off'
|
||||
waf_old_state = 'off' if action == 'start' else 'on'
|
||||
|
||||
funct.logging(serv, 'NGINX WAF service has been ' + action + 'ed', haproxywi=1, login=1, keep_history=1, service='nginx')
|
||||
funct.logging(serv, 'NGINX WAF service has been ' + action + 'ed', haproxywi=1, login=1, keep_history=1,
|
||||
service='nginx')
|
||||
commands = [f"sudo sed -i 's/modsecurity {waf_old_state}/modsecurity {waf_new_state}/g' {config_dir}nginx.conf"
|
||||
f" && sudo systemctl reload nginx"]
|
||||
funct.ssh_command(serv, commands)
|
||||
|
@ -575,13 +582,15 @@ if form.getvalue('action_service') is not None:
|
|||
elif action == "start":
|
||||
cmd = "sudo systemctl enable %s --now" % serv
|
||||
if not sql.select_user_status():
|
||||
print('warning: The service is disabled because you are not subscribed. Read <a href="https://roxy-wi.org/pricing.py" '
|
||||
print(
|
||||
'warning: The service is disabled because you are not subscribed. Read <a href="https://roxy-wi.org/pricing.py" '
|
||||
'title="Roxy-WI pricing" target="_blank">here</a> about subscriptions')
|
||||
sys.exit()
|
||||
elif action == "restart":
|
||||
cmd = "sudo systemctl restart %s --now" % serv
|
||||
if not sql.select_user_status():
|
||||
print('warning: The service is disabled because you are not subscribed. Read <a href="https://roxy-wi.org/pricing.py" '
|
||||
print(
|
||||
'warning: The service is disabled because you are not subscribed. Read <a href="https://roxy-wi.org/pricing.py" '
|
||||
'title="Roxy-WI pricing" target="_blank">here</a> about subscriptions')
|
||||
sys.exit()
|
||||
if is_in_docker:
|
||||
|
@ -670,6 +679,7 @@ if act == "overviewHapservers":
|
|||
if act == "overview":
|
||||
import asyncio
|
||||
|
||||
|
||||
async def async_get_overview(serv1, serv2, user_uuid, server_id):
|
||||
user_id = sql.get_user_id_by_uuid(user_uuid)
|
||||
user_services = sql.select_user_services(user_id)
|
||||
|
@ -692,7 +702,8 @@ if act == "overview":
|
|||
waf_len = 0
|
||||
|
||||
if haproxy == 1:
|
||||
cmd = 'echo "show info" |nc %s %s -w 1|grep -e "Process_num"' % (serv2, sql.get_setting('haproxy_sock_port'))
|
||||
cmd = 'echo "show info" |nc %s %s -w 1|grep -e "Process_num"' % (
|
||||
serv2, sql.get_setting('haproxy_sock_port'))
|
||||
haproxy_process = funct.server_status(funct.subprocess_execute(cmd))
|
||||
|
||||
if nginx == 1:
|
||||
|
@ -726,6 +737,7 @@ if act == "overview":
|
|||
apache_process)
|
||||
return server_status
|
||||
|
||||
|
||||
async def get_runner_overview():
|
||||
env = Environment(loader=FileSystemLoader('templates/ajax'), autoescape=True,
|
||||
extensions=['jinja2.ext.loopcontrols', 'jinja2.ext.do'])
|
||||
|
@ -734,7 +746,8 @@ if act == "overview":
|
|||
template = env.get_template('overview.html')
|
||||
cookie = http.cookies.SimpleCookie(os.environ.get("HTTP_COOKIE"))
|
||||
user_uuid = cookie.get('uuid')
|
||||
futures = [async_get_overview(server[1], server[2], user_uuid.value, server[0]) for server in sql.select_servers(server=serv)]
|
||||
futures = [async_get_overview(server[1], server[2], user_uuid.value, server[0]) for server in
|
||||
sql.select_servers(server=serv)]
|
||||
for i, future in enumerate(asyncio.as_completed(futures)):
|
||||
result = await future
|
||||
servers.append(result)
|
||||
|
@ -742,6 +755,7 @@ if act == "overview":
|
|||
template = template.render(service_status=servers_sorted, role=sql.get_user_role_by_uuid(user_uuid.value))
|
||||
print(template)
|
||||
|
||||
|
||||
ioloop = asyncio.get_event_loop()
|
||||
ioloop.run_until_complete(get_runner_overview())
|
||||
ioloop.close()
|
||||
|
@ -788,7 +802,8 @@ if act == "overviewwaf":
|
|||
if waf_service == 'haproxy':
|
||||
command = ["ps ax |grep waf/bin/modsecurity |grep -v grep |wc -l"]
|
||||
elif waf_service == 'nginx':
|
||||
command = ["grep 'modsecurity on' %s* --exclude-dir=waf -Rs |wc -l" % funct.return_nice_path(config_path)]
|
||||
command = [
|
||||
"grep 'modsecurity on' %s* --exclude-dir=waf -Rs |wc -l" % funct.return_nice_path(config_path)]
|
||||
commands1 = [
|
||||
"grep SecRuleEngine %s/waf/modsecurity.conf |grep -v '#' |awk '{print $2}'" % config_path]
|
||||
waf_process = funct.ssh_command(server[2], command)
|
||||
|
@ -811,15 +826,18 @@ if act == "overviewwaf":
|
|||
returned_servers.append(server_status)
|
||||
|
||||
servers_sorted = sorted(returned_servers, key=funct.get_key)
|
||||
template = template.render(service_status=servers_sorted, role=sql.get_user_role_by_uuid(user_id.value), waf_service=waf_service)
|
||||
template = template.render(service_status=servers_sorted, role=sql.get_user_role_by_uuid(user_id.value),
|
||||
waf_service=waf_service)
|
||||
print(template)
|
||||
|
||||
if act == "overviewServers":
|
||||
import asyncio
|
||||
|
||||
|
||||
async def async_get_overviewServers(serv1, serv2, service):
|
||||
if service == 'haproxy':
|
||||
cmd = 'echo "show info" |nc %s %s -w 1|grep -e "node\|Nbproc\|Maxco\|MB\|Nbthread"' % (serv2, sql.get_setting('haproxy_sock_port'))
|
||||
cmd = 'echo "show info" |nc %s %s -w 1|grep -e "node\|Nbproc\|Maxco\|MB\|Nbthread"' % (
|
||||
serv2, sql.get_setting('haproxy_sock_port'))
|
||||
out = funct.subprocess_execute(cmd)
|
||||
return_out = ""
|
||||
|
||||
|
@ -836,6 +854,7 @@ if act == "overviewServers":
|
|||
server_status = (serv1, serv2, return_out)
|
||||
return server_status
|
||||
|
||||
|
||||
async def get_runner_overviewServers(**kwargs):
|
||||
env = Environment(loader=FileSystemLoader('templates/ajax'),
|
||||
extensions=['jinja2.ext.loopcontrols', 'jinja2.ext.do'])
|
||||
|
@ -854,6 +873,7 @@ if act == "overviewServers":
|
|||
template = template.render(service_status=servers_sorted, role=role, id=kwargs.get('id'), service_page=service)
|
||||
print(template)
|
||||
|
||||
|
||||
server_id = form.getvalue('id')
|
||||
name = form.getvalue('name')
|
||||
service = form.getvalue('service')
|
||||
|
@ -1176,7 +1196,8 @@ if serv is not None and act == "showMap":
|
|||
nx.draw_networkx_nodes(G, pos, node_color="#5d9ceb", node_size=100, alpha=0.8, node_shape="h")
|
||||
nx.draw_networkx_labels(G, pos=pos_label, alpha=1, font_color="#5CB85C", font_size=10)
|
||||
nx.draw_networkx_edges(G, pos, width=0.3, alpha=0.7, edge_color="#5D9CEB", arrows=False)
|
||||
nx.draw_networkx_edge_labels(G, pos, alpha=0.4, label_pos=0.5, font_color="#5d9ceb", edge_labels=edge_labels, font_size=8)
|
||||
nx.draw_networkx_edge_labels(G, pos, alpha=0.4, label_pos=0.5, font_color="#5d9ceb", edge_labels=edge_labels,
|
||||
font_size=8)
|
||||
|
||||
plt.savefig("map.png")
|
||||
plt.show()
|
||||
|
@ -1206,7 +1227,8 @@ if form.getvalue('servaction') is not None:
|
|||
if enable != "show":
|
||||
funct.logging(serv, 'Has been ' + enable + 'ed ' + backend, login=1, keep_history=1, service='haproxy')
|
||||
print(
|
||||
'<center><h3>You %s %s on HAProxy %s. <a href="statsview.py?serv=%s" title="View stat" target="_blank">Look it</a> or <a href="runtimeapi.py" title="Runtime API">Edit something else</a></h3><br />' % (enable, backend, serv, serv))
|
||||
'<center><h3>You %s %s on HAProxy %s. <a href="statsview.py?serv=%s" title="View stat" target="_blank">Look it</a> or <a href="runtimeapi.py" title="Runtime API">Edit something else</a></h3><br />' % (
|
||||
enable, backend, serv, serv))
|
||||
|
||||
print(funct.ssh_command(serv, command, show_log="1"))
|
||||
action = 'runtimeapi.py ' + enable + ' ' + backend
|
||||
|
@ -1382,9 +1404,12 @@ if form.getvalue('master'):
|
|||
|
||||
commands = [
|
||||
"chmod +x " + script + " && ./" + script + " PROXY=" + proxy_serv + " SSH_PORT=" + ssh_port + " router_id=" + router_id
|
||||
+ " ETH=" + ETH + " IP=" + str(IP) + " MASTER=MASTER" + " ETH_SLAVE=" + ETH_SLAVE + " keepalived_path_logs=" + keepalived_path_logs
|
||||
+ " RETURN_TO_MASTER=" + return_to_master + " SYN_FLOOD=" + syn_flood + " HOST=" + str(master) + " HAPROXY=" + haproxy
|
||||
+ " NGINX=" + nginx + " USER=" + str(ssh_user_name) + " PASS='" + str(ssh_user_password) + "' KEY=" + str(ssh_key_name)
|
||||
+ " ETH=" + ETH + " IP=" + str(
|
||||
IP) + " MASTER=MASTER" + " ETH_SLAVE=" + ETH_SLAVE + " keepalived_path_logs=" + keepalived_path_logs
|
||||
+ " RETURN_TO_MASTER=" + return_to_master + " SYN_FLOOD=" + syn_flood + " HOST=" + str(
|
||||
master) + " HAPROXY=" + haproxy
|
||||
+ " NGINX=" + nginx + " USER=" + str(ssh_user_name) + " PASS='" + str(ssh_user_password) + "' KEY=" + str(
|
||||
ssh_key_name)
|
||||
]
|
||||
|
||||
output, error = funct.subprocess_execute(commands[0])
|
||||
|
@ -1398,7 +1423,8 @@ if form.getvalue('master'):
|
|||
hostname = sql.get_hostname_by_server_ip(master)
|
||||
firewall = 1 if funct.is_service_active(master, 'firewalld') else 0
|
||||
sql.add_server(
|
||||
hostname + '-VIP', IP, group_id, '1', '1', '0', cred_id, ssh_port, 'VRRP IP for ' + master, haproxy, nginx, '0', firewall
|
||||
hostname + '-VIP', IP, group_id, '1', '1', '0', cred_id, ssh_port, 'VRRP IP for ' + master, haproxy,
|
||||
nginx, '0', firewall
|
||||
)
|
||||
|
||||
if form.getvalue('master_slave'):
|
||||
|
@ -1434,7 +1460,8 @@ if form.getvalue('master_slave'):
|
|||
commands = [
|
||||
"chmod +x " + script + " && ./" + script + " PROXY=" + proxy_serv + " SSH_PORT=" + ssh_port + " router_id=" + router_id
|
||||
+ " ETH=" + ETH + " IP=" + IP + " MASTER=BACKUP" + " ETH_SLAVE=" + ETH_SLAVE + " keepalived_path_logs=" + keepalived_path_logs
|
||||
+ " HAPROXY=" + HAPROXY + " NGINX=" + nginx + " HOST=" + str(slave) + " USER=" + str(ssh_user_name) + " PASS='" + str(ssh_user_password)
|
||||
+ " HAPROXY=" + HAPROXY + " NGINX=" + nginx + " HOST=" + str(slave) + " USER=" + str(
|
||||
ssh_user_name) + " PASS='" + str(ssh_user_password)
|
||||
+ "' KEY=" + str(ssh_key_name)
|
||||
]
|
||||
|
||||
|
@ -1478,7 +1505,8 @@ if form.getvalue('masteradd'):
|
|||
commands = [
|
||||
"chmod +x " + script + " && ./" + script + " PROXY=" + proxy_serv + " SSH_PORT=" + ssh_port + " ETH=" + ETH
|
||||
+ " SLAVE_ETH=" + SLAVE_ETH + " keepalived_path_logs=" + keepalived_path_logs + " RETURN_TO_MASTER=" + return_to_master
|
||||
+ " IP=" + str(IP) + " MASTER=MASTER" + " RESTART=" + kp + " ADD_VRRP=1 HOST=" + str(master) + " router_id=" + router_id
|
||||
+ " IP=" + str(IP) + " MASTER=MASTER" + " RESTART=" + kp + " ADD_VRRP=1 HOST=" + str(
|
||||
master) + " router_id=" + router_id
|
||||
+ " USER=" + str(ssh_user_name) + " PASS='" + str(ssh_user_password) + "' KEY=" + str(ssh_key_name)
|
||||
]
|
||||
|
||||
|
@ -1517,7 +1545,8 @@ if form.getvalue('masteradd_slave'):
|
|||
commands = [
|
||||
"chmod +x " + script + " && ./" + script + " PROXY=" + proxy_serv
|
||||
+ " SSH_PORT=" + ssh_port + " ETH=" + ETH + " SLAVE_ETH=" + SLAVE_ETH + " keepalived_path_logs=" + keepalived_path_logs
|
||||
+ " IP=" + str(IP) + " MASTER=BACKUP" + " RESTART=" + kp + " ADD_VRRP=1 HOST=" + str(slave) + " router_id=" + router_id
|
||||
+ " IP=" + str(IP) + " MASTER=BACKUP" + " RESTART=" + kp + " ADD_VRRP=1 HOST=" + str(
|
||||
slave) + " router_id=" + router_id
|
||||
+ " USER=" + str(ssh_user_name) + " PASS='" + str(ssh_user_password) + "' KEY=" + str(ssh_key_name)
|
||||
]
|
||||
|
||||
|
@ -1760,7 +1789,8 @@ if form.getvalue('backup') or form.getvalue('deljob') or form.getvalue('backupup
|
|||
)
|
||||
print(template)
|
||||
print('success: Backup job has been created')
|
||||
funct.logging('backup ', ' a new backup job for server ' + serv + ' has been created', haproxywi=1, login=1)
|
||||
funct.logging('backup ', ' a new backup job for server ' + serv + ' has been created', haproxywi=1,
|
||||
login=1)
|
||||
else:
|
||||
print('error: Cannot add the job into DB')
|
||||
elif deljob:
|
||||
|
@ -2066,7 +2096,8 @@ if form.getvalue('get_exporter_v'):
|
|||
|
||||
if form.getvalue('bwlists'):
|
||||
lib_path = funct.get_config_var('main', 'lib_path')
|
||||
list_path = lib_path + "/" + sql.get_setting('lists_path') + "/" + form.getvalue('group') + "/" + form.getvalue('color') + "/" + form.getvalue('bwlists')
|
||||
list_path = lib_path + "/" + sql.get_setting('lists_path') + "/" + form.getvalue('group') + "/" + form.getvalue(
|
||||
'color') + "/" + form.getvalue('bwlists')
|
||||
try:
|
||||
file = open(list_path, "r")
|
||||
file_read = file.read()
|
||||
|
@ -2080,7 +2111,8 @@ if form.getvalue('bwlists_create'):
|
|||
lib_path = funct.get_config_var('main', 'lib_path')
|
||||
list_name = form.getvalue('bwlists_create').split('.')[0]
|
||||
list_name += '.lst'
|
||||
list_path = lib_path + "/" + sql.get_setting('lists_path') + "/" + form.getvalue('group') + "/" + color + "/" + list_name
|
||||
list_path = lib_path + "/" + sql.get_setting('lists_path') + "/" + form.getvalue(
|
||||
'group') + "/" + color + "/" + list_name
|
||||
try:
|
||||
open(list_path, 'a').close()
|
||||
print('success: ')
|
||||
|
@ -2095,7 +2127,8 @@ if form.getvalue('bwlists_save'):
|
|||
color = form.getvalue('color')
|
||||
bwlists_save = form.getvalue('bwlists_save')
|
||||
lib_path = funct.get_config_var('main', 'lib_path')
|
||||
list_path = lib_path + "/" + sql.get_setting('lists_path') + "/" + form.getvalue('group') + "/" + color + "/" + bwlists_save
|
||||
list_path = lib_path + "/" + sql.get_setting('lists_path') + "/" + form.getvalue(
|
||||
'group') + "/" + color + "/" + bwlists_save
|
||||
try:
|
||||
with open(list_path, "w") as file:
|
||||
file.write(form.getvalue('bwlists_content'))
|
||||
|
@ -2147,7 +2180,8 @@ if form.getvalue('bwlists_delete'):
|
|||
color = form.getvalue('color')
|
||||
bwlists_delete = form.getvalue('bwlists_delete')
|
||||
lib_path = funct.get_config_var('main', 'lib_path')
|
||||
list_path = lib_path + "/" + sql.get_setting('lists_path') + "/" + form.getvalue('group') + "/" + color + "/" + bwlists_delete
|
||||
list_path = lib_path + "/" + sql.get_setting('lists_path') + "/" + form.getvalue(
|
||||
'group') + "/" + color + "/" + bwlists_delete
|
||||
try:
|
||||
os.remove(list_path)
|
||||
except IOError as e:
|
||||
|
@ -2182,7 +2216,8 @@ if form.getvalue('bwlists_delete'):
|
|||
|
||||
if form.getvalue('get_lists'):
|
||||
lib_path = funct.get_config_var('main', 'lib_path')
|
||||
list_path = lib_path + "/" + sql.get_setting('lists_path') + "/" + form.getvalue('group') + "/" + form.getvalue('color')
|
||||
list_path = lib_path + "/" + sql.get_setting('lists_path') + "/" + form.getvalue('group') + "/" + form.getvalue(
|
||||
'color')
|
||||
lists = funct.get_files(list_path, "lst")
|
||||
for l in lists:
|
||||
print(l)
|
||||
|
@ -2404,7 +2439,8 @@ if form.getvalue('updatehapwiserver') is not None:
|
|||
service = form.getvalue('service_name')
|
||||
sql.update_hapwi_server(hapwi_id, alert, metrics, active, service)
|
||||
server_ip = sql.select_server_ip_by_id(hapwi_id)
|
||||
funct.logging(server_ip, 'The server ' + name + ' has been updated ', haproxywi=1, login=1, keep_history=1, service=service)
|
||||
funct.logging(server_ip, 'The server ' + name + ' has been updated ', haproxywi=1, login=1, keep_history=1,
|
||||
service=service)
|
||||
|
||||
if form.getvalue('updateserver') is not None:
|
||||
name = form.getvalue('updateserver')
|
||||
|
@ -2425,7 +2461,8 @@ if form.getvalue('updateserver') is not None:
|
|||
if name is None or port is None:
|
||||
print(error_mess)
|
||||
else:
|
||||
sql.update_server(name, group, typeip, enable, master, serv_id, cred, port, desc, haproxy, nginx, apache, firewall, protected)
|
||||
sql.update_server(name, group, typeip, enable, master, serv_id, cred, port, desc, haproxy, nginx, apache,
|
||||
firewall, protected)
|
||||
funct.logging('the server ' + name, ' has been updated ', haproxywi=1, login=1)
|
||||
server_ip = sql.select_server_ip_by_id(serv_id)
|
||||
funct.logging(server_ip, 'The server ' + name + ' has been update', haproxywi=1, login=1,
|
||||
|
@ -2672,7 +2709,8 @@ if form.getvalue('updatetoken') is not None:
|
|||
print(error_mess)
|
||||
else:
|
||||
sql.update_telegram(token, channel, group, user_id)
|
||||
funct.logging('group ' + group, 'The Telegram token has been updated for channel: ' + channel, haproxywi=1, login=1)
|
||||
funct.logging('group ' + group, 'The Telegram token has been updated for channel: ' + channel, haproxywi=1,
|
||||
login=1)
|
||||
|
||||
if form.getvalue('update_slack_token') is not None:
|
||||
token = form.getvalue('update_slack_token')
|
||||
|
@ -2683,13 +2721,15 @@ if form.getvalue('update_slack_token') is not None:
|
|||
print(error_mess)
|
||||
else:
|
||||
sql.update_slack(token, channel, group, user_id)
|
||||
funct.logging('group ' + group, 'The Slack token has been updated for channel: ' + channel, haproxywi=1, login=1)
|
||||
funct.logging('group ' + group, 'The Slack token has been updated for channel: ' + channel, haproxywi=1,
|
||||
login=1)
|
||||
|
||||
if form.getvalue('updatesettings') is not None:
|
||||
settings = form.getvalue('updatesettings')
|
||||
val = form.getvalue('val')
|
||||
if sql.update_setting(settings, val):
|
||||
funct.logging('localhost', 'The ' + settings + ' setting has been changed to: ' + str(val), haproxywi=1, login=1)
|
||||
funct.logging('localhost', 'The ' + settings + ' setting has been changed to: ' + str(val), haproxywi=1,
|
||||
login=1)
|
||||
print("Ok")
|
||||
|
||||
if form.getvalue('getuserservices'):
|
||||
|
@ -2849,16 +2889,20 @@ if form.getvalue('showBytes') is not None:
|
|||
|
||||
port = sql.get_setting('haproxy_sock_port')
|
||||
bin_bout = []
|
||||
cmd = "echo 'show stat' |nc {} {} |cut -d ',' -f 1-2,9|grep -E '[0-9]'|awk -F',' '{{sum+=$3;}}END{{print sum;}}'".format(serv, port)
|
||||
cmd = "echo 'show stat' |nc {} {} |cut -d ',' -f 1-2,9|grep -E '[0-9]'|awk -F',' '{{sum+=$3;}}END{{print sum;}}'".format(
|
||||
serv, port)
|
||||
bit_in, stderr = funct.subprocess_execute(cmd)
|
||||
bin_bout.append(bit_in[0])
|
||||
cmd = "echo 'show stat' |nc {} {} |cut -d ',' -f 1-2,10|grep -E '[0-9]'|awk -F',' '{{sum+=$3;}}END{{print sum;}}'".format(serv, port)
|
||||
cmd = "echo 'show stat' |nc {} {} |cut -d ',' -f 1-2,10|grep -E '[0-9]'|awk -F',' '{{sum+=$3;}}END{{print sum;}}'".format(
|
||||
serv, port)
|
||||
bout, stderr1 = funct.subprocess_execute(cmd)
|
||||
bin_bout.append(bout[0])
|
||||
cmd = "echo 'show stat' |nc {} {} |cut -d ',' -f 1-2,5|grep -E '[0-9]'|awk -F',' '{{sum+=$3;}}END{{print sum;}}'".format(serv, port)
|
||||
cmd = "echo 'show stat' |nc {} {} |cut -d ',' -f 1-2,5|grep -E '[0-9]'|awk -F',' '{{sum+=$3;}}END{{print sum;}}'".format(
|
||||
serv, port)
|
||||
cin, stderr2 = funct.subprocess_execute(cmd)
|
||||
bin_bout.append(cin[0])
|
||||
cmd = "echo 'show stat' |nc {} {} |cut -d ',' -f 1-2,8|grep -E '[0-9]'|awk -F',' '{{sum+=$3;}}END{{print sum;}}'".format(serv, port)
|
||||
cmd = "echo 'show stat' |nc {} {} |cut -d ',' -f 1-2,8|grep -E '[0-9]'|awk -F',' '{{sum+=$3;}}END{{print sum;}}'".format(
|
||||
serv, port)
|
||||
cout, stderr3 = funct.subprocess_execute(cmd)
|
||||
bin_bout.append(cout[0])
|
||||
env = Environment(loader=FileSystemLoader('templates'), autoescape=True)
|
||||
|
@ -2868,6 +2912,7 @@ if form.getvalue('showBytes') is not None:
|
|||
|
||||
if form.getvalue('nginxConnections'):
|
||||
import requests
|
||||
|
||||
serv = form.getvalue('nginxConnections')
|
||||
port = sql.get_setting('nginx_stats_port')
|
||||
user = sql.get_setting('nginx_stats_user')
|
||||
|
@ -3244,7 +3289,8 @@ if form.getvalue('nettools_nslookup_server_from'):
|
|||
print('error: ' + stderr[5:-1])
|
||||
sys.exit()
|
||||
count_string = 0
|
||||
print('<b style="display: block; margin-top:10px;">The <i style="color: var(--blue-color)">' + dns_name + '</i> domain has the following records:</b>')
|
||||
print(
|
||||
'<b style="display: block; margin-top:10px;">The <i style="color: var(--blue-color)">' + dns_name + '</i> domain has the following records:</b>')
|
||||
for i in output:
|
||||
if 'dig: command not found.' in i:
|
||||
print('error: Install bind-utils before using NSLookup')
|
||||
|
@ -3330,7 +3376,8 @@ if any((form.getvalue('do_new_name'), form.getvalue('aws_new_name'), form.getval
|
|||
|
||||
env = Environment(loader=FileSystemLoader('templates'), autoescape=True)
|
||||
template = env.get_template('ajax/provisioning/providers.html')
|
||||
template = template.render(providers=providers, role=role_id, groups=groups, user_group=provider_group, adding=1, params=params)
|
||||
template = template.render(providers=providers, role=role_id, groups=groups, user_group=provider_group,
|
||||
adding=1, params=params)
|
||||
print(template)
|
||||
|
||||
if form.getvalue('providerdel'):
|
||||
|
@ -4062,6 +4109,7 @@ if form.getvalue('load_update_hapwi'):
|
|||
|
||||
if form.getvalue('loadopenvpn'):
|
||||
import distro
|
||||
|
||||
env = Environment(loader=FileSystemLoader('templates'))
|
||||
template = env.get_template('ajax/load_openvpn.html')
|
||||
openvpn_configs = ''
|
||||
|
@ -4152,7 +4200,6 @@ if form.getvalue('getoption'):
|
|||
|
||||
print(json.dumps(a))
|
||||
|
||||
|
||||
if form.getvalue('newtoption'):
|
||||
option = form.getvalue('newtoption')
|
||||
group = form.getvalue('newoptiongroup')
|
||||
|
@ -4166,7 +4213,6 @@ if form.getvalue('newtoption'):
|
|||
template = template.render(options=sql.select_options(option=option))
|
||||
print(template)
|
||||
|
||||
|
||||
if form.getvalue('updateoption') is not None:
|
||||
option = form.getvalue('updateoption')
|
||||
option_id = form.getvalue('id')
|
||||
|
@ -4175,12 +4221,10 @@ if form.getvalue('updateoption') is not None:
|
|||
else:
|
||||
sql.update_options(option, option_id)
|
||||
|
||||
|
||||
if form.getvalue('optiondel') is not None:
|
||||
if sql.delete_option(form.getvalue('optiondel')):
|
||||
print("Ok")
|
||||
|
||||
|
||||
if form.getvalue('getsavedserver'):
|
||||
group = form.getvalue('getsavedserver')
|
||||
term = form.getvalue('term')
|
||||
|
@ -4198,7 +4242,6 @@ if form.getvalue('getsavedserver'):
|
|||
|
||||
print(json.dumps(a))
|
||||
|
||||
|
||||
if form.getvalue('newsavedserver'):
|
||||
savedserver = form.getvalue('newsavedserver')
|
||||
description = form.getvalue('newsavedserverdesc')
|
||||
|
@ -4213,7 +4256,6 @@ if form.getvalue('newsavedserver'):
|
|||
template = template.render(server=sql.select_saved_servers(server=savedserver))
|
||||
print(template)
|
||||
|
||||
|
||||
if form.getvalue('updatesavedserver') is not None:
|
||||
savedserver = form.getvalue('updatesavedserver')
|
||||
description = form.getvalue('description')
|
||||
|
@ -4223,7 +4265,6 @@ if form.getvalue('updatesavedserver') is not None:
|
|||
else:
|
||||
sql.update_savedserver(savedserver, description, savedserver_id)
|
||||
|
||||
|
||||
if form.getvalue('savedserverdel') is not None:
|
||||
if sql.delete_savedserver(form.getvalue('savedserverdel')):
|
||||
print("Ok")
|
||||
|
@ -4244,7 +4285,6 @@ if form.getvalue('show_users_ovw') is not None:
|
|||
template = template.render(users=users, users_groups=users_groups)
|
||||
print(template)
|
||||
|
||||
|
||||
if form.getvalue('serverSettings') is not None:
|
||||
server_id = form.getvalue('serverSettings')
|
||||
service = form.getvalue('serverSettingsService')
|
||||
|
@ -4254,7 +4294,6 @@ if form.getvalue('serverSettings') is not None:
|
|||
template = template.render(settings=sql.select_service_settings(server_id, service), service=service)
|
||||
print(template)
|
||||
|
||||
|
||||
if form.getvalue('serverSettingsSave') is not None:
|
||||
server_id = form.getvalue('serverSettingsSave')
|
||||
service = form.getvalue('serverSettingsService')
|
||||
|
@ -4393,7 +4432,6 @@ if act == 'getSystemInfo':
|
|||
template = template.render(system_info=system_info, server_ip=server_ip, server_id=server_id)
|
||||
print(template)
|
||||
|
||||
|
||||
if act == 'updateSystemInfo':
|
||||
server_ip = form.getvalue('server_ip')
|
||||
server_ip = funct.is_ip_or_dns(server_ip)
|
||||
|
@ -4491,7 +4529,6 @@ if form.getvalue('show_sub_ovw'):
|
|||
template = template.render(sub=sql.select_user_all())
|
||||
print(template)
|
||||
|
||||
|
||||
if form.getvalue('updateHaproxyCheckerSettings'):
|
||||
setting_id = form.getvalue('updateHaproxyCheckerSettings')
|
||||
email = form.getvalue('email')
|
||||
|
|
|
@ -54,9 +54,12 @@ try:
|
|||
except Exception:
|
||||
pass
|
||||
|
||||
try:
|
||||
user, user_id, role, token, servers, user_services = funct.get_users_params()
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
selects = funct.get_files(log_path, "log")
|
||||
selects = funct.get_files(log_path, file_format="log")
|
||||
if form.getvalue('type') is None:
|
||||
selects.append(['fail2ban.log', 'fail2ban.log'])
|
||||
selects.append(['roxy-wi.error.log', 'error.log'])
|
||||
|
|
Loading…
Reference in New Issue