diff --git a/app/add.py b/app/add.py index 5c6a19de..a13fb20a 100644 --- a/app/add.py +++ b/app/add.py @@ -27,11 +27,7 @@ try: token = sql.get_token(user_id.value) except: pass - -try: - current_ver = funct.check_ver() -except: - pass + template = template.render(title = "Add", role = sql.get_user_role_by_uuid(user_id.value), @@ -40,7 +36,7 @@ template = template.render(title = "Add", add = form.getvalue('add'), conf_add = form.getvalue('conf'), group = user_group, - current_ver = current_ver, + versions = funct.versions(), token = token) print(template) diff --git a/app/blacklist.py b/app/blacklist.py index 3eb6bc98..f8b51ec4 100644 --- a/app/blacklist.py +++ b/app/blacklist.py @@ -26,11 +26,7 @@ try: servbackend = "" except: pass - -try: - current_ver = funct.check_ver() -except: - pass + dir = os.path.dirname(os.getcwd())+"/"+sql.get_setting('lists_path') white_dir = os.path.dirname(os.getcwd())+"/"+sql.get_setting('lists_path')+"/"+user_group+"/white" @@ -54,6 +50,6 @@ template = template.render(h2 = 1, white_lists = white_lists, black_lists = black_lists, group = user_group, - current_ver = current_ver, + versions = funct.versions(), token = token) print(template) \ No newline at end of file diff --git a/app/config.py b/app/config.py index b5aaa569..a0835812 100644 --- a/app/config.py +++ b/app/config.py @@ -28,11 +28,6 @@ try: role = sql.get_user_role_by_uuid(user_id.value) except: pass - -try: - current_ver = funct.check_ver() -except: - pass hap_configs_dir = funct.get_config_var('configs', 'haproxy_save_configs_dir') @@ -103,6 +98,6 @@ template = template.render(h2 = 1, title = "Working with HAProxy configs", stderr = stderr, error = error, note = 1, - current_ver = current_ver, + versions = funct.versions(), token = token) print(template) \ No newline at end of file diff --git a/app/configver.py b/app/configver.py index 33f5a86d..cc9cf498 100644 --- a/app/configver.py +++ b/app/configver.py @@ -27,11 +27,7 @@ try: token = sql.get_token(user_id.value) except: pass - -try: - current_ver = funct.check_ver() -except: - pass + if serv is not None and form.getvalue('config') is not None: configver = form.getvalue('configver') @@ -71,6 +67,6 @@ template = template.render(h2 = 1, title = "Old Versions HAProxy config", onclick = "showUploadConfig()", note = 1, token = token, - current_ver = current_ver, + versions = funct.versions(), view = view) print(template) diff --git a/app/delver.py b/app/delver.py index 38e1c511..c00c1098 100644 --- a/app/delver.py +++ b/app/delver.py @@ -27,11 +27,7 @@ try: token = sql.get_token(user_id.value) except: pass - -try: - current_ver = funct.check_ver() -except: - pass + form = cgi.FieldStorage() serv = form.getvalue('serv') @@ -63,6 +59,6 @@ output_from_parsed_template = template.render(h2 = 1, title = "Delete old versio open = form.getvalue('open'), Select = form.getvalue('del'), file = file, - current_ver = current_ver, + versions = funct.versions(), token = token) print(output_from_parsed_template) \ No newline at end of file diff --git a/app/funct.py b/app/funct.py index 8fe9e406..855262e6 100644 --- a/app/funct.py +++ b/app/funct.py @@ -65,6 +65,12 @@ def logging(serv, action, **kwargs): elif kwargs.get('keep_alive') == 1: mess = get_data('date_in_log') + action + "\n" log = open(log_path + "/keep_alive-"+get_data('logs')+".log", "a") + elif kwargs.get('haproxywi') == 1: + if kwargs.get('login'): + mess = get_data('date_in_log') + " from " + IP + " user: " + login + " " + action + " for: " + serv + "\n" + else: + mess = get_data('date_in_log') + action + "\n" + log = open(log_path + "/haproxy-wi-"+get_data('logs')+".log", "a") else: mess = get_data('date_in_log') + " from " + IP + " user: " + login + " " + action + " for: " + serv + "\n" log = open(log_path + "/config_edit-"+get_data('logs')+".log", "a") @@ -93,7 +99,9 @@ def telegram_send_mess(mess, **kwargs): bot = telebot.TeleBot(token=token_bot) bot.send_message(chat_id=channel_name, text=mess) except: - print("Fatal: Can't send message. Add Telegram chanel before use alerting at this servers group") + mess = "Fatal: Can't send message. Add Telegram chanel before use alerting at this servers group" + print(mess) + logging('localhost', mess, haproxywi=1) sys.exit() def check_login(**kwargs): @@ -245,7 +253,9 @@ def install_haproxy(serv, **kwargs): " STATS_USER="+stats_user+" STATS_PASS="+stats_password ] error = str(upload(serv, tmp_config_path, script)) + if error: + logging('localhost', error, haproxywi=1) print('error: '+error) os.system("rm -f %s" % script) @@ -267,7 +277,9 @@ def syn_flood_protect(serv, **kwargs): error = str(upload(serv, tmp_config_path, script)) if error: + logging('localhost', error, haproxywi=1) print('error: '+error) + os.system("rm -f %s" % script) ssh_command(serv, commands, print_out="1") @@ -287,6 +299,7 @@ def waf_install(serv, **kwargs): error = str(upload(serv, tmp_config_path, script)) if error: print('error: '+error) + logging('localhost', error, haproxywi=1) os.system("rm -f %s" % script) stderr = ssh_command(serv, commands, print_out="1") @@ -520,12 +533,39 @@ def check_new_version(): proxy = sql.get_setting('proxy') - if proxy: - proxyDict = { "https" : proxy, "http" : proxy } - response = requests.get('https://haproxy-wi.org/update.py?last_ver=1', verify=False, timeout=10, proxies=proxyDict) - else: - response = requests.get('https://haproxy-wi.org/update.py?last_ver=1', verify=False, timeout=10) + try: + if proxy: + proxyDict = { "https" : proxy, "http" : proxy } + response = requests.get('https://haproxy-wi.org1/update.py?last_ver=1', verify=False, timeout=1, proxies=proxyDict) + else: + response = requests.get('https://haproxy-wi.org/update.py?last_ver=1', verify=False, timeout=1) + + res = response.content.decode(encoding='UTF-8') + except requests.exceptions.RequestException as e: + #print(e) + e = str(e) + logging('localhost', ' '+e, haproxywi=1) + + return res - res = response.content.decode(encoding='UTF-8') + +def versions(): + try: + current_ver = check_ver() + current_ver_without_dots = current_ver.split('.') + current_ver_without_dots = ''.join(current_ver_without_dots) + current_ver_without_dots = int(current_ver_without_dots) + except: + current_ver = "Sorry cannot get current version" + current_ver_without_dots = 0 - return res \ No newline at end of file + try: + new_ver = check_new_version() + new_ver_without_dots = new_ver.split('.') + new_ver_without_dots = ''.join(new_ver_without_dots) + new_ver_without_dots = int(new_ver_without_dots) + except: + new_ver = "Sorry cannot get new version" + new_ver_without_dots = 0 + + return current_ver, new_ver, current_ver_without_dots, new_ver_without_dots \ No newline at end of file diff --git a/app/ha.py b/app/ha.py index 16a9ad95..cceb83d2 100644 --- a/app/ha.py +++ b/app/ha.py @@ -22,17 +22,13 @@ try: token = sql.get_token(user_id.value) except: pass - -try: - current_ver = funct.check_ver() -except: - pass + output_from_parsed_template = template.render(h2 = 1, title = "Configure HA", role = sql.get_user_role_by_uuid(user_id.value), user = user, serv = serv, selects = servers, - current_ver = current_ver, + versions = funct.versions(), token = token) print(output_from_parsed_template) \ No newline at end of file diff --git a/app/ihap.py b/app/ihap.py index a5326885..a411771a 100644 --- a/app/ihap.py +++ b/app/ihap.py @@ -19,18 +19,14 @@ try: token = sql.get_token(user_id.value) except: pass - -try: - current_ver = funct.check_ver() -except: - pass + output_from_parsed_template = template.render(h2 = 1, title = "Installation HAProxy", role = sql.get_user_role_by_uuid(user_id.value), user = user, select_id = "haproxyaddserv", selects = servers, - current_ver = current_ver, + versions = funct.versions(), token = token) print(output_from_parsed_template) diff --git a/app/keepalivedconfig.py b/app/keepalivedconfig.py index 4b03b852..4c00511a 100644 --- a/app/keepalivedconfig.py +++ b/app/keepalivedconfig.py @@ -31,11 +31,7 @@ try: token = sql.get_token(user_id.value) except: pass - -try: - current_ver = funct.check_ver() -except: - pass + if serv is not None: cfg = kp_save_configs_dir+ serv + '-' + funct.get_data('config') + '.conf' @@ -92,6 +88,6 @@ output_from_parsed_template = template.render(h2 = 1, title = "Edit Runnig Keepa stderr = stderr, error = error, keepalived = 1, - current_ver = current_ver, + versions = funct.versions(), token = token) print(output_from_parsed_template) \ No newline at end of file diff --git a/app/lists.py b/app/lists.py index 3eb6bc98..5d796141 100644 --- a/app/lists.py +++ b/app/lists.py @@ -27,10 +27,6 @@ try: except: pass -try: - current_ver = funct.check_ver() -except: - pass dir = os.path.dirname(os.getcwd())+"/"+sql.get_setting('lists_path') white_dir = os.path.dirname(os.getcwd())+"/"+sql.get_setting('lists_path')+"/"+user_group+"/white" @@ -54,6 +50,6 @@ template = template.render(h2 = 1, white_lists = white_lists, black_lists = black_lists, group = user_group, - current_ver = current_ver, + versions = funct.versions(), token = token) print(template) \ No newline at end of file diff --git a/app/login.py b/app/login.py index 4d77edfa..004007a9 100644 --- a/app/login.py +++ b/app/login.py @@ -40,7 +40,7 @@ def send_cookie(login): sql.write_user_uuid(login, user_uuid) sql.write_user_token(login, user_token) try: - funct.logging('locahost', sql.get_user_name_by_uuid(user_uuid)+' log in') + funct.logging('locahost', sql.get_user_name_by_uuid(user_uuid)+' log in', haproxywi=1, login=1) except: pass print("Content-type: text/html\n") @@ -113,10 +113,6 @@ except: user = "" pass -try: - current_ver = funct.check_ver() -except: - pass if form.getvalue('logout'): try: @@ -166,6 +162,6 @@ output_from_parsed_template = template.render(h2 = 1, title = "Login page. Enter error_log = error_log, error = error, ref = ref, - current_ver = current_ver, + versions = funct.versions(), db_create = db_create) print(output_from_parsed_template) \ No newline at end of file diff --git a/app/logs.py b/app/logs.py index 462d6075..d5fbeec1 100644 --- a/app/logs.py +++ b/app/logs.py @@ -30,11 +30,7 @@ try: token = sql.get_token(user_id.value) except: pass - -try: - current_ver = funct.check_ver() -except: - pass + output_from_parsed_template = template.render(h2 = 1, autorefresh = 1, @@ -47,7 +43,7 @@ output_from_parsed_template = template.render(h2 = 1, serv = form.getvalue('serv'), rows = rows, grep = grep, - current_ver = current_ver, + versions = funct.versions(), token = token) print(output_from_parsed_template) diff --git a/app/metrics.py b/app/metrics.py index 42ffb4ed..289e208d 100644 --- a/app/metrics.py +++ b/app/metrics.py @@ -18,11 +18,7 @@ try: token = sql.get_token(user_id.value) except: pass - -try: - current_ver = funct.check_ver() -except: - pass + template = template.render(h2 = 1, title = "Metrics", autorefresh = 1, @@ -30,6 +26,6 @@ template = template.render(h2 = 1, title = "Metrics", user = user, onclick = "metricsShow()", table_stat = sql.select_table_metrics(user_id.value), - current_ver = current_ver, + versions = funct.versions(), token = token) print(template) \ No newline at end of file diff --git a/app/overview.py b/app/overview.py index d941f456..5737a62a 100644 --- a/app/overview.py +++ b/app/overview.py @@ -30,11 +30,7 @@ try: metrics_worker, stderr = funct.subprocess_execute(cmd) except: pass - -try: - current_ver = funct.check_ver() -except: - pass + template = template.render(h2 = 1, autorefresh = 1, @@ -48,6 +44,6 @@ template = template.render(h2 = 1, checker_master = ''.join(checker_master), checker_worker = ''.join(checker_worker), error = stderr, - current_ver = current_ver, + versions = funct.versions(), token = token) print(template) diff --git a/app/servers.py b/app/servers.py index 831a1724..515513b8 100644 --- a/app/servers.py +++ b/app/servers.py @@ -22,11 +22,7 @@ try: ldap_enable = sql.get_setting('ldap_enable') except: pass - -try: - current_ver = funct.check_ver() -except: - pass + output_from_parsed_template = template.render(title = "Servers manage", role = sql.get_user_role_by_uuid(user_id.value), @@ -40,6 +36,6 @@ output_from_parsed_template = template.render(title = "Servers manage", sshs = sql.select_ssh(), telegrams = sql.get_user_telegram_by_uuid(user_id.value), token = token, - current_ver = current_ver, + versions = funct.versions(), ldap_enable = ldap_enable) print(output_from_parsed_template) \ No newline at end of file diff --git a/app/settings.py b/app/settings.py index 20232399..62e79973 100644 --- a/app/settings.py +++ b/app/settings.py @@ -21,16 +21,12 @@ try: token = sql.get_token(user_id.value) except: pass - -try: - current_ver = funct.check_ver() -except: - pass + template = template.render(h2 = 1, title = "Settings", role = sql.get_user_role_by_uuid(user_id.value), user = user, settings = settings, - current_ver = current_ver, + versions = funct.versions(), token = token) print(template) \ No newline at end of file diff --git a/app/templates/base.html b/app/templates/base.html index 686c6455..9bb69c6e 100644 --- a/app/templates/base.html +++ b/app/templates/base.html @@ -116,7 +116,22 @@ @@ -220,7 +235,7 @@ diff --git a/app/templates/config.html b/app/templates/config.html index 602d97d9..e7cbc2fc 100644 --- a/app/templates/config.html +++ b/app/templates/config.html @@ -35,6 +35,7 @@ Compare Map Stat + Verisons {% endif %}

diff --git a/app/templates/ihap.html b/app/templates/ihap.html index 315f69b6..24b380dc 100644 --- a/app/templates/ihap.html +++ b/app/templates/ihap.html @@ -9,8 +9,8 @@ - - Haproxy-WI will try install haproxy-2.0.3, if it does not work then haproxy-1.15 + + Haproxy-WI will try install haproxy-2.0.6, if it does not work then haproxy-1.15