mirror of https://github.com/Aidaho12/haproxy-wi
parent
3c8ab621fd
commit
2664479d1c
|
@ -399,13 +399,10 @@ if form.getvalue('action_hap') is not None and serv is not None:
|
||||||
if form.getvalue('action_nginx') is not None and serv is not None:
|
if form.getvalue('action_nginx') is not None and serv is not None:
|
||||||
action = form.getvalue('action_nginx')
|
action = form.getvalue('action_nginx')
|
||||||
|
|
||||||
if funct.check_haproxy_config(serv):
|
|
||||||
commands = ["sudo systemctl %s nginx" % action]
|
commands = ["sudo systemctl %s nginx" % action]
|
||||||
funct.ssh_command(serv, commands)
|
funct.ssh_command(serv, commands)
|
||||||
funct.logging(serv, 'Nginx was ' + action + 'ed', haproxywi=1, login=1)
|
funct.logging(serv, 'Nginx was ' + action + 'ed', haproxywi=1, login=1)
|
||||||
print("success: Nginx was %s" % action)
|
print("success: Nginx was %s" % action)
|
||||||
else:
|
|
||||||
print("error: Bad config, check please")
|
|
||||||
|
|
||||||
if form.getvalue('action_waf') is not None and serv is not None:
|
if form.getvalue('action_waf') is not None and serv is not None:
|
||||||
serv = form.getvalue('serv')
|
serv = form.getvalue('serv')
|
||||||
|
@ -1626,7 +1623,7 @@ if form.getvalue('newserver') is not None:
|
||||||
page=page,
|
page=page,
|
||||||
adding=1)
|
adding=1)
|
||||||
print(template)
|
print(template)
|
||||||
funct.logging('a new server ' + hostname, ' has created ', haproxywi=1, login=1)
|
funct.logging('a new server ' + hostname, ' has been created ', haproxywi=1, login=1)
|
||||||
|
|
||||||
if form.getvalue('updatehapwiserver') is not None:
|
if form.getvalue('updatehapwiserver') is not None:
|
||||||
hapwi_id = form.getvalue('updatehapwiserver')
|
hapwi_id = form.getvalue('updatehapwiserver')
|
||||||
|
@ -1636,7 +1633,7 @@ if form.getvalue('updatehapwiserver') is not None:
|
||||||
metrics = form.getvalue('metrics')
|
metrics = form.getvalue('metrics')
|
||||||
service_name = form.getvalue('service_name')
|
service_name = form.getvalue('service_name')
|
||||||
sql.update_hapwi_server(hapwi_id, alert, metrics, active, service_name)
|
sql.update_hapwi_server(hapwi_id, alert, metrics, active, service_name)
|
||||||
funct.logging('the server ' + name, ' has updated ', haproxywi=1, login=1)
|
funct.logging('the server ' + name, ' has been updated ', haproxywi=1, login=1)
|
||||||
|
|
||||||
if form.getvalue('updateserver') is not None:
|
if form.getvalue('updateserver') is not None:
|
||||||
name = form.getvalue('updateserver')
|
name = form.getvalue('updateserver')
|
||||||
|
@ -1656,7 +1653,7 @@ if form.getvalue('updateserver') is not None:
|
||||||
print(error_mess)
|
print(error_mess)
|
||||||
else:
|
else:
|
||||||
sql.update_server(name, group, typeip, enable, master, serv_id, cred, port, desc, haproxy, nginx, firewall)
|
sql.update_server(name, group, typeip, enable, master, serv_id, cred, port, desc, haproxy, nginx, firewall)
|
||||||
funct.logging('the server ' + name, ' has updated ', haproxywi=1, login=1)
|
funct.logging('the server ' + name, ' has been updated ', haproxywi=1, login=1)
|
||||||
|
|
||||||
if form.getvalue('serverdel') is not None:
|
if form.getvalue('serverdel') is not None:
|
||||||
serverdel = form.getvalue('serverdel')
|
serverdel = form.getvalue('serverdel')
|
||||||
|
@ -1670,7 +1667,7 @@ if form.getvalue('serverdel') is not None:
|
||||||
if sql.delete_server(serverdel):
|
if sql.delete_server(serverdel):
|
||||||
sql.delete_waf_server(serverdel)
|
sql.delete_waf_server(serverdel)
|
||||||
print("Ok")
|
print("Ok")
|
||||||
funct.logging(hostname, ' has deleted server with ', haproxywi=1, login=1)
|
funct.logging(hostname, ' has been deleted server with ', haproxywi=1, login=1)
|
||||||
|
|
||||||
if form.getvalue('newgroup') is not None:
|
if form.getvalue('newgroup') is not None:
|
||||||
newgroup = form.getvalue('groupname')
|
newgroup = form.getvalue('groupname')
|
||||||
|
@ -2231,6 +2228,15 @@ if form.getvalue('viewFirewallRules') is not None:
|
||||||
cmd2 = ["sudo iptables -L OUTPUT -n --line-numbers|sed 's/ */ /g'|grep -v -E 'Chain|target'"]
|
cmd2 = ["sudo iptables -L OUTPUT -n --line-numbers|sed 's/ */ /g'|grep -v -E 'Chain|target'"]
|
||||||
|
|
||||||
input_chain = funct.ssh_command(serv, cmd, raw=1)
|
input_chain = funct.ssh_command(serv, cmd, raw=1)
|
||||||
|
|
||||||
|
input_chain2 = []
|
||||||
|
for each_line in input_chain:
|
||||||
|
input_chain2.append(each_line.strip('\n'))
|
||||||
|
|
||||||
|
if 'error:' in input_chain:
|
||||||
|
print(input_chain)
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
IN_public_allow = funct.ssh_command(serv, cmd1, raw=1)
|
IN_public_allow = funct.ssh_command(serv, cmd1, raw=1)
|
||||||
output_chain = funct.ssh_command(serv, cmd2, raw=1)
|
output_chain = funct.ssh_command(serv, cmd2, raw=1)
|
||||||
|
|
||||||
|
@ -2238,7 +2244,7 @@ if form.getvalue('viewFirewallRules') is not None:
|
||||||
|
|
||||||
env = Environment(loader=FileSystemLoader('templates'))
|
env = Environment(loader=FileSystemLoader('templates'))
|
||||||
template = env.get_template('ajax/firewall_rules.html')
|
template = env.get_template('ajax/firewall_rules.html')
|
||||||
template = template.render(input=input_chain, IN_public_allow=IN_public_allow, output=output_chain)
|
template = template.render(input=input_chain2, IN_public_allow=IN_public_allow, output=output_chain)
|
||||||
print(template)
|
print(template)
|
||||||
|
|
||||||
if form.getvalue('geoipserv') is not None:
|
if form.getvalue('geoipserv') is not None:
|
||||||
|
@ -2273,7 +2279,7 @@ if form.getvalue('geoip_install'):
|
||||||
|
|
||||||
commands = ["chmod +x " + script + " && ./" + script + " PROXY=" + proxy_serv + " SSH_PORT=" + ssh_port +
|
commands = ["chmod +x " + script + " && ./" + script + " PROXY=" + proxy_serv + " SSH_PORT=" + ssh_port +
|
||||||
" UPDATE=" + str(geoip_update) + " maxmind_key=" + maxmind_key + " haproxy_dir=" + haproxy_dir +
|
" UPDATE=" + str(geoip_update) + " maxmind_key=" + maxmind_key + " haproxy_dir=" + haproxy_dir +
|
||||||
" HOST=" + str(serv) +" USER=" + str(ssh_user_name) + " PASS=" + str(ssh_user_password) +
|
" HOST=" + str(serv) + " USER=" + str(ssh_user_name) + " PASS=" + str(ssh_user_password) +
|
||||||
" KEY=" + str(ssh_key_name)]
|
" KEY=" + str(ssh_key_name)]
|
||||||
|
|
||||||
output, error = funct.subprocess_execute(commands[0])
|
output, error = funct.subprocess_execute(commands[0])
|
||||||
|
@ -2281,3 +2287,11 @@ if form.getvalue('geoip_install'):
|
||||||
funct.show_installation_output(error, output, 'GeoLite2 Database')
|
funct.show_installation_output(error, output, 'GeoLite2 Database')
|
||||||
|
|
||||||
os.system("rm -f %s" % script)
|
os.system("rm -f %s" % script)
|
||||||
|
|
||||||
|
if form.getvalue('show_versions'):
|
||||||
|
from jinja2 import Environment, FileSystemLoader
|
||||||
|
|
||||||
|
env = Environment(loader=FileSystemLoader('templates'))
|
||||||
|
template = env.get_template('ajax/check_version.html')
|
||||||
|
template = template.render(versions=funct.versions())
|
||||||
|
print(template)
|
|
@ -7,18 +7,18 @@
|
||||||
<th class="ip-field" style="width: 5%">IP</th>
|
<th class="ip-field" style="width: 5%">IP</th>
|
||||||
<th class="checkbox-head" style="width: 5%"><span title="SSH port">Port</span></th>
|
<th class="checkbox-head" style="width: 5%"><span title="SSH port">Port</span></th>
|
||||||
{% if page != "servers.py" %}
|
{% if page != "servers.py" %}
|
||||||
<th class="group-field" style="width: 10%">Group</th>
|
<th style="width: 10%">Group</th>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<th class="checkbox-head" style="width: 5%">Enabled</th>
|
<th class="checkbox-head" style="width: 5%">Enabled</th>
|
||||||
<th class="checkbox-head" style="width: 5%">
|
<th style="width: 5%; padding-left: 5px;">
|
||||||
<span title="Virtual IP, something like VRRP">Virt</span>
|
<span title="Virtual IP, something like VRRP">Virt</span>
|
||||||
</th>
|
</th>
|
||||||
<th class="checkbox-head" style="width: 5%">HAProxy</th>
|
<th class="checkbox-head" style="width: 5%">HAProxy</th>
|
||||||
<th class="checkbox-head" style="width: 5%">Nginx</th>
|
<th style="width: 5%">Nginx</th>
|
||||||
<th class="checkbox-head" style="width: 15%">
|
<th style="width: 15%;">
|
||||||
<span title="If the server has a firewall enabled, enable this option">Firewalld</span>
|
<span title="If the server has a firewall enabled, enable this option">Firewalld</span>
|
||||||
</th>
|
</th>
|
||||||
<th class="slave-field" style="width: 10%">
|
<th style="width: 10%">
|
||||||
<span title="Actions with the master config will automatically apply on the slave">Slave for</span>
|
<span title="Actions with the master config will automatically apply on the slave">Slave for</span>
|
||||||
</th>
|
</th>
|
||||||
<th class="cred-field">Credentials</th>
|
<th class="cred-field">Credentials</th>
|
||||||
|
@ -83,7 +83,7 @@
|
||||||
{{ checkbox(id) }}
|
{{ checkbox(id) }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
<td class="checkbox">
|
<td class="checkbox" style="padding-left: 5px;">
|
||||||
{% set id = 'nginx-' + server.0|string() %}
|
{% set id = 'nginx-' + server.0|string() %}
|
||||||
{% if server.14 == 1 %}
|
{% if server.14 == 1 %}
|
||||||
{{ checkbox(id, checked='checked') }}
|
{{ checkbox(id, checked='checked') }}
|
||||||
|
@ -91,7 +91,7 @@
|
||||||
{{ checkbox(id) }}
|
{{ checkbox(id) }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
<td class="checkbox">
|
<td class="checkbox" style="padding-left: 0">
|
||||||
<div class="controlgroup">
|
<div class="controlgroup">
|
||||||
{% set id = 'firewall-' + server.0|string() %}
|
{% set id = 'firewall-' + server.0|string() %}
|
||||||
{% if server.18 == 1 %}
|
{% if server.18 == 1 %}
|
||||||
|
|
|
@ -651,6 +651,7 @@ $( function() {
|
||||||
$( ".second-server" ).hide( "fast" );
|
$( ".second-server" ).hide( "fast" );
|
||||||
$( ".backend_server" ).hide( "fast" );
|
$( ".backend_server" ).hide( "fast" );
|
||||||
$( ".send_proxy" ).hide( "fast" );
|
$( ".send_proxy" ).hide( "fast" );
|
||||||
|
$( "input[name=server_maxconn]" ).hide( "fast" );
|
||||||
$( ".prefix" ).attr('required',true);
|
$( ".prefix" ).attr('required',true);
|
||||||
} else {
|
} else {
|
||||||
$( ".prefix" ).hide( "fast" );
|
$( ".prefix" ).hide( "fast" );
|
||||||
|
@ -658,6 +659,7 @@ $( function() {
|
||||||
$( ".second-server" ).show( "fast" );
|
$( ".second-server" ).show( "fast" );
|
||||||
$( ".backend_server" ).show( "fast" )
|
$( ".backend_server" ).show( "fast" )
|
||||||
$( ".send_proxy" ).show( "fast" )
|
$( ".send_proxy" ).show( "fast" )
|
||||||
|
$( "input[name=server_maxconn]" ).show( "fast" );
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
var location = window.location.href;
|
var location = window.location.href;
|
||||||
|
@ -888,8 +890,8 @@ $( function() {
|
||||||
toastr.error('Wrong e-mail format');
|
toastr.error('Wrong e-mail format');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
var add_server_var = '<br /><input name="servers" title="Backend IP" size=14 placeholder="xxx.xxx.xxx.xxx" class="form-control">: ' +
|
var add_server_var = '<br /><input name="servers" title="Backend IP" size=14 placeholder="xxx.xxx.xxx.xxx" class="form-control second-server">: ' +
|
||||||
'<input name="server_port" required title="Backend IP" size=3 placeholder="yyy" class="form-control add_server_number" type="number">' +
|
'<input name="server_port" required title="Backend IP" size=3 placeholder="yyy" class="form-control second-server add_server_number" type="number">' +
|
||||||
'<input name="server_maxconn" required title="Maxconn. Default 200" size=5 value="200" class="form-control add_server_number" type="number">'
|
'<input name="server_maxconn" required title="Maxconn. Default 200" size=5 value="200" class="form-control add_server_number" type="number">'
|
||||||
$('[name=add-server-input]').click(function() {
|
$('[name=add-server-input]').click(function() {
|
||||||
$("[name=add_servers]").append(add_server_var);
|
$("[name=add_servers]").append(add_server_var);
|
||||||
|
|
|
@ -72,5 +72,4 @@ $( function() {
|
||||||
});
|
});
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
})
|
|
@ -318,7 +318,6 @@ function updateHapWIServer(id, service_name) {
|
||||||
toastr.error(data);
|
toastr.error(data);
|
||||||
} else {
|
} else {
|
||||||
toastr.clear();
|
toastr.clear();
|
||||||
console.log("#server-"+id+"-"+service_name)
|
|
||||||
$("#server-"+id+"-"+service_name).addClass( "update", 1000 );
|
$("#server-"+id+"-"+service_name).addClass( "update", 1000 );
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
$( "#server-"+id+"-"+service_name).removeClass( "update" );
|
$( "#server-"+id+"-"+service_name).removeClass( "update" );
|
||||||
|
|
|
@ -959,7 +959,7 @@ $( function() {
|
||||||
$(this).children(".settings").css('padding-left', '30px');
|
$(this).children(".settings").css('padding-left', '30px');
|
||||||
$(this).children(".settings").css('border-left', '4px solid #5D9CEB');
|
$(this).children(".settings").css('border-left', '4px solid #5D9CEB');
|
||||||
});
|
});
|
||||||
$( "#tabs" ).tabs( "option", "active", 5 );
|
$( "#tabs" ).tabs( "option", "active", 6 );
|
||||||
} );
|
} );
|
||||||
$( ".services" ).on( "click", function() {
|
$( ".services" ).on( "click", function() {
|
||||||
$('.menu li ul li').each(function () {
|
$('.menu li ul li').each(function () {
|
||||||
|
@ -968,7 +968,7 @@ $( function() {
|
||||||
$(this).children(".services").css('padding-left', '30px');
|
$(this).children(".services").css('padding-left', '30px');
|
||||||
$(this).children(".services").css('border-left', '4px solid #5D9CEB');
|
$(this).children(".services").css('border-left', '4px solid #5D9CEB');
|
||||||
});
|
});
|
||||||
$( "#tabs" ).tabs( "option", "active", 6 );
|
$( "#tabs" ).tabs( "option", "active", 7 );
|
||||||
} );
|
} );
|
||||||
$( ".updatehapwi" ).on( "click", function() {
|
$( ".updatehapwi" ).on( "click", function() {
|
||||||
$('.menu li ul li').each(function () {
|
$('.menu li ul li').each(function () {
|
||||||
|
@ -977,7 +977,7 @@ $( function() {
|
||||||
$(this).children(".updatehapwi").css('padding-left', '30px');
|
$(this).children(".updatehapwi").css('padding-left', '30px');
|
||||||
$(this).children(".updatehapwi").css('border-left', '4px solid #5D9CEB');
|
$(this).children(".updatehapwi").css('border-left', '4px solid #5D9CEB');
|
||||||
});
|
});
|
||||||
$( "#tabs" ).tabs( "option", "active", 7 );
|
$( "#tabs" ).tabs( "option", "active", 8 );
|
||||||
} );
|
} );
|
||||||
} else {
|
} else {
|
||||||
$( ".runtime" ).on( "click", function() {
|
$( ".runtime" ).on( "click", function() {
|
||||||
|
|
|
@ -373,12 +373,6 @@ pre {
|
||||||
.ip-field {
|
.ip-field {
|
||||||
width: 100px;
|
width: 100px;
|
||||||
}
|
}
|
||||||
.group-field, .slave-field {
|
|
||||||
//min-width: 5%;
|
|
||||||
}
|
|
||||||
.slave-field {
|
|
||||||
padding-left: 10px;
|
|
||||||
}
|
|
||||||
.cred-field {
|
.cred-field {
|
||||||
min-width: 225px;
|
min-width: 225px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2173,7 +2173,7 @@ function viewFirewallRules(id) {
|
||||||
type: "POST",
|
type: "POST",
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
data = data.replace(/\s+/g, ' ');
|
data = data.replace(/\s+/g, ' ');
|
||||||
if (data.indexOf('danger') != '-1' || data.indexOf('unique') != '-1' || data.indexOf('error:') != '-1') {
|
if (data.indexOf('danger') != '-1' || data.indexOf('unique') != '-1' || data.indexOf('error: ') != '-1') {
|
||||||
toastr.error(data);
|
toastr.error(data);
|
||||||
} else {
|
} else {
|
||||||
toastr.clear();
|
toastr.clear();
|
||||||
|
|
Loading…
Reference in New Issue