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:
|
||||
action = form.getvalue('action_nginx')
|
||||
|
||||
if funct.check_haproxy_config(serv):
|
||||
commands = ["sudo systemctl %s nginx" % action]
|
||||
funct.ssh_command(serv, commands)
|
||||
funct.logging(serv, 'Nginx was ' + action + 'ed', haproxywi=1, login=1)
|
||||
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:
|
||||
serv = form.getvalue('serv')
|
||||
|
@ -1626,7 +1623,7 @@ if form.getvalue('newserver') is not None:
|
|||
page=page,
|
||||
adding=1)
|
||||
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:
|
||||
hapwi_id = form.getvalue('updatehapwiserver')
|
||||
|
@ -1636,7 +1633,7 @@ if form.getvalue('updatehapwiserver') is not None:
|
|||
metrics = form.getvalue('metrics')
|
||||
service_name = form.getvalue('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:
|
||||
name = form.getvalue('updateserver')
|
||||
|
@ -1656,7 +1653,7 @@ if form.getvalue('updateserver') is not None:
|
|||
print(error_mess)
|
||||
else:
|
||||
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:
|
||||
serverdel = form.getvalue('serverdel')
|
||||
|
@ -1670,7 +1667,7 @@ if form.getvalue('serverdel') is not None:
|
|||
if sql.delete_server(serverdel):
|
||||
sql.delete_waf_server(serverdel)
|
||||
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:
|
||||
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'"]
|
||||
|
||||
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)
|
||||
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'))
|
||||
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)
|
||||
|
||||
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 +
|
||||
" 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)]
|
||||
|
||||
output, error = funct.subprocess_execute(commands[0])
|
||||
|
@ -2281,3 +2287,11 @@ if form.getvalue('geoip_install'):
|
|||
funct.show_installation_output(error, output, 'GeoLite2 Database')
|
||||
|
||||
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="checkbox-head" style="width: 5%"><span title="SSH port">Port</span></th>
|
||||
{% if page != "servers.py" %}
|
||||
<th class="group-field" style="width: 10%">Group</th>
|
||||
<th style="width: 10%">Group</th>
|
||||
{% endif %}
|
||||
<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>
|
||||
</th>
|
||||
<th class="checkbox-head" style="width: 5%">HAProxy</th>
|
||||
<th class="checkbox-head" style="width: 5%">Nginx</th>
|
||||
<th class="checkbox-head" style="width: 15%">
|
||||
<th style="width: 5%">Nginx</th>
|
||||
<th style="width: 15%;">
|
||||
<span title="If the server has a firewall enabled, enable this option">Firewalld</span>
|
||||
</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>
|
||||
</th>
|
||||
<th class="cred-field">Credentials</th>
|
||||
|
@ -83,7 +83,7 @@
|
|||
{{ checkbox(id) }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="checkbox">
|
||||
<td class="checkbox" style="padding-left: 5px;">
|
||||
{% set id = 'nginx-' + server.0|string() %}
|
||||
{% if server.14 == 1 %}
|
||||
{{ checkbox(id, checked='checked') }}
|
||||
|
@ -91,7 +91,7 @@
|
|||
{{ checkbox(id) }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="checkbox">
|
||||
<td class="checkbox" style="padding-left: 0">
|
||||
<div class="controlgroup">
|
||||
{% set id = 'firewall-' + server.0|string() %}
|
||||
{% if server.18 == 1 %}
|
||||
|
|
|
@ -651,6 +651,7 @@ $( function() {
|
|||
$( ".second-server" ).hide( "fast" );
|
||||
$( ".backend_server" ).hide( "fast" );
|
||||
$( ".send_proxy" ).hide( "fast" );
|
||||
$( "input[name=server_maxconn]" ).hide( "fast" );
|
||||
$( ".prefix" ).attr('required',true);
|
||||
} else {
|
||||
$( ".prefix" ).hide( "fast" );
|
||||
|
@ -658,6 +659,7 @@ $( function() {
|
|||
$( ".second-server" ).show( "fast" );
|
||||
$( ".backend_server" ).show( "fast" )
|
||||
$( ".send_proxy" ).show( "fast" )
|
||||
$( "input[name=server_maxconn]" ).show( "fast" );
|
||||
}
|
||||
});
|
||||
var location = window.location.href;
|
||||
|
@ -888,8 +890,8 @@ $( function() {
|
|||
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">: ' +
|
||||
'<input name="server_port" required title="Backend IP" size=3 placeholder="yyy" class="form-control add_server_number" type="number">' +
|
||||
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 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">'
|
||||
$('[name=add-server-input]').click(function() {
|
||||
$("[name=add_servers]").append(add_server_var);
|
||||
|
|
|
@ -72,5 +72,4 @@ $( function() {
|
|||
});
|
||||
event.preventDefault();
|
||||
});
|
||||
|
||||
})
|
|
@ -318,7 +318,6 @@ function updateHapWIServer(id, service_name) {
|
|||
toastr.error(data);
|
||||
} else {
|
||||
toastr.clear();
|
||||
console.log("#server-"+id+"-"+service_name)
|
||||
$("#server-"+id+"-"+service_name).addClass( "update", 1000 );
|
||||
setTimeout(function() {
|
||||
$( "#server-"+id+"-"+service_name).removeClass( "update" );
|
||||
|
|
|
@ -959,7 +959,7 @@ $( function() {
|
|||
$(this).children(".settings").css('padding-left', '30px');
|
||||
$(this).children(".settings").css('border-left', '4px solid #5D9CEB');
|
||||
});
|
||||
$( "#tabs" ).tabs( "option", "active", 5 );
|
||||
$( "#tabs" ).tabs( "option", "active", 6 );
|
||||
} );
|
||||
$( ".services" ).on( "click", function() {
|
||||
$('.menu li ul li').each(function () {
|
||||
|
@ -968,7 +968,7 @@ $( function() {
|
|||
$(this).children(".services").css('padding-left', '30px');
|
||||
$(this).children(".services").css('border-left', '4px solid #5D9CEB');
|
||||
});
|
||||
$( "#tabs" ).tabs( "option", "active", 6 );
|
||||
$( "#tabs" ).tabs( "option", "active", 7 );
|
||||
} );
|
||||
$( ".updatehapwi" ).on( "click", function() {
|
||||
$('.menu li ul li').each(function () {
|
||||
|
@ -977,7 +977,7 @@ $( function() {
|
|||
$(this).children(".updatehapwi").css('padding-left', '30px');
|
||||
$(this).children(".updatehapwi").css('border-left', '4px solid #5D9CEB');
|
||||
});
|
||||
$( "#tabs" ).tabs( "option", "active", 7 );
|
||||
$( "#tabs" ).tabs( "option", "active", 8 );
|
||||
} );
|
||||
} else {
|
||||
$( ".runtime" ).on( "click", function() {
|
||||
|
|
|
@ -373,12 +373,6 @@ pre {
|
|||
.ip-field {
|
||||
width: 100px;
|
||||
}
|
||||
.group-field, .slave-field {
|
||||
//min-width: 5%;
|
||||
}
|
||||
.slave-field {
|
||||
padding-left: 10px;
|
||||
}
|
||||
.cred-field {
|
||||
min-width: 225px;
|
||||
}
|
||||
|
|
|
@ -2173,7 +2173,7 @@ function viewFirewallRules(id) {
|
|||
type: "POST",
|
||||
success: function (data) {
|
||||
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);
|
||||
} else {
|
||||
toastr.clear();
|
||||
|
|
Loading…
Reference in New Issue