From 4306a4fb4f03581d95ef6664e504be835f1f1164 Mon Sep 17 00:00:00 2001 From: Alexander Date: Wed, 27 Oct 2021 11:20:24 +0300 Subject: [PATCH 1/3] Integrated new api interface. --- web/api/v1/add/cron/autoupdate/index.php | 27 + web/api/v1/add/cron/index.php | 72 ++ web/api/v1/add/cron/reports/index.php | 25 + web/api/v1/add/db/index.php | 143 +++ web/api/v1/add/dns/index.php | 188 +++ web/api/v1/add/favorite/index.php | 22 + web/api/v1/add/firewall/banlist/index.php | 66 + web/api/v1/add/firewall/index.php | 77 ++ web/api/v1/add/ip/index.php | 97 ++ web/api/v1/add/mail/index.php | 219 ++++ web/api/v1/add/package/index.php | 224 ++++ web/api/v1/add/user/index.php | 131 ++ web/api/v1/add/web/index.php | 371 ++++++ web/api/v1/bulk/backup/index.php | 35 + web/api/v1/bulk/cron/index.php | 77 ++ web/api/v1/bulk/db/index.php | 48 + web/api/v1/bulk/dns/index.php | 86 ++ web/api/v1/bulk/firewall/index.php | 49 + web/api/v1/bulk/ip/index.php | 43 + web/api/v1/bulk/mail/index.php | 82 ++ web/api/v1/bulk/package/index.php | 42 + web/api/v1/bulk/restore/index.php | 56 + web/api/v1/bulk/service/index.php | 49 + web/api/v1/bulk/user/index.php | 69 + web/api/v1/bulk/vesta/index.php | 38 + web/api/v1/bulk/web/index.php | 55 + web/api/v1/delete/backup/index.php | 34 + web/api/v1/delete/cron/index.php | 34 + web/api/v1/delete/db/index.php | 33 + web/api/v1/delete/dns/index.php | 45 + web/api/v1/delete/favorite/index.php | 15 + web/api/v1/delete/firewall/index.php | 35 + web/api/v1/delete/ip/index.php | 31 + web/api/v1/delete/mail/index.php | 45 + web/api/v1/delete/notification/index.php | 28 + web/api/v1/delete/package/index.php | 30 + web/api/v1/delete/user/index.php | 31 + web/api/v1/delete/web/index.php | 34 + web/api/v1/download/backup/index.php | 26 + web/api/v1/download/file/index.php | 33 + web/api/v1/download/web-log/index.php | 28 + web/api/v1/edit/cron/index.php | 102 ++ web/api/v1/edit/db/index.php | 109 ++ web/api/v1/edit/dns/index.php | 225 ++++ web/api/v1/edit/file/index.php | 51 + web/api/v1/edit/firewall/index.php | 103 ++ web/api/v1/edit/ip/index.php | 124 ++ web/api/v1/edit/mail/index.php | 372 ++++++ web/api/v1/edit/package/index.php | 270 ++++ web/api/v1/edit/server/apache2/index.php | 66 + web/api/v1/edit/server/cron/index.php | 65 + web/api/v1/edit/server/crond/index.php | 65 + web/api/v1/edit/server/exim/index.php | 65 + web/api/v1/edit/server/fail2ban/index.php | 65 + web/api/v1/edit/server/index.php | 698 ++++++++++ web/api/v1/edit/server/iptables/index.php | 16 + web/api/v1/edit/server/mariadb/index.php | 79 ++ web/api/v1/edit/server/mysql/index.php | 79 ++ web/api/v1/edit/server/php/index.php | 82 ++ web/api/v1/edit/server/proftpd/index.php | 65 + web/api/v1/edit/server/vsftpd/index.php | 65 + web/api/v1/edit/user/index.php | 218 ++++ web/api/v1/edit/web/index.php | 810 ++++++++++++ web/api/v1/index.php | 125 ++ web/api/v1/languages.php | 15 + web/api/v1/list-user-ns.php | 15 + web/api/v1/list/backup/index.php | 77 ++ web/api/v1/list/cron/index.php | 59 + web/api/v1/list/directory/index.php | 35 + web/api/v1/list/dns/index.php | 72 ++ web/api/v1/list/favorites/index.php | 24 + web/api/v1/list/firewall/index.php | 58 + web/api/v1/list/index.php | 8 + web/api/v1/list/ip/index.php | 47 + web/api/v1/list/log/index.php | 36 + web/api/v1/list/mail/index.php | 78 ++ web/api/v1/list/notifications/index.php | 25 + web/api/v1/list/package/index.php | 45 + web/api/v1/list/server/index.php | 102 ++ web/api/v1/list/stats/index.php | 58 + web/api/v1/list/updates/index.php | 36 + web/api/v1/list/user/index.php | 56 + web/api/v1/list/web-log/index.php | 29 + web/api/v1/list/web/index.php | 110 ++ web/api/v1/login/index.php | 170 +++ web/api/v1/login/session.php | 27 + web/api/v1/logout/index.php | 34 + web/api/v1/reset/index.php | 93 ++ web/api/v1/restart/service/index.php | 32 + web/api/v1/rrd/daily.rrd | 0 web/api/v1/rrd/monthly.rrd | 0 web/api/v1/rrd/weekly.rrd | 0 web/api/v1/rrd/yearly.rrd | 0 web/api/v1/schedule/restore/index.php | 52 + web/api/v1/search/index.php | 149 +++ web/api/v1/start/service/index.php | 27 + web/api/v1/stop/service/index.php | 31 + web/api/v1/suspend/cron/index.php | 30 + web/api/v1/suspend/db/index.php | 32 + web/api/v1/suspend/dns/index.php | 43 + web/api/v1/suspend/firewall/index.php | 27 + web/api/v1/suspend/mail/index.php | 43 + web/api/v1/suspend/user/index.php | 27 + web/api/v1/suspend/web/index.php | 33 + web/api/v1/unsuspend/cron/index.php | 33 + web/api/v1/unsuspend/db/index.php | 34 + web/api/v1/unsuspend/dns/index.php | 52 + web/api/v1/unsuspend/firewall/index.php | 28 + web/api/v1/unsuspend/mail/index.php | 52 + web/api/v1/unsuspend/user/index.php | 28 + web/api/v1/unsuspend/web/index.php | 30 + web/api/v1/update/vesta/index.php | 29 + web/api/v1/upload/UploadHandler.php | 1404 +++++++++++++++++++++ web/api/v1/upload/files/.htaccess | 18 + web/api/v1/upload/index.php | 15 + web/api/v1/web-stats.php | 21 + 116 files changed, 10371 insertions(+) create mode 100644 web/api/v1/add/cron/autoupdate/index.php create mode 100644 web/api/v1/add/cron/index.php create mode 100644 web/api/v1/add/cron/reports/index.php create mode 100644 web/api/v1/add/db/index.php create mode 100644 web/api/v1/add/dns/index.php create mode 100644 web/api/v1/add/favorite/index.php create mode 100644 web/api/v1/add/firewall/banlist/index.php create mode 100644 web/api/v1/add/firewall/index.php create mode 100644 web/api/v1/add/ip/index.php create mode 100644 web/api/v1/add/mail/index.php create mode 100644 web/api/v1/add/package/index.php create mode 100644 web/api/v1/add/user/index.php create mode 100644 web/api/v1/add/web/index.php create mode 100644 web/api/v1/bulk/backup/index.php create mode 100644 web/api/v1/bulk/cron/index.php create mode 100644 web/api/v1/bulk/db/index.php create mode 100644 web/api/v1/bulk/dns/index.php create mode 100644 web/api/v1/bulk/firewall/index.php create mode 100644 web/api/v1/bulk/ip/index.php create mode 100644 web/api/v1/bulk/mail/index.php create mode 100644 web/api/v1/bulk/package/index.php create mode 100644 web/api/v1/bulk/restore/index.php create mode 100644 web/api/v1/bulk/service/index.php create mode 100644 web/api/v1/bulk/user/index.php create mode 100644 web/api/v1/bulk/vesta/index.php create mode 100644 web/api/v1/bulk/web/index.php create mode 100644 web/api/v1/delete/backup/index.php create mode 100644 web/api/v1/delete/cron/index.php create mode 100644 web/api/v1/delete/db/index.php create mode 100644 web/api/v1/delete/dns/index.php create mode 100644 web/api/v1/delete/favorite/index.php create mode 100644 web/api/v1/delete/firewall/index.php create mode 100644 web/api/v1/delete/ip/index.php create mode 100644 web/api/v1/delete/mail/index.php create mode 100644 web/api/v1/delete/notification/index.php create mode 100644 web/api/v1/delete/package/index.php create mode 100644 web/api/v1/delete/user/index.php create mode 100644 web/api/v1/delete/web/index.php create mode 100644 web/api/v1/download/backup/index.php create mode 100644 web/api/v1/download/file/index.php create mode 100644 web/api/v1/download/web-log/index.php create mode 100644 web/api/v1/edit/cron/index.php create mode 100644 web/api/v1/edit/db/index.php create mode 100644 web/api/v1/edit/dns/index.php create mode 100644 web/api/v1/edit/file/index.php create mode 100644 web/api/v1/edit/firewall/index.php create mode 100644 web/api/v1/edit/ip/index.php create mode 100644 web/api/v1/edit/mail/index.php create mode 100644 web/api/v1/edit/package/index.php create mode 100644 web/api/v1/edit/server/apache2/index.php create mode 100644 web/api/v1/edit/server/cron/index.php create mode 100644 web/api/v1/edit/server/crond/index.php create mode 100644 web/api/v1/edit/server/exim/index.php create mode 100644 web/api/v1/edit/server/fail2ban/index.php create mode 100644 web/api/v1/edit/server/index.php create mode 100644 web/api/v1/edit/server/iptables/index.php create mode 100644 web/api/v1/edit/server/mariadb/index.php create mode 100644 web/api/v1/edit/server/mysql/index.php create mode 100644 web/api/v1/edit/server/php/index.php create mode 100644 web/api/v1/edit/server/proftpd/index.php create mode 100644 web/api/v1/edit/server/vsftpd/index.php create mode 100644 web/api/v1/edit/user/index.php create mode 100644 web/api/v1/edit/web/index.php create mode 100644 web/api/v1/index.php create mode 100644 web/api/v1/languages.php create mode 100644 web/api/v1/list-user-ns.php create mode 100644 web/api/v1/list/backup/index.php create mode 100644 web/api/v1/list/cron/index.php create mode 100644 web/api/v1/list/directory/index.php create mode 100644 web/api/v1/list/dns/index.php create mode 100644 web/api/v1/list/favorites/index.php create mode 100644 web/api/v1/list/firewall/index.php create mode 100644 web/api/v1/list/index.php create mode 100644 web/api/v1/list/ip/index.php create mode 100644 web/api/v1/list/log/index.php create mode 100644 web/api/v1/list/mail/index.php create mode 100644 web/api/v1/list/notifications/index.php create mode 100644 web/api/v1/list/package/index.php create mode 100644 web/api/v1/list/server/index.php create mode 100644 web/api/v1/list/stats/index.php create mode 100644 web/api/v1/list/updates/index.php create mode 100644 web/api/v1/list/user/index.php create mode 100644 web/api/v1/list/web-log/index.php create mode 100644 web/api/v1/list/web/index.php create mode 100644 web/api/v1/login/index.php create mode 100644 web/api/v1/login/session.php create mode 100644 web/api/v1/logout/index.php create mode 100644 web/api/v1/reset/index.php create mode 100644 web/api/v1/restart/service/index.php create mode 100644 web/api/v1/rrd/daily.rrd create mode 100644 web/api/v1/rrd/monthly.rrd create mode 100644 web/api/v1/rrd/weekly.rrd create mode 100644 web/api/v1/rrd/yearly.rrd create mode 100644 web/api/v1/schedule/restore/index.php create mode 100644 web/api/v1/search/index.php create mode 100644 web/api/v1/start/service/index.php create mode 100644 web/api/v1/stop/service/index.php create mode 100644 web/api/v1/suspend/cron/index.php create mode 100644 web/api/v1/suspend/db/index.php create mode 100644 web/api/v1/suspend/dns/index.php create mode 100644 web/api/v1/suspend/firewall/index.php create mode 100644 web/api/v1/suspend/mail/index.php create mode 100644 web/api/v1/suspend/user/index.php create mode 100644 web/api/v1/suspend/web/index.php create mode 100644 web/api/v1/unsuspend/cron/index.php create mode 100644 web/api/v1/unsuspend/db/index.php create mode 100644 web/api/v1/unsuspend/dns/index.php create mode 100644 web/api/v1/unsuspend/firewall/index.php create mode 100644 web/api/v1/unsuspend/mail/index.php create mode 100644 web/api/v1/unsuspend/user/index.php create mode 100644 web/api/v1/unsuspend/web/index.php create mode 100644 web/api/v1/update/vesta/index.php create mode 100644 web/api/v1/upload/UploadHandler.php create mode 100644 web/api/v1/upload/files/.htaccess create mode 100644 web/api/v1/upload/index.php create mode 100644 web/api/v1/web-stats.php diff --git a/web/api/v1/add/cron/autoupdate/index.php b/web/api/v1/add/cron/autoupdate/index.php new file mode 100644 index 000000000..843dc71a0 --- /dev/null +++ b/web/api/v1/add/cron/autoupdate/index.php @@ -0,0 +1,27 @@ + $message, + 'error' => $error, +); + +print json_encode($result); diff --git a/web/api/v1/add/cron/index.php b/web/api/v1/add/cron/index.php new file mode 100644 index 000000000..f9407df92 --- /dev/null +++ b/web/api/v1/add/cron/index.php @@ -0,0 +1,72 @@ + $error) { + if ( $i == 0 ) { + $error_msg = $error; + } else { + $error_msg = $error_msg.", ".$error; + } + } + $_SESSION['error_msg'] = __('Field "%s" can not be blank.',$error_msg); + } + + // Protect input + $v_min = escapeshellarg($_POST['v_min']); + $v_hour = escapeshellarg($_POST['v_hour']); + $v_day = escapeshellarg($_POST['v_day']); + $v_month = escapeshellarg($_POST['v_month']); + $v_wday = escapeshellarg($_POST['v_wday']); + $v_cmd = escapeshellarg($_POST['v_cmd']); + + // Add cron job + if (empty($_SESSION['error_msg'])) { + exec (VESTA_CMD."v-add-cron-job ".$user." ".$v_min." ".$v_hour." ".$v_day." ".$v_month." ".$v_wday." ".$v_cmd, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + + // Flush field values on success + if (empty($_SESSION['error_msg'])) { + $_SESSION['ok_msg'] = __('CRON_CREATED_OK'); + unset($v_min); + unset($v_hour); + unset($v_day); + unset($v_month); + unset($v_wday); + unset($v_cmd); + unset($output); + } +} + +$result = array( + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/add/cron/reports/index.php b/web/api/v1/add/cron/reports/index.php new file mode 100644 index 000000000..b4ada7cad --- /dev/null +++ b/web/api/v1/add/cron/reports/index.php @@ -0,0 +1,25 @@ + $message, + 'error' => $error +); + +print json_encode($result); diff --git a/web/api/v1/add/db/index.php b/web/api/v1/add/db/index.php new file mode 100644 index 000000000..e633d6b97 --- /dev/null +++ b/web/api/v1/add/db/index.php @@ -0,0 +1,143 @@ + $error) { + if ( $i == 0 ) { + $error_msg = $error; + } else { + $error_msg = $error_msg.", ".$error; + } + } + $_SESSION['error_msg'] = __('Field "%s" can not be blank.',$error_msg); + } + + // Validate email + if ((!empty($_POST['v_db_email'])) && (empty($_SESSION['error_msg']))) { + if (!filter_var($_POST['v_db_email'], FILTER_VALIDATE_EMAIL)) { + $_SESSION['error_msg'] = __('Please enter valid email address.'); + } + } + + // Check password length + if (empty($_SESSION['error_msg'])) { + $pw_len = strlen($_POST['v_password']); + if ($pw_len < 6 ) $_SESSION['error_msg'] = __('Password is too short.',$error_msg); + } + + // Protect input + $v_database = escapeshellarg($_POST['v_database']); + $v_dbuser = escapeshellarg($_POST['v_dbuser']); + $v_type = $_POST['v_type']; + $v_charset = $_POST['v_charset']; + $v_host = $_POST['v_host']; + $v_db_email = $_POST['v_db_email']; + + // Add database + if (empty($_SESSION['error_msg'])) { + $v_type = escapeshellarg($_POST['v_type']); + $v_charset = escapeshellarg($_POST['v_charset']); + $v_host = escapeshellarg($_POST['v_host']); + $v_password = tempnam("/tmp","vst"); + $fp = fopen($v_password, "w"); + fwrite($fp, $_POST['v_password']."\n"); + fclose($fp); + exec (VESTA_CMD."v-add-database ".$user." ".$v_database." ".$v_dbuser." ".$v_password." ".$v_type." ".$v_host." ".$v_charset, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + unlink($v_password); + $v_password = escapeshellarg($_POST['v_password']); + $v_type = $_POST['v_type']; + $v_host = $_POST['v_host']; + $v_charset = $_POST['v_charset']; + } + + // Get database manager url + if (empty($_SESSION['error_msg'])) { + list($http_host, $port) = explode(':', $_SERVER["HTTP_HOST"] . ":"); + if ($_POST['v_host'] != 'localhost' ) $http_host = $_POST['v_host']; + if ($_POST['v_type'] == 'mysql') $db_admin = "phpMyAdmin"; + if ($_POST['v_type'] == 'mysql') $db_admin_link = "http://".$http_host."/phpmyadmin/"; + if (($_POST['v_type'] == 'mysql') && (!empty($_SESSION['DB_PMA_URL']))) $db_admin_link = $_SESSION['DB_PMA_URL']; + if ($_POST['v_type'] == 'pgsql') $db_admin = "phpPgAdmin"; + if ($_POST['v_type'] == 'pgsql') $db_admin_link = "http://".$http_host."/phppgadmin/"; + if (($_POST['v_type'] == 'pgsql') && (!empty($_SESSION['DB_PGA_URL']))) $db_admin_link = $_SESSION['DB_PGA_URL']; + } + + // Email login credentials + if ((!empty($v_db_email)) && (empty($_SESSION['error_msg']))) { + $to = $v_db_email; + $subject = __("Database Credentials"); + $hostname = exec('hostname'); + $from = __('MAIL_FROM',$hostname); + $mailtext = __('DATABASE_READY',$user."_".$_POST['v_database'],$user."_".$_POST['v_dbuser'],$_POST['v_password'],$db_admin_link); + send_email($to, $subject, $mailtext, $from); + } + + // Flush field values on success + if (empty($_SESSION['error_msg'])) { + $_SESSION['ok_msg'] = __('DATABASE_CREATED_OK',htmlentities($user)."_".htmlentities($_POST['v_database']),htmlentities($user)."_".htmlentities($_POST['v_database'])); + $_SESSION['ok_msg'] .= " / " . __('open %s',$db_admin) . ""; + unset($v_database); + unset($v_dbuser); + unset($v_password); + unset($v_type); + unset($v_charset); + } +} + +// Get user email +$v_db_email = $panel[$user]['CONTACT']; + +// List avaiable database types +$db_types = explode(',', $_SESSION['DB_SYSTEM']); + +// List available database servers +exec (VESTA_CMD."v-list-database-hosts json", $output, $return_var); +$db_hosts_tmp1 = json_decode(implode('', $output), true); +$db_hosts_tmp2 = array_map(function($host){return $host['HOST'];}, $db_hosts_tmp1); +$db_hosts = array_values(array_unique($db_hosts_tmp2)); +unset($output); +unset($db_hosts_tmp1); +unset($db_hosts_tmp2); + +$prefixI18N = __('Prefix will be automaticaly added to database name and database user', "".$_SESSION['user']."_"); +$maxCharLength = __('maximum characters length, including prefix', 16); + +$result = array( + 'dbHosts' => $db_hosts, + 'dbTypes' => $db_types, + 'user' => $_SESSION['user'], + 'prefixI18N' => $prefixI18N, + 'maxCharLength' => $maxCharLength, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/add/dns/index.php b/web/api/v1/add/dns/index.php new file mode 100644 index 000000000..bb39939bc --- /dev/null +++ b/web/api/v1/add/dns/index.php @@ -0,0 +1,188 @@ + $error) { + if ( $i == 0 ) { + $error_msg = $error; + } else { + $error_msg = $error_msg.", ".$error; + } + } + $_SESSION['error_msg'] = __('Field "%s" can not be blank.',$error_msg); + } + + // Protect input + $v_domain = preg_replace("/^www./i", "", $_POST['v_domain']); + $v_domain = escapeshellarg($v_domain); + $v_domain = strtolower($v_domain); + $v_ip = escapeshellarg($_POST['v_ip']); + $v_ns1 = escapeshellarg($_POST['v_ns1']); + $v_ns2 = escapeshellarg($_POST['v_ns2']); + $v_ns3 = escapeshellarg($_POST['v_ns3']); + $v_ns4 = escapeshellarg($_POST['v_ns4']); + $v_ns5 = escapeshellarg($_POST['v_ns5']); + $v_ns6 = escapeshellarg($_POST['v_ns6']); + $v_ns7 = escapeshellarg($_POST['v_ns7']); + $v_ns8 = escapeshellarg($_POST['v_ns8']); + + // Add dns domain + if (empty($_SESSION['error_msg'])) { + exec (VESTA_CMD."v-add-dns-domain ".$user." ".$v_domain." ".$v_ip." ".$v_ns1." ".$v_ns2." ".$v_ns3." ".$v_ns4." ".$v_ns5." ".$v_ns6." ".$v_ns7." ".$v_ns8." no", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + + + // Set expiriation date + if (empty($_SESSION['error_msg'])) { + if ((!empty($_POST['v_exp'])) && ($_POST['v_exp'] != date('Y-m-d', strtotime('+1 year')))) { + $v_exp = escapeshellarg($_POST['v_exp']); + exec (VESTA_CMD."v-change-dns-domain-exp ".$user." ".$v_domain." ".$v_exp." no", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + } + + // Set ttl + if (empty($_SESSION['error_msg'])) { + if ((!empty($_POST['v_ttl'])) && ($_POST['v_ttl'] != '14400') && (empty($_SESSION['error_msg']))) { + $v_ttl = escapeshellarg($_POST['v_ttl']); + exec (VESTA_CMD."v-change-dns-domain-ttl ".$user." ".$v_domain." ".$v_ttl." no", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + } + + // Restart dns server + if (empty($_SESSION['error_msg'])) { + exec (VESTA_CMD."v-restart-dns", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + + // Flush field values on success + if (empty($_SESSION['error_msg'])) { + $_SESSION['ok_msg'] = __('DNS_DOMAIN_CREATED_OK',htmlentities($_POST[v_domain]),htmlentities($_POST[v_domain])); + unset($v_domain); + } +} + + +// Check POST request for dns record +if (!empty($_POST['ok_rec'])) { + + // Check token + if ((!isset($_POST['token'])) || ($_SESSION['token'] != $_POST['token'])) { + header('location: /login/'); + exit(); + } + + // Check empty fields + if (empty($_POST['v_domain'])) $errors[] = 'domain'; + if (empty($_POST['v_rec'])) $errors[] = 'record'; + if (empty($_POST['v_type'])) $errors[] = 'type'; + if (empty($_POST['v_val'])) $errors[] = 'value'; + if (!empty($errors[0])) { + foreach ($errors as $i => $error) { + if ( $i == 0 ) { + $error_msg = $error; + } else { + $error_msg = $error_msg.", ".$error; + } + } + $_SESSION['error_msg'] = __('Field "%s" can not be blank.',$error_msg); + } + + // Protect input + $v_domain = escapeshellarg($_POST['v_domain']); + $v_rec = escapeshellarg($_POST['v_rec']); + $v_type = escapeshellarg($_POST['v_type']); + $v_val = escapeshellarg($_POST['v_val']); + $v_priority = escapeshellarg($_POST['v_priority']); + + // Add dns record + if (empty($_SESSION['error_msg'])) { + exec (VESTA_CMD."v-add-dns-record ".$user." ".$v_domain." ".$v_rec." ".$v_type." ".$v_val." ".$v_priority, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + $v_type = $_POST['v_type']; + } + + // Flush field values on success + if (empty($_SESSION['error_msg'])) { + $_SESSION['ok_msg'] = __('DNS_RECORD_CREATED_OK',htmlentities($_POST[v_rec]),htmlentities($_POST[v_domain])); + unset($v_domain); + unset($v_rec); + unset($v_val); + unset($v_priority); + } +} + + +$v_ns1 = str_replace("'", "", $v_ns1); +$v_ns2 = str_replace("'", "", $v_ns2); +$v_ns3 = str_replace("'", "", $v_ns3); +$v_ns4 = str_replace("'", "", $v_ns4); +$v_ns5 = str_replace("'", "", $v_ns5); +$v_ns6 = str_replace("'", "", $v_ns6); +$v_ns7 = str_replace("'", "", $v_ns7); +$v_ns8 = str_replace("'", "", $v_ns8); + + +if (empty($_GET['domain'])) { + // Display body for dns domain + + if (empty($v_ttl)) $v_ttl = 14400; + if (empty($v_exp)) $v_exp = date('Y-m-d', strtotime('+1 year')); + if (empty($v_ns1)) { + exec (VESTA_CMD."v-list-user-ns ".$user." json", $output, $return_var); + $nameservers = json_decode(implode('', $output), true); + $v_ns1 = str_replace("'", "", $nameservers[0]); + $v_ns2 = str_replace("'", "", $nameservers[1]); + $v_ns3 = str_replace("'", "", $nameservers[2]); + $v_ns4 = str_replace("'", "", $nameservers[3]); + $v_ns5 = str_replace("'", "", $nameservers[4]); + $v_ns6 = str_replace("'", "", $nameservers[5]); + $v_ns7 = str_replace("'", "", $nameservers[6]); + $v_ns8 = str_replace("'", "", $nameservers[7]); + unset($output); + } + + // render_page($user, $TAB, 'add_dns'); +} else { + // Display body for dns record + + $v_domain = $_GET['domain']; + // render_page($user, $TAB, 'add_dns_rec'); +} + +$result = array( + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); + diff --git a/web/api/v1/add/favorite/index.php b/web/api/v1/add/favorite/index.php new file mode 100644 index 000000000..4388847bd --- /dev/null +++ b/web/api/v1/add/favorite/index.php @@ -0,0 +1,22 @@ + \ No newline at end of file diff --git a/web/api/v1/add/firewall/banlist/index.php b/web/api/v1/add/firewall/banlist/index.php new file mode 100644 index 000000000..608f8f9f1 --- /dev/null +++ b/web/api/v1/add/firewall/banlist/index.php @@ -0,0 +1,66 @@ + $error) { + if ( $i == 0 ) { + $error_msg = $error; + } else { + $error_msg = $error_msg.", ".$error; + } + } + $_SESSION['error_msg'] = __('Field "%s" can not be blank.',$error_msg); + } + + // Protect input + $v_chain = escapeshellarg($_POST['v_chain']); + $v_ip = escapeshellarg($_POST['v_ip']); + + // Add firewall ban + if (empty($_SESSION['error_msg'])) { + exec (VESTA_CMD."v-add-firewall-ban ".$v_ip." ".$v_chain, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + + // Flush field values on success + if (empty($_SESSION['error_msg'])) { + $_SESSION['ok_msg'] = __('BANLIST_CREATED_OK'); + unset($v_ip); + } +} + +$result = array( + 'ip' => $v_ip, + 'chain' => $v_chain, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/add/firewall/index.php b/web/api/v1/add/firewall/index.php new file mode 100644 index 000000000..0f6e69e27 --- /dev/null +++ b/web/api/v1/add/firewall/index.php @@ -0,0 +1,77 @@ + $error) { + if ( $i == 0 ) { + $error_msg = $error; + } else { + $error_msg = $error_msg.", ".$error; + } + } + $_SESSION['error_msg'] = __('Field "%s" can not be blank.',$error_msg); + } + + // Protect input + $v_action = escapeshellarg($_POST['v_action']); + $v_protocol = escapeshellarg($_POST['v_protocol']); + $v_port = str_replace(" ",",", $_POST['v_port']); + $v_port = preg_replace('/\,+/', ',', $v_port); + $v_port = trim($v_port, ","); + $v_port = escapeshellarg($v_port); + $v_ip = escapeshellarg($_POST['v_ip']); + $v_comment = escapeshellarg($_POST['v_comment']); + + // Add firewall rule + if (empty($_SESSION['error_msg'])) { + exec (VESTA_CMD."v-add-firewall-rule ".$v_action." ".$v_ip." ".$v_port." ".$v_protocol." ".$v_comment, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + + // Flush field values on success + if (empty($_SESSION['error_msg'])) { + $_SESSION['ok_msg'] = __('RULE_CREATED_OK'); + unset($v_port); + unset($v_ip); + unset($v_comment); + } +} + +// Render +// render_page($user, $TAB, 'add_firewall'); +$result = array( + 'ok_msg' => $_SESSION['ok_msg'], + 'error_msg' => $_SESSION['error_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); \ No newline at end of file diff --git a/web/api/v1/add/ip/index.php b/web/api/v1/add/ip/index.php new file mode 100644 index 000000000..39a2959af --- /dev/null +++ b/web/api/v1/add/ip/index.php @@ -0,0 +1,97 @@ + $error) { + if ( $i == 0 ) { + $error_msg = $error; + } else { + $error_msg = $error_msg.", ".$error; + } + } + $_SESSION['error_msg'] = __('Field "%s" can not be blank.',$error_msg); + } + + // Protect input + $v_ip = escapeshellarg($_POST['v_ip']); + $v_netmask = escapeshellarg($_POST['v_netmask']); + $v_name = escapeshellarg($_POST['v_name']); + $v_nat = escapeshellarg($_POST['v_nat']); + $v_interface = escapeshellarg($_POST['v_interface']); + $v_owner = escapeshellarg($_POST['v_owner']); + $v_shared = $_POST['v_shared']; + + // Check shared checkmark + if ($v_shared == 'on') { + $ip_status = 'shared'; + } else { + $ip_status = 'dedicated'; + $v_dedicated = 'yes'; + + } + + // Add IP + if (empty($_SESSION['error_msg'])) { + exec (VESTA_CMD."v-add-sys-ip ".$v_ip." ".$v_netmask." ".$v_interface." ".$v_owner." ".$ip_status." ".$v_name." ".$v_nat, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + $v_owner = $_POST['v_owner']; + $v_interface = $_POST['v_interface']; + } + + // Flush field values on success + if (empty($_SESSION['error_msg'])) { + $_SESSION['ok_msg'] = __('IP_CREATED_OK',htmlentities($_POST['v_ip']),htmlentities($_POST['v_ip'])); + unset($v_ip); + unset($v_netmask); + unset($v_name); + unset($v_nat); + } +} + +// List network interfaces +exec (VESTA_CMD."v-list-sys-interfaces json", $output, $return_var); +$interfaces = json_decode(implode('', $output), true); +unset($output); + +// List users +exec (VESTA_CMD."v-list-sys-users json", $output, $return_var); +$users = json_decode(implode('', $output), true); +unset($output); + +$result = array( + 'interfaces' => $interfaces, + 'users' => $users, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/add/mail/index.php b/web/api/v1/add/mail/index.php new file mode 100644 index 000000000..8f5899587 --- /dev/null +++ b/web/api/v1/add/mail/index.php @@ -0,0 +1,219 @@ + $error) { + if ( $i == 0 ) { + $error_msg = $error; + } else { + $error_msg = $error_msg.", ".$error; + } + } + $_SESSION['error_msg'] = __('Field "%s" can not be blank.',$error_msg); + } + + // Check antispam option + if (!empty($_POST['v_antispam'])) { + $v_antispam = 'yes'; + } else { + $v_antispam = 'no'; + } + + // Check antivirus option + if (!empty($_POST['v_antivirus'])) { + $v_antivirus = 'yes'; + } else { + $v_antivirus = 'no'; + } + + // Check dkim option + if (!empty($_POST['v_dkim'])) { + $v_dkim = 'yes'; + } else { + $v_dkim = 'no'; + } + + // Set domain name to lowercase and remove www prefix + $v_domain = preg_replace("/^www./i", "", $_POST['v_domain']); + $v_domain = escapeshellarg($v_domain); + $v_domain = strtolower($v_domain); + + // Add mail domain + if (empty($_SESSION['error_msg'])) { + exec (VESTA_CMD."v-add-mail-domain ".$user." ".$v_domain." ".$v_antispam." ".$v_antivirus." ".$v_dkim, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + + // Flush field values on success + if (empty($_SESSION['error_msg'])) { + $_SESSION['ok_msg'] = __('MAIL_DOMAIN_CREATED_OK',htmlentities($_POST['v_domain']),htmlentities($_POST['v_domain'])); + unset($v_domain); + } +} + + +// Check POST request for mail account +if (!empty($_POST['ok_acc'])) { + + // Check token + if ((!isset($_POST['token'])) || ($_SESSION['token'] != $_POST['token'])) { + exit(); + } + + // Check empty fields + if (empty($_POST['v_domain'])) $errors[] = __('domain'); + if (empty($_POST['v_account'])) $errors[] = __('account'); + if (empty($_POST['v_password'])) $errors[] = __('password'); + if (!empty($errors[0])) { + foreach ($errors as $i => $error) { + if ( $i == 0 ) { + $error_msg = $error; + } else { + $error_msg = $error_msg.", ".$error; + } + } + $_SESSION['error_msg'] = __('Field "%s" can not be blank.',$error_msg); + } + + // Validate email + if ((!empty($_POST['v_send_email'])) && (empty($_SESSION['error_msg']))) { + if (!filter_var($_POST['v_send_email'], FILTER_VALIDATE_EMAIL)) { + $_SESSION['error_msg'] = __('Please enter valid email address.'); + } + } + + // Protect input + $v_domain = escapeshellarg($_POST['v_domain']); + $v_domain = strtolower($v_domain); + $v_account = escapeshellarg($_POST['v_account']); + $v_quota = escapeshellarg($_POST['v_quota']); + $v_send_email = $_POST['v_send_email']; + $v_credentials = $_POST['v_credentials']; + $v_aliases = $_POST['v_aliases']; + $v_fwd = $_POST['v_fwd']; + if (empty($_POST['v_quota'])) $v_quota = 0; + if ((!empty($_POST['v_quota'])) || (!empty($_POST['v_aliases'])) || (!empty($_POST['v_fwd'])) ) $v_adv = 'yes'; + + // Add Mail Account + if (empty($_SESSION['error_msg'])) { + $v_password = tempnam("/tmp","vst"); + $fp = fopen($v_password, "w"); + fwrite($fp, $_POST['v_password']."\n"); + fclose($fp); + exec (VESTA_CMD."v-add-mail-account ".$user." ".$v_domain." ".$v_account." ".$v_password." ".$v_quota, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + unlink($v_password); + $v_password = escapeshellarg($_POST['v_password']); + } + + // Add Aliases + if ((!empty($_POST['v_aliases'])) && (empty($_SESSION['error_msg']))) { + $valiases = preg_replace("/\n/", " ", $_POST['v_aliases']); + $valiases = preg_replace("/,/", " ", $valiases); + $valiases = preg_replace('/\s+/', ' ',$valiases); + $valiases = trim($valiases); + $aliases = explode(" ", $valiases); + foreach ($aliases as $alias) { + $alias = escapeshellarg($alias); + if (empty($_SESSION['error_msg'])) { + exec (VESTA_CMD."v-add-mail-account-alias ".$user." ".$v_domain." ".$v_account." ".$alias, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + } + } + + // Add Forwarders + if ((!empty($_POST['v_fwd'])) && (empty($_SESSION['error_msg']))) { + $vfwd = preg_replace("/\n/", " ", $_POST['v_fwd']); + $vfwd = preg_replace("/,/", " ", $vfwd); + $vfwd = preg_replace('/\s+/', ' ',$vfwd); + $vfwd = trim($vfwd); + $fwd = explode(" ", $vfwd); + foreach ($fwd as $forward) { + $forward = escapeshellarg($forward); + if (empty($_SESSION['error_msg'])) { + exec (VESTA_CMD."v-add-mail-account-forward ".$user." ".$v_domain." ".$v_account." ".$forward, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + } + } + + // Add fwd_only flag + if ((!empty($_POST['v_fwd_only'])) && (empty($_SESSION['error_msg']))) { + exec (VESTA_CMD."v-add-mail-account-fwd-only ".$user." ".$v_domain." ".$v_account, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + + // Get webmail url + if (empty($_SESSION['error_msg'])) { + list($http_host, $port) = explode(':', $_SERVER["HTTP_HOST"].":"); + $webmail = "http://".$http_host."/webmail/"; + if (!empty($_SESSION['MAIL_URL'])) $webmail = $_SESSION['MAIL_URL']; + } + + // Email login credentials + if ((!empty($v_send_email)) && (empty($_SESSION['error_msg']))) { + $to = $v_send_email; + $subject = __("Email Credentials"); + $hostname = exec('hostname'); + $from = __('MAIL_FROM', $hostname); + $mailtext = $v_credentials; + send_email($to, $subject, $mailtext, $from); + } + + // Flush field values on success + if (empty($_SESSION['error_msg'])) { + $_SESSION['ok_msg'] = __('MAIL_ACCOUNT_CREATED_OK',htmlentities(strtolower($_POST['v_account'])),htmlentities($_POST[v_domain]),htmlentities(strtolower($_POST['v_account'])),htmlentities($_POST[v_domain])); + $_SESSION['ok_msg'] .= " / " . __('open webmail') . ""; + unset($v_account); + unset($v_password); + unset($v_password); + unset($v_aliases); + unset($v_fwd); + unset($v_quota); + } +} + +// Render page +if (empty($_GET['domain'])) { + // Display body for mail domain + + // render_page($user, $TAB, 'add_mail'); +} else { + // Display body for mail account + + $v_domain = $_GET['domain']; + // render_page($user, $TAB, 'add_mail_acc'); +} + +$result = array( + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); \ No newline at end of file diff --git a/web/api/v1/add/package/index.php b/web/api/v1/add/package/index.php new file mode 100644 index 000000000..055d0e9c1 --- /dev/null +++ b/web/api/v1/add/package/index.php @@ -0,0 +1,224 @@ + $error) { + if ( $i == 0 ) { + $error_msg = $error; + } else { + $error_msg = $error_msg.", ".$error; + } + } + $_SESSION['error_msg'] = __('Field "%s" can not be blank.',$error_msg); + } + + // Protect input + $v_package = escapeshellarg($_POST['v_package']); + $v_web_template = escapeshellarg($_POST['v_web_template']); + $v_backend_template = escapeshellarg($_POST['v_backend_template']); + $v_proxy_template = escapeshellarg($_POST['v_proxy_template']); + $v_dns_template = escapeshellarg($_POST['v_dns_template']); + $v_shell = escapeshellarg($_POST['v_shell']); + $v_web_domains = escapeshellarg($_POST['v_web_domains']); + $v_web_aliases = escapeshellarg($_POST['v_web_aliases']); + $v_dns_domains = escapeshellarg($_POST['v_dns_domains']); + $v_dns_records = escapeshellarg($_POST['v_dns_records']); + $v_mail_domains = escapeshellarg($_POST['v_mail_domains']); + $v_mail_accounts = escapeshellarg($_POST['v_mail_accounts']); + $v_databases = escapeshellarg($_POST['v_databases']); + $v_cron_jobs = escapeshellarg($_POST['v_cron_jobs']); + $v_backups = escapeshellarg($_POST['v_backups']); + $v_disk_quota = escapeshellarg($_POST['v_disk_quota']); + $v_bandwidth = escapeshellarg($_POST['v_bandwidth']); + $v_ns1 = trim($_POST['v_ns1'], '.'); + $v_ns2 = trim($_POST['v_ns2'], '.'); + $v_ns3 = trim($_POST['v_ns3'], '.'); + $v_ns4 = trim($_POST['v_ns4'], '.'); + $v_ns5 = trim($_POST['v_ns5'], '.'); + $v_ns6 = trim($_POST['v_ns6'], '.'); + $v_ns7 = trim($_POST['v_ns7'], '.'); + $v_ns8 = trim($_POST['v_ns8'], '.'); + $v_ns = $v_ns1.",".$v_ns2; + if (!empty($v_ns3)) $v_ns .= ",".$v_ns3; + if (!empty($v_ns4)) $v_ns .= ",".$v_ns4; + if (!empty($v_ns5)) $v_ns .= ",".$v_ns5; + if (!empty($v_ns6)) $v_ns .= ",".$v_ns6; + if (!empty($v_ns7)) $v_ns .= ",".$v_ns7; + if (!empty($v_ns8)) $v_ns .= ",".$v_ns8; + $v_ns = escapeshellarg($v_ns); + $v_time = escapeshellarg(date('H:i:s')); + $v_date = escapeshellarg(date('Y-m-d')); + + // Create temporary dir + if (empty($_SESSION['error_msg'])) { + exec ('mktemp -d', $output, $return_var); + $tmpdir = $output[0]; + check_return_code($return_var,$output); + unset($output); + } + + // Create package file + if (empty($_SESSION['error_msg'])) { + $pkg = "WEB_TEMPLATE=".$v_web_template."\n"; + if (!empty($_SESSION['WEB_BACKEND'])) { + $pkg .= "BACKEND_TEMPLATE=".$v_backend_template."\n"; + } + if (!empty($_SESSION['PROXY_SYSTEM'])) { + $pkg .= "PROXY_TEMPLATE=".$v_proxy_template."\n"; + } + $pkg .= "DNS_TEMPLATE=".$v_dns_template."\n"; + $pkg .= "WEB_DOMAINS=".$v_web_domains."\n"; + $pkg .= "WEB_ALIASES=".$v_web_aliases."\n"; + $pkg .= "DNS_DOMAINS=".$v_dns_domains."\n"; + $pkg .= "DNS_RECORDS=".$v_dns_records."\n"; + $pkg .= "MAIL_DOMAINS=".$v_mail_domains."\n"; + $pkg .= "MAIL_ACCOUNTS=".$v_mail_accounts."\n"; + $pkg .= "DATABASES=".$v_databases."\n"; + $pkg .= "CRON_JOBS=".$v_cron_jobs."\n"; + $pkg .= "DISK_QUOTA=".$v_disk_quota."\n"; + $pkg .= "BANDWIDTH=".$v_bandwidth."\n"; + $pkg .= "NS=".$v_ns."\n"; + $pkg .= "SHELL=".$v_shell."\n"; + $pkg .= "BACKUPS=".$v_backups."\n"; + $pkg .= "TIME=".$v_time."\n"; + $pkg .= "DATE=".$v_date."\n"; + + $fp = fopen($tmpdir."/".$_POST['v_package'].".pkg", 'w'); + fwrite($fp, $pkg); + fclose($fp); + } + + // Add new package + if (empty($_SESSION['error_msg'])) { + exec (VESTA_CMD."v-add-user-package ".$tmpdir." ".$v_package, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + + // Remove tmpdir + exec ('rm -rf '.$tmpdir, $output, $return_var); + unset($output); + + // Flush field values on success + if (empty($_SESSION['error_msg'])) { + $_SESSION['ok_msg'] = __('PACKAGE_CREATED_OK',htmlentities($_POST['v_package']),htmlentities($_POST['v_package'])); + unset($v_package); + } + +} + + +// List web temmplates +exec (VESTA_CMD."v-list-web-templates json", $output, $return_var); +$web_templates = json_decode(implode('', $output), true); +unset($output); + +// List web templates for backend +if (!empty($_SESSION['WEB_BACKEND'])) { + exec (VESTA_CMD."v-list-web-templates-backend json", $output, $return_var); + $backend_templates = json_decode(implode('', $output), true); + unset($output); +} + +// List web templates for proxy +if (!empty($_SESSION['PROXY_SYSTEM'])) { + exec (VESTA_CMD."v-list-web-templates-proxy json", $output, $return_var); + $proxy_templates = json_decode(implode('', $output), true); + unset($output); +} + +// List DNS templates +exec (VESTA_CMD."v-list-dns-templates json", $output, $return_var); +$dns_templates = json_decode(implode('', $output), true); +unset($output); + +// List system shells +exec (VESTA_CMD."v-list-sys-shells json", $output, $return_var); +$shells = json_decode(implode('', $output), true); +unset($output); + +// Set default values +if (empty($v_web_template)) $v_web_template = 'default'; +if (empty($v_backend_template)) $v_backend_template = 'default'; +if (empty($v_proxy_template)) $v_proxy_template = 'default'; +if (empty($v_dns_template)) $v_dns_template = 'default'; +if (empty($v_shell)) $v_shell = 'nologin'; +if (empty($v_web_domains)) $v_web_domains = "'1'"; +if (empty($v_web_aliases)) $v_web_aliases = "'1'"; +if (empty($v_dns_domains)) $v_dns_domains = "'1'"; +if (empty($v_dns_records)) $v_dns_records = "'1'"; +if (empty($v_mail_domains)) $v_mail_domains = "'1'"; +if (empty($v_mail_accounts)) $v_mail_accounts = "'1'"; +if (empty($v_databases)) $v_databases = "'1'"; +if (empty($v_cron_jobs)) $v_cron_jobs = "'1'"; +if (empty($v_backups)) $v_backups = "'1'"; +if (empty($v_disk_quota)) $v_disk_quota = "'1000'"; +if (empty($v_bandwidth)) $v_bandwidth = "'1000'"; +if (empty($v_ns1)) $v_ns1 = 'ns1.example.ltd'; +if (empty($v_ns2)) $v_ns2 = 'ns2.example.ltd'; + +// Render page +// render_page($user, $TAB, 'add_package'); + +$result = array( + 'web_system' => $_SESSION['WEB_SYSTEM'], + 'web_templates' => $web_templates, + 'web_backend' => $_SESSION['WEB_BACKEND'], + 'backend_templates' => $backend_templates, + 'proxy_system' => $_SESSION['PROXY_SYSTEM'], + 'proxy_templates' => $proxy_templates, + 'dns_system' => $_SESSION['DNS_SYSTEM'], + 'dns_templates' => $dns_templates, + 'ssh_access' => $shells, + 'ok_msg' => $_SESSION['ok_msg'], + 'error_msg' => $_SESSION['error_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); \ No newline at end of file diff --git a/web/api/v1/add/user/index.php b/web/api/v1/add/user/index.php new file mode 100644 index 000000000..5057b774a --- /dev/null +++ b/web/api/v1/add/user/index.php @@ -0,0 +1,131 @@ + $error) { + if ( $i == 0 ) { + $error_msg = $error; + } else { + $error_msg = $error_msg.", ".$error; + } + } + $_SESSION['error_msg'] = __('Field "%s" can not be blank.',$error_msg); + } + + // Validate email + if ((empty($_SESSION['error_msg'])) && (!filter_var($_POST['v_email'], FILTER_VALIDATE_EMAIL))) { + $_SESSION['error_msg'] = __('Please enter valid email address.'); + } + + // Check password length + if (empty($_SESSION['error_msg'])) { + $pw_len = strlen($_POST['v_password']); + if ($pw_len < 6 ) $_SESSION['error_msg'] = __('Password is too short.',$error_msg); + } + + // Protect input + $v_username = escapeshellarg($_POST['v_username']); + $v_email = escapeshellarg($_POST['v_email']); + $v_package = escapeshellarg($_POST['v_package']); + $v_language = escapeshellarg($_POST['v_language']); + $v_fname = escapeshellarg($_POST['v_fname']); + $v_lname = escapeshellarg($_POST['v_lname']); + $v_notify = $_POST['v_notify']; + + + // Add user + if (empty($_SESSION['error_msg'])) { + $v_password = tempnam("/tmp","vst"); + $fp = fopen($v_password, "w"); + fwrite($fp, $_POST['v_password']."\n"); + fclose($fp); + exec (VESTA_CMD."v-add-user ".$v_username." ".$v_password." ".$v_email." ".$v_package." ".$v_fname." ".$v_lname, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + unlink($v_password); + $v_password = escapeshellarg($_POST['v_password']); + } + + // Set language + if (empty($_SESSION['error_msg'])) { + exec (VESTA_CMD."v-change-user-language ".$v_username." ".$v_language, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + + // Send email to the new user + if ((empty($_SESSION['error_msg'])) && (!empty($v_notify))) { + $to = $_POST['v_notify']; + $subject = _translate($_POST['v_language'],"Welcome to Vesta Control Panel"); + $hostname = exec('hostname'); + unset($output); + $from = _translate($_POST['v_language'],'MAIL_FROM',$hostname); + if (!empty($_POST['v_fname'])) { + $mailtext = _translate($_POST['v_language'],'GREETINGS_GORDON_FREEMAN',$_POST['v_fname'],$_POST['v_lname']); + } else { + $mailtext = _translate($_POST['v_language'],'GREETINGS'); + } + $mailtext .= _translate($_POST['v_language'],'ACCOUNT_READY',$_SERVER['HTTP_HOST'],$_POST['v_username'],$_POST['v_password']); + send_email($to, $subject, $mailtext, $from); + } + + // Flush field values on success + if (empty($_SESSION['error_msg'])) { + $_SESSION['ok_msg'] = __('USER_CREATED_OK',htmlentities($_POST['v_username']),htmlentities($_POST['v_username'])); + $_SESSION['ok_msg'] .= " / " . __('login as') ." ".htmlentities($_POST['v_username']). ""; + unset($v_username); + unset($v_password); + unset($v_email); + unset($v_fname); + unset($v_lname); + unset($v_notify); + } +} + + +// List hosting packages +exec (VESTA_CMD."v-list-user-packages json", $output, $return_var); +check_error($return_var); +$data = json_decode(implode('', $output), true); +unset($output); + +// List languages +exec (VESTA_CMD."v-list-sys-languages json", $output, $return_var); +$languages = json_decode(implode('', $output), true); +unset($output); + +$result = array( + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); \ No newline at end of file diff --git a/web/api/v1/add/web/index.php b/web/api/v1/add/web/index.php new file mode 100644 index 000000000..182d1081e --- /dev/null +++ b/web/api/v1/add/web/index.php @@ -0,0 +1,371 @@ + $error) { + if ( $i == 0 ) { + $error_msg = $error; + } else { + $error_msg = $error_msg.", ".$error; + } + } + $_SESSION['error_msg'] = __('Field "%s" can not be blank.',$error_msg); + } + + // Check stats password length + if ((!empty($v_stats)) && (empty($_SESSION['error_msg']))) { + if (!empty($_POST['v_stats_user'])) { + $pw_len = strlen($_POST['v_stats_password']); + if ($pw_len < 6 ) $_SESSION['error_msg'] = __('Password is too short.',$error_msg); + } + } + + // Set domain to lowercase and remove www prefix + $v_domain = preg_replace("/^www\./i", "", $_POST['v_domain']); + $v_domain = escapeshellarg($v_domain); + $v_domain = strtolower($v_domain); + + // Define domain ip address + $v_ip = escapeshellarg($_POST['v_ip']); + + // Using public IP instead of internal IP when creating DNS + // Gets public IP from 'v-list-user-ips' command (that reads /vesta/data/ips/ip), precisely from 'NAT' field + $v_public_ip = $v_ip; + $v_clean_ip = $_POST['v_ip']; // clean_ip = IP without quotas + exec (VESTA_CMD."v-list-user-ips ".$user." json", $output, $return_var); + $ips = json_decode(implode('', $output), true); + unset($output); + if (isset($ips[$v_clean_ip]) && isset($ips[$v_clean_ip]['NAT']) && trim($ips[$v_clean_ip]['NAT'])!='') { + $v_public_ip = trim($ips[$v_clean_ip]['NAT']); + $v_public_ip = escapeshellarg($v_public_ip); + } + + // Define domain aliases + $v_aliases = $_POST['v_aliases']; + $aliases = preg_replace("/\n/", ",", $v_aliases); + $aliases = preg_replace("/\r/", ",", $aliases); + $aliases = preg_replace("/\t/", ",", $aliases); + $aliases = preg_replace("/ /", ",", $aliases); + $aliases_arr = explode(",", $aliases); + $aliases_arr = array_unique($aliases_arr); + $aliases_arr = array_filter($aliases_arr); + $aliases = implode(",",$aliases_arr); + $aliases = escapeshellarg($aliases); + if (empty($_POST['v_aliases'])) $aliases = 'none'; + + // Define proxy extensions + $v_proxy_ext = $_POST['v_proxy_ext']; + $proxy_ext = preg_replace("/\n/", ",", $v_proxy_ext); + $proxy_ext = preg_replace("/\r/", ",", $proxy_ext); + $proxy_ext = preg_replace("/\t/", ",", $proxy_ext); + $proxy_ext = preg_replace("/ /", ",", $proxy_ext); + $proxy_ext_arr = explode(",", $proxy_ext); + $proxy_ext_arr = array_unique($proxy_ext_arr); + $proxy_ext_arr = array_filter($proxy_ext_arr); + $proxy_ext = implode(",",$proxy_ext_arr); + $proxy_ext = escapeshellarg($proxy_ext); + + // Define other options + $v_elog = $_POST['v_elog']; + $v_ssl = $_POST['v_ssl']; + $v_ssl_crt = $_POST['v_ssl_crt']; + $v_ssl_key = $_POST['v_ssl_key']; + $v_ssl_ca = $_POST['v_ssl_ca']; + $v_ssl_home = $data[$v_domain]['SSL_HOME']; + $v_letsencrypt = $_POST['v_letsencrypt']; + $v_stats = escapeshellarg($_POST['v_stats']); + $v_stats_user = $data[$v_domain]['STATS_USER']; + $v_stats_password = $data[$v_domain]['STATS_PASSWORD']; + $v_ftp = $_POST['v_ftp']; + $v_ftp_user = $_POST['v_ftp_user']; + $v_ftp_password = $_POST['v_ftp_password']; + $v_ftp_email = $_POST['v_ftp_email']; + if (!empty($v_domain)) $v_ftp_user_prepath .= $v_domain; + + // Set advanced option checkmark + if (!empty($_POST['v_proxy'])) $v_adv = 'yes'; + if (!empty($_POST['v_ftp'])) $v_adv = 'yes'; + if ($_POST['v_proxy_ext'] != $v_proxy_ext) $v_adv = 'yes'; + if ((!empty($_POST['v_aliases'])) && ($_POST['v_aliases'] != 'www.'.$_POST['v_domain'])) $v_adv = 'yes'; + if ((!empty($_POST['v_ssl'])) || (!empty($_POST['v_elog']))) $v_adv = 'yes'; + if ((!empty($_POST['v_ssl_crt'])) || (!empty($_POST['v_ssl_key']))) $v_adv = 'yes'; + if ((!empty($_POST['v_ssl_ca'])) || ($_POST['v_stats'] != 'none')) $v_adv = 'yes'; + if ((!empty($_POST['v_letsencrypt']))) $v_adv = 'yes'; + + // Check advanced features + if (empty($_POST['v_dns'])) $v_dns = 'off'; + if (empty($_POST['v_mail'])) $v_mail = 'off'; + if (empty($_POST['v_proxy'])) $v_proxy = 'off'; + + // Add web domain + if (empty($_SESSION['error_msg'])) { + exec (VESTA_CMD."v-add-web-domain ".$user." ".$v_domain." ".$v_ip." no ".$aliases." ".$proxy_ext, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + $domain_added = empty($_SESSION['error_msg']); + } + + // Add DNS domain + if (($_POST['v_dns'] == 'on') && (empty($_SESSION['error_msg']))) { + exec (VESTA_CMD."v-add-dns-domain ".$user." ".$v_domain." ".$v_public_ip." '' '' '' '' '' '' '' '' no", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + + // Add DNS for domain aliases + if (($_POST['v_dns'] == 'on') && (empty($_SESSION['error_msg']))) { + foreach ($aliases_arr as $alias) { + if ($alias != "www.".$_POST['v_domain']) { + $alias = escapeshellarg($alias); + exec (VESTA_CMD."v-add-dns-on-web-alias ".$user." ".$alias." ".$v_ip." no", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + } + } + + // Add mail domain + if (($_POST['v_mail'] == 'on') && (empty($_SESSION['error_msg']))) { + exec (VESTA_CMD."v-add-mail-domain ".$user." ".$v_domain, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + + // Delete proxy support + if ((!empty($_SESSION['PROXY_SYSTEM'])) && ($_POST['v_proxy'] == 'off') && (empty($_SESSION['error_msg']))) { + $ext = escapeshellarg($ext); + exec (VESTA_CMD."v-delete-web-domain-proxy ".$user." ".$v_domain." no", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + + // Add Lets Encrypt support + if ((!empty($_POST['v_letsencrypt'])) && (empty($_SESSION['error_msg']))) { + exec (VESTA_CMD."v-schedule-letsencrypt-domain ".$user." ".$v_domain, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } else { + // Add SSL certificates only if Lets Encrypt is off + if ((!empty($_POST['v_ssl'])) && (empty($_SESSION['error_msg']))) { + exec ('mktemp -d', $output, $return_var); + $tmpdir = $output[0]; + unset($output); + + // Save certificate + if (!empty($_POST['v_ssl_crt'])) { + $fp = fopen($tmpdir."/".$_POST['v_domain'].".crt", 'w'); + fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_crt'])); + fwrite($fp, "\n"); + fclose($fp); + } + + // Save private key + if (!empty($_POST['v_ssl_key'])) { + $fp = fopen($tmpdir."/".$_POST['v_domain'].".key", 'w'); + fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_key'])); + fwrite($fp, "\n"); + fclose($fp); + } + + // Save CA bundle + if (!empty($_POST['v_ssl_ca'])) { + $fp = fopen($tmpdir."/".$_POST['v_domain'].".ca", 'w'); + fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_ca'])); + fwrite($fp, "\n"); + fclose($fp); + } + + $v_ssl_home = escapeshellarg($_POST['v_ssl_home']); + exec (VESTA_CMD."v-add-web-domain-ssl ".$user." ".$v_domain." ".$tmpdir." ".$v_ssl_home." no", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + } + + // Add web stats + if ((!empty($_POST['v_stats'])) && ($_POST['v_stats'] != 'none' ) && (empty($_SESSION['error_msg']))) { + $v_stats = escapeshellarg($_POST['v_stats']); + exec (VESTA_CMD."v-add-web-domain-stats ".$user." ".$v_domain." ".$v_stats, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + + // Add web stats password + if ((!empty($_POST['v_stats_user'])) && (empty($_SESSION['error_msg']))) { + $v_stats_user = escapeshellarg($_POST['v_stats_user']); + $v_stats_password = tempnam("/tmp","vst"); + $fp = fopen($v_stats_password, "w"); + fwrite($fp, $_POST['v_stats_password']."\n"); + fclose($fp); + exec (VESTA_CMD."v-add-web-domain-stats-user ".$user." ".$v_domain." ".$v_stats_user." ".$v_stats_password, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + unlink($v_stats_password); + $v_stats_password = escapeshellarg($_POST['v_stats_password']); + } + + // Restart DNS server + if (($_POST['v_dns'] == 'on') && (empty($_SESSION['error_msg']))) { + exec (VESTA_CMD."v-restart-dns", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + + // Restart web server + if (empty($_SESSION['error_msg'])) { + exec (VESTA_CMD."v-restart-web", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + + // Restart proxy server + if ((!empty($_SESSION['PROXY_SYSTEM'])) && ($_POST['v_proxy'] == 'on') && (empty($_SESSION['error_msg']))) { + exec (VESTA_CMD."v-restart-proxy", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + + // Add FTP + if ((!empty($_POST['v_ftp'])) && (empty($_SESSION['error_msg']))) { + $v_ftp_users_updated = array(); + foreach ($_POST['v_ftp_user'] as $i => $v_ftp_user_data) { + if ($v_ftp_user_data['is_new'] == 1) { + if ((!empty($v_ftp_user_data['v_ftp_email'])) && (!filter_var($v_ftp_user_data['v_ftp_email'], FILTER_VALIDATE_EMAIL))) $_SESSION['error_msg'] = __('Please enter valid email address.'); + if (empty($v_ftp_user_data['v_ftp_user'])) $errors[] = 'ftp user'; + if (empty($v_ftp_user_data['v_ftp_password'])) $errors[] = 'ftp user password'; + if (!empty($errors[0])) { + foreach ($errors as $i => $error) { + if ( $i == 0 ) { + $error_msg = $error; + } else { + $error_msg = $error_msg.", ".$error; + } + } + $_SESSION['error_msg'] = __('Field "%s" can not be blank.',$error_msg); + } + + // Validate email + if ((!empty($v_ftp_user_data['v_ftp_email'])) && (!filter_var($v_ftp_user_data['v_ftp_email'], FILTER_VALIDATE_EMAIL))) { + $_SESSION['error_msg'] = __('Please enter valid email address.'); + } + + // Check ftp password length + if ((!empty($v_ftp_user_data['v_ftp']))) { + if (!empty($v_ftp_user_data['v_ftp_user'])) { + $pw_len = strlen($v_ftp_user_data['v_ftp_password']); + if ($pw_len < 6 ) $_SESSION['error_msg'] = __('Password is too short.',$error_msg); + } + } + + $v_ftp_user_data['v_ftp_user'] = preg_replace("/^".$user."_/i", "", $v_ftp_user_data['v_ftp_user']); + $v_ftp_username = $v_ftp_user_data['v_ftp_user']; + $v_ftp_username_full = $user . '_' . $v_ftp_user_data['v_ftp_user']; + $v_ftp_user = escapeshellarg($v_ftp_user_data['v_ftp_user']); + if ($domain_added) { + $v_ftp_path = escapeshellarg(trim($v_ftp_user_data['v_ftp_path'])); + $v_ftp_password = tempnam("/tmp","vst"); + $fp = fopen($v_ftp_password, "w"); + fwrite($fp, $v_ftp_user_data['v_ftp_password']."\n"); + fclose($fp); + exec (VESTA_CMD."v-add-web-domain-ftp ".$user." ".$v_domain." ".$v_ftp_user." ".$v_ftp_password . " " . $v_ftp_path, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + unlink($v_ftp_password); + if ((!empty($v_ftp_user_data['v_ftp_email'])) && (empty($_SESSION['error_msg']))) { + $to = $v_ftp_user_data['v_ftp_email']; + $subject = __("FTP login credentials"); + $from = __('MAIL_FROM',$_POST['v_domain']); + $mailtext = __('FTP_ACCOUNT_READY',$_POST['v_domain'],$user,$v_ftp_user_data['v_ftp_user'],$v_ftp_user_data['v_ftp_password']); + send_email($to, $subject, $mailtext, $from); + unset($v_ftp_email); + } + } else { + $return_var = -1; + } + + if ($return_var == 0) { + $v_ftp_password = "••••••••"; + $v_ftp_user_data['is_new'] = 0; + } else { + $v_ftp_user_data['is_new'] = 1; + } + + $v_ftp_username = preg_replace("/^".$user."_/", "", $v_ftp_user_data['v_ftp_user']); + $v_ftp_users_updated[] = array( + 'is_new' => $v_ftp_user_data['is_new'], + 'v_ftp_user' => $return_var == 0 ? $v_ftp_username_full : $v_ftp_username, + 'v_ftp_password' => $v_ftp_password, + 'v_ftp_path' => $v_ftp_user_data['v_ftp_path'], + 'v_ftp_email' => $v_ftp_user_data['v_ftp_email'], + 'v_ftp_pre_path' => $v_ftp_user_prepath + ); + continue; + } + } + + if (!empty($_SESSION['error_msg']) && $domain_added) { + $_SESSION['ok_msg'] = __('WEB_DOMAIN_CREATED_OK',htmlentities($_POST[v_domain]),htmlentities($_POST[v_domain])); + $_SESSION['flash_error_msg'] = $_SESSION['error_msg']; + $url = '/edit/web/?domain='.strtolower(preg_replace("/^www\./i", "", $_POST['v_domain'])); + header('Location: ' . $url); + exit; + } + } + + // Flush field values on success + if (empty($_SESSION['error_msg'])) { + $_SESSION['ok_msg'] = __('WEB_DOMAIN_CREATED_OK',htmlentities($_POST['v_domain']),htmlentities($_POST['v_domain'])); + unset($v_domain); + unset($v_aliases); + unset($v_ssl); + unset($v_ssl_crt); + unset($v_ssl_key); + unset($v_ssl_ca); + unset($v_stats_user); + unset($v_stats_password); + unset($v_ftp); + } +} + +// Define user variables +$v_ftp_user_prepath = $panel[$user]['HOME'] . "/web"; +$v_ftp_email = $panel[$user]['CONTACT']; + +// List IP addresses +exec (VESTA_CMD."v-list-user-ips ".$user." json", $output, $return_var); +$ips = json_decode(implode('', $output), true); +unset($output); + +// List web stat engines +exec (VESTA_CMD."v-list-web-stats json", $output, $return_var); +$stats = json_decode(implode('', $output), true); +unset($output); + +$result = array( + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); \ No newline at end of file diff --git a/web/api/v1/bulk/backup/index.php b/web/api/v1/bulk/backup/index.php new file mode 100644 index 000000000..aa7f1f6c5 --- /dev/null +++ b/web/api/v1/bulk/backup/index.php @@ -0,0 +1,35 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/bulk/cron/index.php b/web/api/v1/bulk/cron/index.php new file mode 100644 index 000000000..5fd80765d --- /dev/null +++ b/web/api/v1/bulk/cron/index.php @@ -0,0 +1,77 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/bulk/db/index.php b/web/api/v1/bulk/db/index.php new file mode 100644 index 000000000..a0fa65fa0 --- /dev/null +++ b/web/api/v1/bulk/db/index.php @@ -0,0 +1,48 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/bulk/dns/index.php b/web/api/v1/bulk/dns/index.php new file mode 100644 index 000000000..4340e9222 --- /dev/null +++ b/web/api/v1/bulk/dns/index.php @@ -0,0 +1,86 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/bulk/firewall/index.php b/web/api/v1/bulk/firewall/index.php new file mode 100644 index 000000000..99acda51f --- /dev/null +++ b/web/api/v1/bulk/firewall/index.php @@ -0,0 +1,49 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/bulk/ip/index.php b/web/api/v1/bulk/ip/index.php new file mode 100644 index 000000000..3f252256b --- /dev/null +++ b/web/api/v1/bulk/ip/index.php @@ -0,0 +1,43 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/bulk/mail/index.php b/web/api/v1/bulk/mail/index.php new file mode 100644 index 000000000..590422b71 --- /dev/null +++ b/web/api/v1/bulk/mail/index.php @@ -0,0 +1,82 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/bulk/package/index.php b/web/api/v1/bulk/package/index.php new file mode 100644 index 000000000..69f402d1f --- /dev/null +++ b/web/api/v1/bulk/package/index.php @@ -0,0 +1,42 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/bulk/restore/index.php b/web/api/v1/bulk/restore/index.php new file mode 100644 index 000000000..453f2e87d --- /dev/null +++ b/web/api/v1/bulk/restore/index.php @@ -0,0 +1,56 @@ +', $output); + if (empty($_SESSION['error_msg'])) { + $_SESSION['error_msg'] = __('Error: vesta did not return any output.'); + } + if ($return_var == 4) { + $_SESSION['error_msg'] = __('RESTORE_EXISTS'); + } + } +} + +header('Content-Type: application/json'); +$result = array( + 'error' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/bulk/service/index.php b/web/api/v1/bulk/service/index.php new file mode 100644 index 000000000..e100482d6 --- /dev/null +++ b/web/api/v1/bulk/service/index.php @@ -0,0 +1,49 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/bulk/user/index.php b/web/api/v1/bulk/user/index.php new file mode 100644 index 000000000..213a84f88 --- /dev/null +++ b/web/api/v1/bulk/user/index.php @@ -0,0 +1,69 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/bulk/vesta/index.php b/web/api/v1/bulk/vesta/index.php new file mode 100644 index 000000000..63b273384 --- /dev/null +++ b/web/api/v1/bulk/vesta/index.php @@ -0,0 +1,38 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/bulk/web/index.php b/web/api/v1/bulk/web/index.php new file mode 100644 index 000000000..71e906364 --- /dev/null +++ b/web/api/v1/bulk/web/index.php @@ -0,0 +1,55 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/delete/backup/index.php b/web/api/v1/delete/backup/index.php new file mode 100644 index 000000000..9d8bc9728 --- /dev/null +++ b/web/api/v1/delete/backup/index.php @@ -0,0 +1,34 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/delete/cron/index.php b/web/api/v1/delete/cron/index.php new file mode 100644 index 000000000..a0d700df2 --- /dev/null +++ b/web/api/v1/delete/cron/index.php @@ -0,0 +1,34 @@ + + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/delete/db/index.php b/web/api/v1/delete/db/index.php new file mode 100644 index 000000000..ae5eeada7 --- /dev/null +++ b/web/api/v1/delete/db/index.php @@ -0,0 +1,33 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/delete/dns/index.php b/web/api/v1/delete/dns/index.php new file mode 100644 index 000000000..9078999ad --- /dev/null +++ b/web/api/v1/delete/dns/index.php @@ -0,0 +1,45 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/delete/favorite/index.php b/web/api/v1/delete/favorite/index.php new file mode 100644 index 000000000..9f471b9bd --- /dev/null +++ b/web/api/v1/delete/favorite/index.php @@ -0,0 +1,15 @@ + \ No newline at end of file diff --git a/web/api/v1/delete/firewall/index.php b/web/api/v1/delete/firewall/index.php new file mode 100644 index 000000000..c90fa7461 --- /dev/null +++ b/web/api/v1/delete/firewall/index.php @@ -0,0 +1,35 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/delete/ip/index.php b/web/api/v1/delete/ip/index.php new file mode 100644 index 000000000..6c4ab74a3 --- /dev/null +++ b/web/api/v1/delete/ip/index.php @@ -0,0 +1,31 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/delete/mail/index.php b/web/api/v1/delete/mail/index.php new file mode 100644 index 000000000..2f6f2f82a --- /dev/null +++ b/web/api/v1/delete/mail/index.php @@ -0,0 +1,45 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/delete/notification/index.php b/web/api/v1/delete/notification/index.php new file mode 100644 index 000000000..5aedaa5d0 --- /dev/null +++ b/web/api/v1/delete/notification/index.php @@ -0,0 +1,28 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/delete/user/index.php b/web/api/v1/delete/user/index.php new file mode 100644 index 000000000..a85982ef4 --- /dev/null +++ b/web/api/v1/delete/user/index.php @@ -0,0 +1,31 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/delete/web/index.php b/web/api/v1/delete/web/index.php new file mode 100644 index 000000000..46a4aea83 --- /dev/null +++ b/web/api/v1/delete/web/index.php @@ -0,0 +1,34 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/download/backup/index.php b/web/api/v1/download/backup/index.php new file mode 100644 index 000000000..068467148 --- /dev/null +++ b/web/api/v1/download/backup/index.php @@ -0,0 +1,26 @@ + diff --git a/web/api/v1/edit/cron/index.php b/web/api/v1/edit/cron/index.php new file mode 100644 index 000000000..697c04922 --- /dev/null +++ b/web/api/v1/edit/cron/index.php @@ -0,0 +1,102 @@ + $user, + 'job' => $_GET['job'], + 'min' => $data[$v_job]['MIN'], + 'hour' => $data[$v_job]['HOUR'], + 'day' => $data[$v_job]['DAY'], + 'month' => $data[$v_job]['MONTH'], + 'wday' => $data[$v_job]['WDAY'], + 'cmd' => $data[$v_job]['CMD'], + 'date' => $data[$v_job]['DATE'], + 'time' => $data[$v_job]['TIME'], + 'suspended' => $data[$v_job]['SUSPENDED'], + 'status' => $v_status, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/edit/db/index.php b/web/api/v1/edit/db/index.php new file mode 100644 index 000000000..7aaced147 --- /dev/null +++ b/web/api/v1/edit/db/index.php @@ -0,0 +1,109 @@ + $user, + 'database' => $_GET['database'], + 'dbuser' => $data[$_GET['database']]['DBUSER'], + 'password' => $_POST['v_password'], + 'host' => $data[$_GET['database']]['HOST'], + 'type' => $data[$_GET['database']]['TYPE'], + 'charset' => $data[$_GET['database']]['CHARSET'], + 'date' => $data[$_GET['database']]['DATE'], + 'time' => $data[$_GET['database']]['TIME'], + 'suspended' => $data[$_GET['database']]['SUSPENDED'], + 'status' => $v_status, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/edit/dns/index.php b/web/api/v1/edit/dns/index.php new file mode 100644 index 000000000..74aae592c --- /dev/null +++ b/web/api/v1/edit/dns/index.php @@ -0,0 +1,225 @@ + $user, + 'domain' => $v_domain, + 'domain' => $_GET['domain'], + 'ip' => $data[$v_domain]['IP'], + 'record_id' => $v_record_id, + 'rec' => $v_rec, + 'type' => $v_type, + 'val' => $v_val, + 'priority' => $v_priority, + 'template' => $data[$v_domain]['TPL'], + 'ttl' => $data[$v_domain]['TTL'], + 'exp' => $data[$v_domain]['EXP'], + 'soa' => $data[$v_domain]['SOA'], + 'date' => $v_date, + 'time' => $v_time, + 'suspended' => $v_suspended, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'], + 'status' => $v_status, + 'dns_system' => $_SESSION['DNS_SYSTEM'], + 'YYYY-MM-DD' => __('YYYY-MM-DD'), + 'templates' => $templates +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/edit/file/index.php b/web/api/v1/edit/file/index.php new file mode 100644 index 000000000..9f08e497d --- /dev/null +++ b/web/api/v1/edit/file/index.php @@ -0,0 +1,51 @@ + $error, + 'content' => $content +); + +echo json_encode($result); diff --git a/web/api/v1/edit/firewall/index.php b/web/api/v1/edit/firewall/index.php new file mode 100644 index 000000000..37c9e9cc3 --- /dev/null +++ b/web/api/v1/edit/firewall/index.php @@ -0,0 +1,103 @@ + $_GET['rule'], + 'action' => $data[$v_rule]['ACTION'], + 'protocol' => $data[$v_rule]['PROTOCOL'], + 'port' => $data[$v_rule]['PORT'], + 'ip' => $data[$v_rule]['IP'], + 'comment' => $data[$v_rule]['COMMENT'], + 'date' => $data[$v_rule]['DATE'], + 'time' => $data[$v_rule]['TIME'], + 'suspended' => $data[$v_rule]['SUSPENDED'], + 'status' => $v_status, + 'actions' => [ __('DROP'), __('ACCEPT') ], + 'protocols' => [ __('TCP'), __('UDP'), __('ICMP') ], + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/edit/ip/index.php b/web/api/v1/edit/ip/index.php new file mode 100644 index 000000000..006e89767 --- /dev/null +++ b/web/api/v1/edit/ip/index.php @@ -0,0 +1,124 @@ + $user, + 'ip' => $_GET['ip'], + 'netmask' => $data[$v_ip]['NETMASK'], + 'interface' => $data[$v_ip]['INTERFACE'], + 'name' => $data[$v_ip]['NAME'], + 'nat' => $data[$v_ip]['NAT'], + 'ipstatus' => $data[$v_ip]['STATUS'], + 'dedicated' => $v_dedicated, + 'owner' => $data[$v_ip]['OWNER'], + 'date' => $data[$v_ip]['DATE'], + 'time' => $data[$v_ip]['TIME'], + 'suspended' => $data[$v_ip]['SUSPENDED'], + 'status' => 'active', + 'users' => $users, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/edit/mail/index.php b/web/api/v1/edit/mail/index.php new file mode 100644 index 000000000..47de71b33 --- /dev/null +++ b/web/api/v1/edit/mail/index.php @@ -0,0 +1,372 @@ + $data[$v_domain]['ANTISPAM'], + 'antivirus' => $data[$v_domain]['ANTIVIRUS'], + 'dkim' => $data[$v_domain]['DKIM'], + 'catchall' => $data[$v_domain]['CATCHALL'], + 'status' => $v_status, + 'username' => $user, + 'domain' => $v_domain, + 'account' => $v_account, + 'password' => $v_password, + 'aliases' => $v_aliases, + 'valiases' => $valiases, + 'fwd' => $v_fwd, + 'vfwd' => $vfwd, + 'fwd_only' => $v_fwd_only, + 'quota' => $v_quota, + 'autoreply' => $v_autoreply, + 'quota' => $v_quota, + 'date' => $v_date, + 'time' => $v_time, + 'send_email' => $v_send_email, + 'credentials' => $v_credentials, + 'webmail' => $webmail, + 'hostname' => $hostname, + 'autoreply_message' => $v_autoreply_message, + 'v_suspended' => $v_suspended, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/edit/package/index.php b/web/api/v1/edit/package/index.php new file mode 100644 index 000000000..c16ef4bdb --- /dev/null +++ b/web/api/v1/edit/package/index.php @@ -0,0 +1,270 @@ + $error) { + if ( $i == 0 ) { + $error_msg = $error; + } else { + $error_msg = $error_msg.", ".$error; + } + } + $_SESSION['error_msg'] = __('Field "%s" can not be blank.',$error_msg); + } + + // Protect input + $v_package = escapeshellarg($_POST['v_package']); + $v_web_template = escapeshellarg($_POST['v_web_template']); + if (!empty($_SESSION['WEB_BACKEND'])) { + $v_backend_template = escapeshellarg($_POST['v_backend_template']); + } + if (!empty($_SESSION['PROXY_SYSTEM'])) { + $v_proxy_template = escapeshellarg($_POST['v_proxy_template']); + } + $v_dns_template = escapeshellarg($_POST['v_dns_template']); + $v_shell = escapeshellarg($_POST['v_shell']); + $v_web_domains = escapeshellarg($_POST['v_web_domains']); + $v_web_aliases = escapeshellarg($_POST['v_web_aliases']); + $v_dns_domains = escapeshellarg($_POST['v_dns_domains']); + $v_dns_records = escapeshellarg($_POST['v_dns_records']); + $v_mail_domains = escapeshellarg($_POST['v_mail_domains']); + $v_mail_accounts = escapeshellarg($_POST['v_mail_accounts']); + $v_databases = escapeshellarg($_POST['v_databases']); + $v_cron_jobs = escapeshellarg($_POST['v_cron_jobs']); + $v_backups = escapeshellarg($_POST['v_backups']); + $v_disk_quota = escapeshellarg($_POST['v_disk_quota']); + $v_bandwidth = escapeshellarg($_POST['v_bandwidth']); + $v_ns1 = trim($_POST['v_ns1'], '.'); + $v_ns2 = trim($_POST['v_ns2'], '.'); + $v_ns3 = trim($_POST['v_ns3'], '.'); + $v_ns4 = trim($_POST['v_ns4'], '.'); + $v_ns5 = trim($_POST['v_ns5'], '.'); + $v_ns6 = trim($_POST['v_ns6'], '.'); + $v_ns7 = trim($_POST['v_ns7'], '.'); + $v_ns8 = trim($_POST['v_ns8'], '.'); + $v_ns = $v_ns1.",".$v_ns2; + if (!empty($v_ns3)) $v_ns .= ",".$v_ns3; + if (!empty($v_ns4)) $v_ns .= ",".$v_ns4; + if (!empty($v_ns5)) $v_ns .= ",".$v_ns5; + if (!empty($v_ns6)) $v_ns .= ",".$v_ns6; + if (!empty($v_ns7)) $v_ns .= ",".$v_ns7; + if (!empty($v_ns8)) $v_ns .= ",".$v_ns8; + $v_ns = escapeshellarg($v_ns); + $v_time = escapeshellarg(date('H:i:s')); + $v_date = escapeshellarg(date('Y-m-d')); + + // Create temprorary directory + exec ('mktemp -d', $output, $return_var); + $tmpdir = $output[0]; + unset($output); + + // Save package file on a fs + $pkg = "WEB_TEMPLATE=".$v_web_template."\n"; + $pkg .= "BACKEND_TEMPLATE=".$v_backend_template."\n"; + $pkg .= "PROXY_TEMPLATE=".$v_proxy_template."\n"; + $pkg .= "DNS_TEMPLATE=".$v_dns_template."\n"; + $pkg .= "WEB_DOMAINS=".$v_web_domains."\n"; + $pkg .= "WEB_ALIASES=".$v_web_aliases."\n"; + $pkg .= "DNS_DOMAINS=".$v_dns_domains."\n"; + $pkg .= "DNS_RECORDS=".$v_dns_records."\n"; + $pkg .= "MAIL_DOMAINS=".$v_mail_domains."\n"; + $pkg .= "MAIL_ACCOUNTS=".$v_mail_accounts."\n"; + $pkg .= "DATABASES=".$v_databases."\n"; + $pkg .= "CRON_JOBS=".$v_cron_jobs."\n"; + $pkg .= "DISK_QUOTA=".$v_disk_quota."\n"; + $pkg .= "BANDWIDTH=".$v_bandwidth."\n"; + $pkg .= "NS=".$v_ns."\n"; + $pkg .= "SHELL=".$v_shell."\n"; + $pkg .= "BACKUPS=".$v_backups."\n"; + $pkg .= "TIME=".$v_time."\n"; + $pkg .= "DATE=".$v_date."\n"; + $fp = fopen($tmpdir."/".$_POST['v_package'].".pkg", 'w'); + fwrite($fp, $pkg); + fclose($fp); + + // Save changes + exec (VESTA_CMD."v-add-user-package ".$tmpdir." ".$v_package." yes", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + + // Remove temporary dir + exec ('rm -rf '.$tmpdir, $output, $return_var); + unset($output); + + // Propogate new package + exec (VESTA_CMD."v-update-user-package ".$v_package." json", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + + // Set success message + if (empty($_SESSION['error_msg'])) { + $_SESSION['ok_msg'] = __('Changes has been saved.'); + } +} + +$result = array( + 'package' => $_GET['package'], + 'web_template' => $data[$v_package]['WEB_TEMPLATE'], + 'backend_template' => $data[$v_package]['BACKEND_TEMPLATE'], + 'proxy_template' => $data[$v_package]['PROXY_TEMPLATE'], + 'dns_template' => $data[$v_package]['DNS_TEMPLATE'], + 'web_domains' => $data[$v_package]['WEB_DOMAINS'], + 'web_aliases' => $data[$v_package]['WEB_ALIASES'], + 'dns_domains' => $data[$v_package]['DNS_DOMAINS'], + 'dns_records' => $data[$v_package]['DNS_RECORDS'], + 'mail_domains' => $data[$v_package]['MAIL_DOMAINS'], + 'mail_accounts' => $data[$v_package]['MAIL_ACCOUNTS'], + 'databases' => $data[$v_package]['DATABASES'], + 'cron_jobs' => $data[$v_package]['CRON_JOBS'], + 'disk_quota' => $data[$v_package]['DISK_QUOTA'], + 'bandwidth' => $data[$v_package]['BANDWIDTH'], + 'shell' => $data[$v_package]['SHELL'], + 'ns' => $data[$v_package]['NS'], + 'nameservers' => explode(",", $v_ns), + 'ns1' => $nameservers[0], + 'ns2' => $nameservers[1], + 'ns3' => $nameservers[2], + 'ns4' => $nameservers[3], + 'ns5' => $nameservers[4], + 'ns6' => $nameservers[5], + 'ns7' => $nameservers[6], + 'ns8' => $nameservers[7], + 'backups' => $data[$v_package]['BACKUPS'], + 'date' => $data[$v_package]['DATE'], + 'time' => $data[$v_package]['TIME'], + 'status' => $v_status, + 'web_templates' => $web_templates, + 'backend_templates' => $backend_templates, + 'proxy_templates' => $proxy_templates, + 'dns_templates' => $dns_templates, + 'shells' => $shells, + 'web_system' => $_SESSION['WEB_SYSTEM'], + 'web_backend' => $_SESSION['WEB_BACKEND'], + 'proxy_system' => $_SESSION['PROXY_SYSTEM'], + 'dns_system' => $_SESSION['DNS_SYSTEM'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/edit/server/apache2/index.php b/web/api/v1/edit/server/apache2/index.php new file mode 100644 index 000000000..e23a31f57 --- /dev/null +++ b/web/api/v1/edit/server/apache2/index.php @@ -0,0 +1,66 @@ + $v_config_path, + 'service_name' => $v_service_name, + 'config' => $v_config, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/edit/server/cron/index.php b/web/api/v1/edit/server/cron/index.php new file mode 100644 index 000000000..02f5a6c64 --- /dev/null +++ b/web/api/v1/edit/server/cron/index.php @@ -0,0 +1,65 @@ + $v_config_path, + 'service_name' => $v_service_name, + 'config' => $v_config, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); \ No newline at end of file diff --git a/web/api/v1/edit/server/crond/index.php b/web/api/v1/edit/server/crond/index.php new file mode 100644 index 000000000..9ef8f54dc --- /dev/null +++ b/web/api/v1/edit/server/crond/index.php @@ -0,0 +1,65 @@ + $v_config_path, + 'service_name' => $v_service_name, + 'config' => $v_config, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/edit/server/exim/index.php b/web/api/v1/edit/server/exim/index.php new file mode 100644 index 000000000..aa267feac --- /dev/null +++ b/web/api/v1/edit/server/exim/index.php @@ -0,0 +1,65 @@ + $v_config_path, + 'service_name' => $v_service_name, + 'config' => $v_config, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/edit/server/fail2ban/index.php b/web/api/v1/edit/server/fail2ban/index.php new file mode 100644 index 000000000..fa7cf38c4 --- /dev/null +++ b/web/api/v1/edit/server/fail2ban/index.php @@ -0,0 +1,65 @@ + $v_config_path, + 'service_name' => $v_service_name, + 'config' => $v_config, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); \ No newline at end of file diff --git a/web/api/v1/edit/server/index.php b/web/api/v1/edit/server/index.php new file mode 100644 index 000000000..d52595256 --- /dev/null +++ b/web/api/v1/edit/server/index.php @@ -0,0 +1,698 @@ + $value) { + $v_dns_cluster = 'yes'; +} + +// List Database hosts +exec (VESTA_CMD."v-list-database-hosts json", $output, $return_var); +$db_hosts = json_decode(implode('', $output), true); +unset($output); +$v_mysql_hosts = array_values(array_filter($db_hosts, function($host){return $host['TYPE'] === 'mysql';})); +$v_mysql = count($v_mysql_hosts) ? 'yes' : 'no'; +$v_pgsql_hosts = array_values(array_filter($db_hosts, function($host){return $host['TYPE'] === 'pgsql';})); +$v_pgsql = count($v_pgsql_hosts) ? 'yes' : 'no'; +unset($db_hosts); + +// List backup settings +$v_backup_dir = "/backup"; +if (!empty($_SESSION['BACKUP'])) $v_backup_dir = $_SESSION['BACKUP']; +$v_backup_gzip = '5'; +if (!empty($_SESSION['BACKUP_GZIP'])) $v_backup_gzip = $_SESSION['BACKUP_GZIP']; +$backup_types = explode(",",$_SESSION['BACKUP_SYSTEM']); +foreach ($backup_types as $backup_type) { + if ($backup_type == 'local') { + $v_backup = 'yes'; + } else { + exec (VESTA_CMD."v-list-backup-host ".$backup_type. " json", $output, $return_var); + $v_remote_backup = json_decode(implode('', $output), true); + unset($output); + $v_backup_host = $v_remote_backup[$backup_type]['HOST']; + $v_backup_type = $v_remote_backup[$backup_type]['TYPE']; + $v_backup_username = $v_remote_backup[$backup_type]['USERNAME']; + $v_backup_password = ""; + $v_backup_port = $v_remote_backup[$backup_type]['PORT']; + $v_backup_bpath = $v_remote_backup[$backup_type]['BPATH']; + } +} + +// List ssl web domains +exec (VESTA_CMD."v-search-ssl-certificates json", $output, $return_var); +$v_ssl_domains = json_decode(implode('', $output), true); +//$v_vesta_certificate +unset($output); + +// List ssl certificate info +exec (VESTA_CMD."v-list-sys-vesta-ssl json", $output, $return_var); +$v_sys_ssl_str = json_decode(implode('', $output), true); +unset($output); +$v_sys_ssl_crt = $v_sys_ssl_str['VESTA']['CRT']; +$v_sys_ssl_key = $v_sys_ssl_str['VESTA']['KEY']; +$v_sys_ssl_ca = $v_sys_ssl_str['VESTA']['CA']; +$v_sys_ssl_subject = $v_sys_ssl_str['VESTA']['SUBJECT']; +$v_sys_ssl_aliases = $v_sys_ssl_str['VESTA']['ALIASES']; +$v_sys_ssl_not_before = $v_sys_ssl_str['VESTA']['NOT_BEFORE']; +$v_sys_ssl_not_after = $v_sys_ssl_str['VESTA']['NOT_AFTER']; +$v_sys_ssl_signature = $v_sys_ssl_str['VESTA']['SIGNATURE']; +$v_sys_ssl_pub_key = $v_sys_ssl_str['VESTA']['PUB_KEY']; +$v_sys_ssl_issuer = $v_sys_ssl_str['VESTA']['ISSUER']; + +// List mail ssl certificate info +if (!empty($_SESSION['VESTA_CERTIFICATE'])); { + exec (VESTA_CMD."v-list-sys-mail-ssl json", $output, $return_var); + $v_mail_ssl_str = json_decode(implode('', $output), true); + unset($output); + $v_mail_ssl_crt = $v_mail_ssl_str['MAIL']['CRT']; + $v_mail_ssl_key = $v_mail_ssl_str['MAIL']['KEY']; + $v_mail_ssl_ca = $v_mail_ssl_str['MAIL']['CA']; + $v_mail_ssl_subject = $v_mail_ssl_str['MAIL']['SUBJECT']; + $v_mail_ssl_aliases = $v_mail_ssl_str['MAIL']['ALIASES']; + $v_mail_ssl_not_before = $v_mail_ssl_str['MAIL']['NOT_BEFORE']; + $v_mail_ssl_not_after = $v_mail_ssl_str['MAIL']['NOT_AFTER']; + $v_mail_ssl_signature = $v_mail_ssl_str['MAIL']['SIGNATURE']; + $v_mail_ssl_pub_key = $v_mail_ssl_str['MAIL']['PUB_KEY']; + $v_mail_ssl_issuer = $v_mail_ssl_str['MAIL']['ISSUER']; +} + +// Check POST request +if (!empty($_POST['save'])) { + + // Check token + if ((!isset($_POST['token'])) || ($_SESSION['token'] != $_POST['token'])) { + exit(); + } + + // Change hostname + if ((!empty($_POST['v_hostname'])) && ($v_hostname != $_POST['v_hostname'])) { + exec (VESTA_CMD."v-change-sys-hostname ".escapeshellarg($_POST['v_hostname']), $output, $return_var); + check_return_code($return_var,$output); + unset($output); + $v_hostname = $_POST['v_hostname']; + } + + // Change timezone + if (empty($_SESSION['error_msg'])) { + if (!empty($_POST['v_timezone'])) { + $v_tz = $_POST['v_timezone']; + if ($v_tz == 'UTC' ) $v_tz = 'Etc/UTC'; + if ($v_tz == 'HAST' ) $v_tz = 'Pacific/Honolulu'; + if ($v_tz == 'HADT' ) $v_tz = 'US/Aleutian'; + if ($v_tz == 'AKST' ) $v_tz = 'Etc/GMT+9'; + if ($v_tz == 'AKDT' ) $v_tz = 'America/Anchorage'; + if ($v_tz == 'PST' ) $v_tz = 'America/Dawson_Creek'; + if ($v_tz == 'PDT' ) $v_tz = 'PST8PDT'; + if ($v_tz == 'MDT' ) $v_tz = 'MST7MDT'; + if ($v_tz == 'CST' ) $v_tz = 'Canada/Saskatchewan'; + if ($v_tz == 'CDT' ) $v_tz = 'CST6CDT'; + if ($v_tz == 'EDT' ) $v_tz = 'EST5EDT'; + if ($v_tz == 'AST' ) $v_tz = 'America/Puerto_Rico'; + if ($v_tz == 'ADT' ) $v_tz = 'America/Halifax'; + + if ($v_timezone != $v_tz) { + exec (VESTA_CMD."v-change-sys-timezone ".escapeshellarg($v_tz), $output, $return_var); + check_return_code($return_var,$output); + $v_timezone = $v_tz; + unset($output); + } + } + } + + // Change default language + if (empty($_SESSION['error_msg'])) { + if ((!empty($_POST['v_language'])) && ($_SESSION['LANGUAGE'] != $_POST['v_language'])) { + exec (VESTA_CMD."v-change-sys-language ".escapeshellarg($_POST['v_language']), $output, $return_var); + check_return_code($return_var,$output); + unset($output); + if (empty($_SESSION['error_msg'])) $_SESSION['LANGUAGE'] = $_POST['v_language']; + } + } + + // Set disk_quota support + if (empty($_SESSION['error_msg'])) { + if ((!empty($_POST['v_quota'])) && ($_SESSION['DISK_QUOTA'] != $_POST['v_quota'])) { + if($_POST['v_quota'] == 'yes') { + exec (VESTA_CMD."v-add-sys-quota", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + if (empty($_SESSION['error_msg'])) $_SESSION['DISK_QUOTA'] = 'yes'; + } else { + exec (VESTA_CMD."v-delete-sys-quota", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + if (empty($_SESSION['error_msg'])) $_SESSION['DISK_QUOTA'] = 'no'; + } + } + } + + // Set firewall support + if (empty($_SESSION['error_msg'])) { + if ($_SESSION['FIREWALL_SYSTEM'] == 'iptables') $v_firewall = 'yes'; + if ($_SESSION['FIREWALL_SYSTEM'] != 'iptables') $v_firewall = 'no'; + if ((!empty($_POST['v_firewall'])) && ($v_firewall != $_POST['v_firewall'])) { + if($_POST['v_firewall'] == 'yes') { + exec (VESTA_CMD."v-add-sys-firewall", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + if (empty($_SESSION['error_msg'])) $_SESSION['FIREWALL_SYSTEM'] = 'iptables'; + } else { + exec (VESTA_CMD."v-delete-sys-firewall", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + if (empty($_SESSION['error_msg'])) $_SESSION['FIREWALL_SYSTEM'] = ''; + } + } + } + + // Update mysql pasword + if (empty($_SESSION['error_msg'])) { + if (!empty($_POST['v_mysql_password'])) { + exec (VESTA_CMD."v-change-database-host-password mysql localhost root ".escapeshellarg($_POST['v_mysql_password']), $output, $return_var); + check_return_code($return_var,$output); + unset($output); + $v_db_adv = 'yes'; + } + } + + + // Delete Mail Domain SSL certificate + if ((!isset($_POST['v_mail_ssl_domain_checkbox'])) && (!empty($_SESSION['MAIL_CERTIFICATE'])) && (empty($_SESSION['error_msg']))) { + unset($_SESSION['MAIL_CERTIFICATE']); + exec (VESTA_CMD."v-delete-sys-mail-ssl", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + + // Updating Mail Domain SSL certificate + if ((isset($_POST['v_mail_ssl_domain_checkbox'])) && (isset($_POST['v_mail_ssl_domain'])) && (empty($_SESSION['error_msg']))) { + if ((!empty($_POST['v_mail_ssl_domain'])) && ($_POST['v_mail_ssl_domain'] != $_SESSION['MAIL_CERTIFICATE'])) { + $v_mail_ssl_str = explode(":", $_POST['v_mail_ssl_domain']); + $v_mail_ssl_user = escapeshellarg($v_mail_ssl_str[0]); + $v_mail_ssl_domain = escapeshellarg($v_mail_ssl_str[1]); + exec (VESTA_CMD."v-add-sys-mail-ssl ".$v_mail_ssl_user." ".$v_mail_ssl_domain, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + unset($v_mail_ssl_str); + + if (empty($_SESSION['error_msg'])) { + $_SESSION['MAIL_CERTIFICATE'] = $_POST['v_mail_ssl_domain']; + + // List SSL certificate info + exec (VESTA_CMD."v-list-sys-mail-ssl json", $output, $return_var); + $v_mail_ssl_str = json_decode(implode('', $output), true); + unset($output); + $v_mail_ssl_crt = $v_mail_ssl_str['MAIL']['CRT']; + $v_mail_ssl_key = $v_mail_ssl_str['MAIL']['KEY']; + $v_mail_ssl_ca = $v_mail_ssl_str['MAIL']['CA']; + $v_mail_ssl_subject = $v_mail_ssl_str['MAIL']['SUBJECT']; + $v_mail_ssl_aliases = $v_mail_ssl_str['MAIL']['ALIASES']; + $v_mail_ssl_not_before = $v_mail_ssl_str['MAIL']['NOT_BEFORE']; + $v_mail_ssl_not_after = $v_mail_ssl_str['MAIL']['NOT_AFTER']; + $v_mail_ssl_signature = $v_mail_ssl_str['MAIL']['SIGNATURE']; + $v_mail_ssl_pub_key = $v_mail_ssl_str['MAIL']['PUB_KEY']; + $v_mail_ssl_issuer = $v_mail_ssl_str['MAIL']['ISSUER']; + } + } + } + + // Update webmail url + if (empty($_SESSION['error_msg'])) { + if ($_POST['v_mail_url'] != $_SESSION['MAIL_URL']) { + exec (VESTA_CMD."v-change-sys-config-value MAIL_URL ".escapeshellarg($_POST['v_mail_url']), $output, $return_var); + check_return_code($return_var,$output); + unset($output); + $v_mail_adv = 'yes'; + } + } + + // Update phpMyAdmin url + if (empty($_SESSION['error_msg'])) { + if ($_POST['v_mysql_url'] != $_SESSION['DB_PMA_URL']) { + exec (VESTA_CMD."v-change-sys-config-value DB_PMA_URL ".escapeshellarg($_POST['v_mysql_url']), $output, $return_var); + check_return_code($return_var,$output); + unset($output); + $v_db_adv = 'yes'; + } + } + + // Update phpPgAdmin url + if (empty($_SESSION['error_msg'])) { + if ($_POST['v_pgsql_url'] != $_SESSION['DB_PGA_URL']) { + exec (VESTA_CMD."v-change-sys-config-value DB_PGA_URL ".escapeshellarg($_POST['v_pgsql_url']), $output, $return_var); + check_return_code($return_var,$output); + unset($output); + $v_db_adv = 'yes'; + } + } + + // Disable local backup + if (empty($_SESSION['error_msg'])) { + if (($_POST['v_backup'] == 'no') && ($v_backup == 'yes' )) { + exec (VESTA_CMD."v-delete-backup-host local", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + if (empty($_SESSION['error_msg'])) $v_backup = 'no'; + $v_backup_adv = 'yes'; + } + } + + // Enable local backups + if (empty($_SESSION['error_msg'])) { + if (($_POST['v_backup'] == 'yes') && ($v_backup != 'yes' )) { + exec (VESTA_CMD."v-add-backup-host local", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + if (empty($_SESSION['error_msg'])) $v_backup = 'yes'; + $v_backup_adv = 'yes'; + } + } + + // Change backup gzip level + if (empty($_SESSION['error_msg'])) { + if ($_POST['v_backup_gzip'] != $v_backup_gzip ) { + exec (VESTA_CMD."v-change-sys-config-value BACKUP_GZIP ".escapeshellarg($_POST['v_backup_gzip']), $output, $return_var); + check_return_code($return_var,$output); + unset($output); + if (empty($_SESSION['error_msg'])) $v_backup_gzip = $_POST['v_backup_gzip']; + $v_backup_adv = 'yes'; + } + } + + // Change backup path + if (empty($_SESSION['error_msg'])) { + if ($_POST['v_backup_dir'] != $v_backup_dir ) { + exec (VESTA_CMD."v-change-sys-config-value BACKUP ".escapeshellarg($_POST['v_backup_dir']), $output, $return_var); + check_return_code($return_var,$output); + unset($output); + if (empty($_SESSION['error_msg'])) $v_backup_dir = $_POST['v_backup_dir']; + $v_backup_adv = 'yes'; + } + } + + // Add remote backup host + if (empty($_SESSION['error_msg'])) { + if ((!empty($_POST['v_backup_host'])) && (empty($v_backup_host))) { + $v_backup_host = escapeshellarg($_POST['v_backup_host']); + $v_backup_type = escapeshellarg($_POST['v_backup_type']); + $v_backup_username = escapeshellarg($_POST['v_backup_username']); + $v_backup_password = escapeshellarg($_POST['v_backup_password']); + $v_backup_bpath = escapeshellarg($_POST['v_backup_bpath']); + exec (VESTA_CMD."v-add-backup-host ".$v_backup_type." ".$v_backup_host ." ".$v_backup_username." ".$v_backup_password." ".$v_backup_bpath, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + if (empty($_SESSION['error_msg'])) $v_backup_host = $_POST['v_backup_host']; + if (empty($_SESSION['error_msg'])) $v_backup_type = $_POST['v_backup_type']; + if (empty($_SESSION['error_msg'])) $v_backup_username = $_POST['v_backup_username']; + if (empty($_SESSION['error_msg'])) $v_backup_password = $_POST['v_backup_password']; + if (empty($_SESSION['error_msg'])) $v_backup_bpath = $_POST['v_backup_bpath']; + $v_backup_new = 'yes'; + $v_backup_adv = 'yes'; + $v_backup_remote_adv = 'yes'; + } + } + + // Change remote backup host type + if (empty($_SESSION['error_msg'])) { + if ((!empty($_POST['v_backup_host'])) && ($_POST['v_backup_type'] != $v_backup_type)) { + exec (VESTA_CMD."v-delete-backup-host ". $v_backup_type, $output, $return_var); + unset($output); + + $v_backup_host = escapeshellarg($_POST['v_backup_host']); + $v_backup_type = escapeshellarg($_POST['v_backup_type']); + $v_backup_username = escapeshellarg($_POST['v_backup_username']); + $v_backup_password = escapeshellarg($_POST['v_backup_password']); + $v_backup_bpath = escapeshellarg($_POST['v_backup_bpath']); + exec (VESTA_CMD."v-add-backup-host ".$v_backup_type." ".$v_backup_host." ".$v_backup_username." ".$v_backup_password." ".$v_backup_bpath, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + if (empty($_SESSION['error_msg'])) $v_backup_host = $_POST['v_backup_host']; + if (empty($_SESSION['error_msg'])) $v_backup_type = $_POST['v_backup_type']; + if (empty($_SESSION['error_msg'])) $v_backup_username = $_POST['v_backup_username']; + if (empty($_SESSION['error_msg'])) $v_backup_password = $_POST['v_backup_password']; + if (empty($_SESSION['error_msg'])) $v_backup_bpath = $_POST['v_backup_bpath']; + $v_backup_adv = 'yes'; + $v_backup_remote_adv = 'yes'; + } + } + + // Change remote backup host + if (empty($_SESSION['error_msg'])) { + if ((!empty($_POST['v_backup_host'])) && ($_POST['v_backup_type'] == $v_backup_type) && (!isset($v_backup_new))) { + if (($_POST['v_backup_host'] != $v_backup_host) || ($_POST['v_backup_username'] != $v_backup_username) || ($_POST['v_backup_password'] != $v_backup_password) || ($_POST['v_backup_bpath'] != $v_backup_bpath)){ + $v_backup_host = escapeshellarg($_POST['v_backup_host']); + $v_backup_type = escapeshellarg($_POST['v_backup_type']); + $v_backup_username = escapeshellarg($_POST['v_backup_username']); + $v_backup_password = escapeshellarg($_POST['v_backup_password']); + $v_backup_bpath = escapeshellarg($_POST['v_backup_bpath']); + exec (VESTA_CMD."v-add-backup-host ".$v_backup_type." ".$v_backup_host." ".$v_backup_username." ".$v_backup_password." ".$v_backup_bpath, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + if (empty($_SESSION['error_msg'])) $v_backup_host = $_POST['v_backup_host']; + if (empty($_SESSION['error_msg'])) $v_backup_type = $_POST['v_backup_type']; + if (empty($_SESSION['error_msg'])) $v_backup_username = $_POST['v_backup_username']; + if (empty($_SESSION['error_msg'])) $v_backup_password = $_POST['v_backup_password']; + if (empty($_SESSION['error_msg'])) $v_backup_bpath = $_POST['v_backup_bpath']; + $v_backup_adv = 'yes'; + $v_backup_remote_adv = 'yes'; + } + } + } + + // Delete remote backup host + if (empty($_SESSION['error_msg'])) { + if ((empty($_POST['v_backup_host'])) && (!empty($v_backup_host))) { + exec (VESTA_CMD."v-delete-backup-host ". $v_backup_type, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + if (empty($_SESSION['error_msg'])) $v_backup_host = ''; + if (empty($_SESSION['error_msg'])) $v_backup_type = ''; + if (empty($_SESSION['error_msg'])) $v_backup_username = ''; + if (empty($_SESSION['error_msg'])) $v_backup_password = ''; + if (empty($_SESSION['error_msg'])) $v_backup_bpath = ''; + $v_backup_adv = ''; + $v_backup_remote_adv = ''; + } + } + + + + // Delete WEB Domain SSL certificate + if ((!isset($_POST['v_web_ssl_domain_checkbox'])) && (!empty($_SESSION['VESTA_CERTIFICATE'])) && (empty($_SESSION['error_msg']))) { + unset($_SESSION['VESTA_CERTIFICATE']); + exec (VESTA_CMD."v-delete-sys-vesta-ssl", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + + // Updating WEB Domain SSL certificate + if ((isset($_POST['v_web_ssl_domain_checkbox'])) && (isset($_POST['v_web_ssl_domain'])) && (empty($_SESSION['error_msg']))) { + + if ((!empty($_POST['v_web_ssl_domain'])) && ($_POST['v_web_ssl_domain'] != $_SESSION['VESTA_CERTIFICATE'])) { + $v_web_ssl_str = explode(":", $_POST['v_web_ssl_domain']); + $v_web_ssl_user = escapeshellarg($v_web_ssl_str[0]); + $v_web_ssl_domain = escapeshellarg($v_web_ssl_str[1]); + exec (VESTA_CMD."v-add-sys-vesta-ssl ".$v_web_ssl_user." ".$v_web_ssl_domain, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + + if (empty($_SESSION['error_msg'])) { + $_SESSION['VESTA_CERTIFICATE'] = $_POST['v_web_ssl_domain']; + + // List SSL certificate info + exec (VESTA_CMD."v-list-sys-vesta-ssl json", $output, $return_var); + $v_sys_ssl_str = json_decode(implode('', $output), true); + unset($output); + $v_sys_ssl_crt = $v_sys_ssl_str['VESTA']['CRT']; + $v_sys_ssl_key = $v_sys_ssl_str['VESTA']['KEY']; + $v_sys_ssl_ca = $v_sys_ssl_str['VESTA']['CA']; + $v_sys_ssl_subject = $v_sys_ssl_str['VESTA']['SUBJECT']; + $v_sys_ssl_aliases = $v_sys_ssl_str['VESTA']['ALIASES']; + $v_sys_ssl_not_before = $v_sys_ssl_str['VESTA']['NOT_BEFORE']; + $v_sys_ssl_not_after = $v_sys_ssl_str['VESTA']['NOT_AFTER']; + $v_sys_ssl_signature = $v_sys_ssl_str['VESTA']['SIGNATURE']; + $v_sys_ssl_pub_key = $v_sys_ssl_str['VESTA']['PUB_KEY']; + $v_sys_ssl_issuer = $v_sys_ssl_str['VESTA']['ISSUER']; + } + } + } + + + // Update SSL certificate + if ((!empty($_POST['v_sys_ssl_crt'])) && (empty($_POST['v_web_ssl_domain'])) && (empty($_SESSION['error_msg']))) { + if (($v_sys_ssl_crt != str_replace("\r\n", "\n", $_POST['v_sys_ssl_crt'])) || ($v_sys_ssl_key != str_replace("\r\n", "\n", $_POST['v_sys_ssl_key']))) { + exec ('mktemp -d', $mktemp_output, $return_var); + $tmpdir = $mktemp_output[0]; + + // Certificate + if (!empty($_POST['v_sys_ssl_crt'])) { + $fp = fopen($tmpdir."/certificate.crt", 'w'); + fwrite($fp, str_replace("\r\n", "\n", $_POST['v_sys_ssl_crt'])); + fwrite($fp, "\n"); + fclose($fp); + } + + // Key + if (!empty($_POST['v_sys_ssl_key'])) { + $fp = fopen($tmpdir."/certificate.key", 'w'); + fwrite($fp, str_replace("\r\n", "\n", $_POST['v_sys_ssl_key'])); + fwrite($fp, "\n"); + fclose($fp); + } + + exec (VESTA_CMD."v-change-sys-vesta-ssl ".$tmpdir, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + + if (empty($_SESSION['error_msg'])) { + // List ssl certificate info + exec (VESTA_CMD."v-list-sys-vesta-ssl json", $output, $return_var); + $v_sys_ssl_str = json_decode(implode('', $output), true); + unset($output); + $v_sys_ssl_crt = $v_sys_ssl_str['VESTA']['CRT']; + $v_sys_ssl_key = $v_sys_ssl_str['VESTA']['KEY']; + $v_sys_ssl_ca = $v_sys_ssl_str['VESTA']['CA']; + $v_sys_ssl_subject = $v_sys_ssl_str['VESTA']['SUBJECT']; + $v_sys_ssl_aliases = $v_sys_ssl_str['VESTA']['ALIASES']; + $v_sys_ssl_not_before = $v_sys_ssl_str['VESTA']['NOT_BEFORE']; + $v_sys_ssl_not_after = $v_sys_ssl_str['VESTA']['NOT_AFTER']; + $v_sys_ssl_signature = $v_sys_ssl_str['VESTA']['SIGNATURE']; + $v_sys_ssl_pub_key = $v_sys_ssl_str['VESTA']['PUB_KEY']; + $v_sys_ssl_issuer = $v_sys_ssl_str['VESTA']['ISSUER']; + } + } + } + + // Flush field values on success + if (empty($_SESSION['error_msg'])) { + $_SESSION['ok_msg'] = __('Changes has been saved.'); + } + + // activating sftp licence + if (empty($_SESSION['error_msg'])) { + if($_SESSION['SFTPJAIL_KEY'] != $_POST['v_sftp_licence'] && $_POST['v_sftp'] == 'yes'){ + $module = 'sftpjail'; + $licence_key = escapeshellarg($_POST['v_sftp_licence']); + exec (VESTA_CMD."v-activate-vesta-license ".$module." ".$licence_key, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + if (empty($_SESSION['error_msg'])) { + $_SESSION['ok_msg'] = __('Licence Activated'); + $_SESSION['SFTPJAIL_KEY'] = $_POST['v_sftp_licence']; + } + } + } + + // cancel sftp licence + if (empty($_SESSION['error_msg'])) { + if($_POST['v_sftp'] == 'cancel' && $_SESSION['SFTPJAIL_KEY']){ + $module = 'sftpjail'; + $licence_key = escapeshellarg($_SESSION['SFTPJAIL_KEY']); + exec (VESTA_CMD."v-deactivate-vesta-license ".$module." ".$licence_key, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + if (empty($_SESSION['error_msg'])) { + $_SESSION['ok_msg'] = __('Licence Deactivated'); + unset($_SESSION['SFTPJAIL_KEY']); + } + } + } + + // activating filemanager licence + if (empty($_SESSION['error_msg'])) { + if($_SESSION['FILEMANAGER_KEY'] != $_POST['v_filemanager_licence'] && $_POST['v_filemanager'] == 'yes'){ + $module = 'filemanager'; + $licence_key = escapeshellarg($_POST['v_filemanager_licence']); + exec (VESTA_CMD."v-activate-vesta-license ".$module." ".$licence_key, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + if (empty($_SESSION['error_msg'])) { + $_SESSION['ok_msg'] = __('Licence Activated'); + $_SESSION['FILEMANAGER_KEY'] = $_POST['v_filemanager_licence']; + } + } + } + + // cancel filemanager licence + if (empty($_SESSION['error_msg'])) { + if($_POST['v_filemanager'] == 'cancel' && $_SESSION['FILEMANAGER_KEY']){ + $module = 'filemanager'; + $licence_key = escapeshellarg($_SESSION['FILEMANAGER_KEY']); + exec (VESTA_CMD."v-deactivate-vesta-license ".$module." ".$licence_key, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + if (empty($_SESSION['error_msg'])) { + $_SESSION['ok_msg'] = __('Licence Deactivated'); + unset($_SESSION['FILEMANAGER_KEY']); + } + } + } + + // activating softaculous + if (empty($_SESSION['error_msg'])) { + if($_SESSION['SOFTACULOUS'] != $_POST['v_softaculous'] && $_POST['v_softaculous'] == 'yes'){ + exec (VESTA_CMD."v-add-vesta-softaculous WEB", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + if (empty($_SESSION['error_msg'])) { + $_SESSION['ok_msg'] = __('Softaculous Activated'); + $_SESSION['SOFTACULOUS'] = 'yes'; + } + } + } + + // disable softaculous + if (empty($_SESSION['error_msg'])) { + if($_SESSION['SOFTACULOUS'] != $_POST['v_softaculous'] && $_POST['v_softaculous'] == 'no'){ + exec (VESTA_CMD."v-delete-vesta-softaculous", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + if (empty($_SESSION['error_msg'])) { + $_SESSION['ok_msg'] = __('Softaculous Disabled'); + $_SESSION['SOFTACULOUS'] = ''; + } + } + } + +} + +// Check system configuration +exec (VESTA_CMD . "v-list-sys-config json", $output, $return_var); +$data = json_decode(implode('', $output), true); +unset($output); + +$sys_arr = $data['config']; +foreach ($sys_arr as $key => $value) { + $_SESSION[$key] = $value; +} + + +// Render page +// render_page($user, $TAB, 'edit_server'); + +$result = array( + 'hostname' => $v_hostname, + 'timezones' => $v_timezones, + 'timezone' => $v_timezone, + 'languages' => $languages, + 'backup_adv' => $v_backup_adv, + 'backup_remote_adv' => $v_backup_remote_adv, + 'language' => $_SESSION['LANGUAGE'], + 'proxy_system' => $_SESSION['PROXY_SYSTEM'], + 'mail_system' => $_SESSION['MAIL_SYSTEM'], + 'antivirus_system' => $_SESSION['ANTIVIRUS_SYSTEM'], + 'antispam_system' => $_SESSION['ANTISPAM_SYSTEM'], + 'mail_url' => $_SESSION['MAIL_URL'], + 'pgsql_url' => $_SESSION['DB_PGA_URL'], + 'mail_certificate' => $_SESSION['MAIL_CERTIFICATE'], + 'db_pma_url' => $_SESSION['DB_PMA_URL'], + 'dns_system' => $_SESSION['DNS_SYSTEM'], + 'web_system' => $_SESSION['WEB_SYSTEM'], + 'softaculous' => $_SESSION['SOFTACULOUS'], + 'firewall_system' => $_SESSION['FIREWALL_SYSTEM'], + 'web_backend' => $_SESSION['WEB_BACKEND'], + 'version' => $_SESSION['VERSION'], + 'http_host' => $_SERVER['HTTP_HOST'], + 'fm_key' => $_SESSION['FILEMANAGER_KEY'], + 'fm_license_key' => $_GET['filemanager_licence_key'], + 'disk_quota' => $_SESSION['DISK_QUOTA'], + 'web_backend_pool' => $_SESSION['WEB_BACKEND_POOL'], + 'sftpjail_key' => $_SESSION['SFTPJAIL_KEY'], + 'lead' => $_GET['lead'] == 'sftp', + 'licence_key' => $_GET['sftp_licence_key'] != '' ? $_GET['sftp_licence_key'] : $_SESSION['SFTPJAIL_KEY'], + 'fm_licence_key_option' => $_GET['filemanager_licence_key'] != '' ? $_GET['filemanager_licence_key'] : $_SESSION['FILEMANAGER_KEY'], + 'vesta_certificate' => $_SESSION['VESTA_CERTIFICATE'], + 'yes_no_options' => [ __('no'), __('yes') ], + 'dns_cluster_options' => [ __('no'), __('yes') ], + 'postgre_sql_options' => [ __('no'), __('yes') ], + 'mysql_support_options' => [ __('no'), __('yes') ], + 'dns_cluster' => $dns_cluster, + 'v_dns_cluster' => $v_dns_cluster, + 'db_hosts' => $db_hosts, + 'mysql_hosts' => $v_mysql_hosts, + 'mysql' => $mysql, + 'pgsql_hosts' => $v_pgsql_hosts, + 'pgsql' => $v_pgsql, + 'protocols' => [ __('ftp'), __('sftp') ], + 'backup_dir' => $v_backup_dir, + 'backup_gzip' => $v_backup_gzip, + 'backup_types' => $backup_types, + 'backup' => $v_backup, + 'remote_backup' => $v_remote_backup, + 'backup_host' => $v_backup_host, + 'backup_type' => $v_backup_type, + 'backup_username' => $v_backup_username, + 'backup_password' => $v_backup_password, + 'backup_port' => $v_backup_port, + 'backup_bpath' => $v_backup_bpath, + 'ssl_domains' => $v_ssl_domains, + 'sys_ssl_crt' => $v_sys_ssl_str['VESTA']['CRT'], + 'sys_ssl_key' => $v_sys_ssl_str['VESTA']['KEY'], + 'sys_ssl_ca' => $v_sys_ssl_str['VESTA']['CA'], + 'sys_ssl_subject' => $v_sys_ssl_str['VESTA']['SUBJECT'], + 'sys_ssl_aliases' => $v_sys_ssl_str['VESTA']['ALIASES'], + 'sys_ssl_not_before' => $v_sys_ssl_str['VESTA']['NOT_BEFORE'], + 'sys_ssl_not_after' => $v_sys_ssl_str['VESTA']['NOT_AFTER'], + 'sys_ssl_signature' => $v_sys_ssl_str['VESTA']['SIGNATURE'], + 'sys_ssl_pub_key' => $v_sys_ssl_str['VESTA']['PUB_KEY'], + 'sys_ssl_issuer' => $v_sys_ssl_str['VESTA']['ISSUER'], + 'mail_ssl_crt' => $v_mail_ssl_str['MAIL']['CRT'], + 'mail_ssl_key' => $v_mail_ssl_str['MAIL']['KEY'], + 'mail_ssl_ca' => $v_mail_ssl_str['MAIL']['CA'], + 'mail_ssl_subject' => $v_mail_ssl_str['MAIL']['SUBJECT'], + 'mail_ssl_aliases' => $v_mail_ssl_str['MAIL']['ALIASES'], + 'mail_ssl_not_before' => $v_mail_ssl_str['MAIL']['NOT_BEFORE'], + 'mail_ssl_not_after' => $v_mail_ssl_str['MAIL']['NOT_AFTER'], + 'mail_ssl_signature' => $v_mail_ssl_str['MAIL']['SIGNATURE'], + 'mail_ssl_pub_key' => $v_mail_ssl_str['MAIL']['PUB_KEY'], + 'mail_ssl_issuer' => $v_mail_ssl_str['MAIL']['ISSUER'], + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/edit/server/iptables/index.php b/web/api/v1/edit/server/iptables/index.php new file mode 100644 index 000000000..ff3875f4d --- /dev/null +++ b/web/api/v1/edit/server/iptables/index.php @@ -0,0 +1,16 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); \ No newline at end of file diff --git a/web/api/v1/edit/server/mariadb/index.php b/web/api/v1/edit/server/mariadb/index.php new file mode 100644 index 000000000..2766d14f1 --- /dev/null +++ b/web/api/v1/edit/server/mariadb/index.php @@ -0,0 +1,79 @@ + $v_max_user_connections, + 'max_connections' => $v_max_connections, + 'wait_timeout' => $v_wait_timeout, + 'interactive_timeout' => $v_interactive_timeout, + 'max_allowed_packet' => $v_max_allowed_packet, + 'config_path' => $v_config_path, + 'service_name' => $v_service_name, + 'config' => $v_config, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); \ No newline at end of file diff --git a/web/api/v1/edit/server/mysql/index.php b/web/api/v1/edit/server/mysql/index.php new file mode 100644 index 000000000..bbf15b682 --- /dev/null +++ b/web/api/v1/edit/server/mysql/index.php @@ -0,0 +1,79 @@ + $v_max_user_connections, + 'max_connections' => $v_max_connections, + 'wait_timeout' => $v_wait_timeout, + 'interactive_timeout' => $v_interactive_timeout, + 'max_allowed_packet' => $v_max_allowed_packet, + 'config_path' => $v_config_path, + 'service_name' => $v_service_name, + 'config' => $v_config, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/edit/server/php/index.php b/web/api/v1/edit/server/php/index.php new file mode 100644 index 000000000..4ad60e1bb --- /dev/null +++ b/web/api/v1/edit/server/php/index.php @@ -0,0 +1,82 @@ + $data['CONFIG']['memory_limit'], + 'max_execution_time' => $data['CONFIG']['max_execution_time'], + 'max_input_time' => $data['CONFIG']['max_input_time'], + 'upload_max_filesize' => $data['CONFIG']['upload_max_filesize'], + 'post_max_size' => $data['CONFIG']['post_max_size'], + 'display_errors' => $data['CONFIG']['display_errors'], + 'error_reporting' => $data['CONFIG']['error_reporting'], + 'config_path' => $data['CONFIG']['config_path'], + 'web_system' => $_SESSION['WEB_SYSTEM'], + 'config' => $v_config, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/edit/server/proftpd/index.php b/web/api/v1/edit/server/proftpd/index.php new file mode 100644 index 000000000..2f7c4d1e1 --- /dev/null +++ b/web/api/v1/edit/server/proftpd/index.php @@ -0,0 +1,65 @@ + $v_config_path, + 'service_name' => $v_service_name, + 'config' => $v_config, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); \ No newline at end of file diff --git a/web/api/v1/edit/server/vsftpd/index.php b/web/api/v1/edit/server/vsftpd/index.php new file mode 100644 index 000000000..83b10b703 --- /dev/null +++ b/web/api/v1/edit/server/vsftpd/index.php @@ -0,0 +1,65 @@ + $v_config_path, + 'service_name' => $v_service_name, + 'config' => $v_config, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); \ No newline at end of file diff --git a/web/api/v1/edit/user/index.php b/web/api/v1/edit/user/index.php new file mode 100644 index 000000000..d2bf2733f --- /dev/null +++ b/web/api/v1/edit/user/index.php @@ -0,0 +1,218 @@ + '', + 'email' => $data[$v_username]['CONTACT'], + 'package' => $data[$v_username]['PACKAGE'], + 'language' => $data[$v_username]['LANGUAGE'], + 'fname' => $data[$v_username]['FNAME'], + 'lname' => $data[$v_username]['LNAME'], + 'shell' => $data[$v_username]['SHELL'], + 'nameservers' => $nameservers, + 'ns1' => $nameservers[0], + 'ns2' => $nameservers[1], + 'ns3' => $nameservers[2], + 'ns4' => $nameservers[3], + 'ns5' => $nameservers[4], + 'ns6' => $nameservers[5], + 'ns7' => $nameservers[6], + 'ns8' => $nameservers[7], + 'suspended' => $data[$v_username]['SUSPENDED'], + 'status' => $v_status, + 'time' => $data[$v_username]['TIME'], + 'date' => $data[$v_username]['DATE'], + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'], + 'packages' => $packages, + 'languages' => $languages, + 'shells' => $shells +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/edit/web/index.php b/web/api/v1/edit/web/index.php new file mode 100644 index 000000000..eb880edf6 --- /dev/null +++ b/web/api/v1/edit/web/index.php @@ -0,0 +1,810 @@ + $error) { + if ( $i == 0 ) { + $error_msg = $error; + } else { + $error_msg = $error_msg.", ".$error; + } + } + $_SESSION['error_msg'] = __('Field "%s" can not be blank.',$error_msg); + } else { + exec ('mktemp -d', $mktemp_output, $return_var); + $tmpdir = $mktemp_output[0]; + + // Certificate + if (!empty($_POST['v_ssl_crt'])) { + $fp = fopen($tmpdir."/".$_POST['v_domain'].".crt", 'w'); + fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_crt'])); + fclose($fp); + } + + // Key + if (!empty($_POST['v_ssl_key'])) { + $fp = fopen($tmpdir."/".$_POST['v_domain'].".key", 'w'); + fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_key'])); + fclose($fp); + } + + // CA + if (!empty($_POST['v_ssl_ca'])) { + $fp = fopen($tmpdir."/".$_POST['v_domain'].".ca", 'w'); + fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_ca'])); + fclose($fp); + } + exec (VESTA_CMD."v-add-web-domain-ssl ".$user." ".$v_domain." ".$tmpdir." ".$v_ssl_home." no", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + $v_ssl = 'yes'; + $restart_web = 'yes'; + $restart_proxy = 'yes'; + + exec (VESTA_CMD."v-list-web-domain-ssl ".$user." ".$v_domain." json", $output, $return_var); + $ssl_str = json_decode(implode('', $output), true); + unset($output); + $v_ssl_crt = $ssl_str[$_POST['v_domain']]['CRT']; + $v_ssl_key = $ssl_str[$_POST['v_domain']]['KEY']; + $v_ssl_ca = $ssl_str[$_POST['v_domain']]['CA']; + $v_ssl_subject = $ssl_str[$_POST['v_domain']]['SUBJECT']; + $v_ssl_aliases = $ssl_str[$_POST['v_domain']]['ALIASES']; + $v_ssl_not_before = $ssl_str[$_POST['v_domain']]['NOT_BEFORE']; + $v_ssl_not_after = $ssl_str[$_POST['v_domain']]['NOT_AFTER']; + $v_ssl_signature = $ssl_str[$_POST['v_domain']]['SIGNATURE']; + $v_ssl_pub_key = $ssl_str[$_POST['v_domain']]['PUB_KEY']; + $v_ssl_issuer = $ssl_str[$_POST['v_domain']]['ISSUER']; + + // Cleanup certificate tempfiles + if (!empty($_POST['v_ssl_crt'])) unlink($tmpdir."/".$_POST['v_domain'].".crt"); + if (!empty($_POST['v_ssl_key'])) unlink($tmpdir."/".$_POST['v_domain'].".key"); + if (!empty($_POST['v_ssl_ca'])) unlink($tmpdir."/".$_POST['v_domain'].".ca"); + rmdir($tmpdir); + } + } + + + + // Delete web stats + if ((!empty($v_stats)) && ($_POST['v_stats'] == 'none') && (empty($_SESSION['error_msg']))) { + exec (VESTA_CMD."v-delete-web-domain-stats ".$v_username." ".$v_domain, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + $v_stats = ''; + } + + // Change web stats engine + if ((!empty($v_stats)) && ($_POST['v_stats'] != $v_stats) && (empty($_SESSION['error_msg']))) { + $v_stats = escapeshellarg($_POST['v_stats']); + exec (VESTA_CMD."v-change-web-domain-stats ".$v_username." ".$v_domain." ".$v_stats, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + + // Add web stats + if ((empty($v_stats)) && ($_POST['v_stats'] != 'none') && (empty($_SESSION['error_msg']))) { + $v_stats = escapeshellarg($_POST['v_stats']); + exec (VESTA_CMD."v-add-web-domain-stats ".$v_username." ".$v_domain." ".$v_stats, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + + // Delete web stats authorization + if ((!empty($v_stats_user)) && (empty($_POST['v_stats_auth'])) && (empty($_SESSION['error_msg']))) { + exec (VESTA_CMD."v-delete-web-domain-stats-user ".$v_username." ".$v_domain, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + $v_stats_user = ''; + $v_stats_password = ''; + } + + // Change web stats user or password + if ((empty($v_stats_user)) && (!empty($_POST['v_stats_auth'])) && (empty($_SESSION['error_msg']))) { + if (empty($_POST['v_stats_user'])) $errors[] = __('stats username'); + if (!empty($errors[0])) { + foreach ($errors as $i => $error) { + if ( $i == 0 ) { + $error_msg = $error; + } else { + $error_msg = $error_msg.", ".$error; + } + } + $_SESSION['error_msg'] = __('Field "%s" can not be blank.',$error_msg); + } else { + $v_stats_user = escapeshellarg($_POST['v_stats_user']); + $v_stats_password = tempnam("/tmp","vst"); + $fp = fopen($v_stats_password, "w"); + fwrite($fp, $_POST['v_stats_password']."\n"); + fclose($fp); + exec (VESTA_CMD."v-add-web-domain-stats-user ".$v_username." ".$v_domain." ".$v_stats_user." ".$v_stats_password, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + unlink($v_stats_password); + $v_stats_password = escapeshellarg($_POST['v_stats_password']); + } + } + + // Add web stats authorization + if ((!empty($v_stats_user)) && (!empty($_POST['v_stats_auth'])) && (empty($_SESSION['error_msg']))) { + if (empty($_POST['v_stats_user'])) $errors[] = __('stats user'); + if (!empty($errors[0])) { + foreach ($errors as $i => $error) { + if ( $i == 0 ) { + $error_msg = $error; + } else { + $error_msg = $error_msg.", ".$error; + } + } + $_SESSION['error_msg'] = __('Field "%s" can not be blank.',$error_msg); + } + if (($v_stats_user != $_POST['v_stats_user']) || (!empty($_POST['v_stats_password'])) && (empty($_SESSION['error_msg']))) { + $v_stats_user = escapeshellarg($_POST['v_stats_user']); + $v_stats_password = tempnam("/tmp","vst"); + $fp = fopen($v_stats_password, "w"); + fwrite($fp, $_POST['v_stats_password']."\n"); + fclose($fp); + exec (VESTA_CMD."v-add-web-domain-stats-user ".$v_username." ".$v_domain." ".$v_stats_user." ".$v_stats_password, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + unlink($v_stats_password); + $v_stats_password = escapeshellarg($_POST['v_stats_password']); + } + } + + // Update ftp account + if (!empty($_POST['v_ftp_user'])) { + $v_ftp_users_updated = array(); + foreach ($_POST['v_ftp_user'] as $i => $v_ftp_user_data) { + if (empty($v_ftp_user_data['v_ftp_user'])) { + continue; + } + + $v_ftp_user_data['v_ftp_user'] = preg_replace("/^".$user."_/i", "", $v_ftp_user_data['v_ftp_user']); + if ($v_ftp_user_data['is_new'] == 1 && !empty($_POST['v_ftp'])) { + if ((!empty($v_ftp_user_data['v_ftp_email'])) && (!filter_var($v_ftp_user_data['v_ftp_email'], FILTER_VALIDATE_EMAIL))) $_SESSION['error_msg'] = __('Please enter valid email address.'); + if (empty($v_ftp_user_data['v_ftp_user'])) $errors[] = 'ftp user'; + if (!empty($errors[0])) { + foreach ($errors as $i => $error) { + if ( $i == 0 ) { + $error_msg = $error; + } else { + $error_msg = $error_msg.", ".$error; + } + } + $_SESSION['error_msg'] = __('Field "%s" can not be blank.',$error_msg); + } + + // Add ftp account + $v_ftp_username = $v_ftp_user_data['v_ftp_user']; + $v_ftp_username_full = $user . '_' . $v_ftp_user_data['v_ftp_user']; + $v_ftp_user = escapeshellarg($v_ftp_username); + $v_ftp_path = escapeshellarg(trim($v_ftp_user_data['v_ftp_path'])); + if (empty($_SESSION['error_msg'])) { + $v_ftp_password = tempnam("/tmp","vst"); + $fp = fopen($v_ftp_password, "w"); + fwrite($fp, $v_ftp_user_data['v_ftp_password']."\n"); + fclose($fp); + exec (VESTA_CMD."v-add-web-domain-ftp ".$v_username." ".$v_domain." ".$v_ftp_user." ".$v_ftp_password . " " . $v_ftp_path, $output, $return_var); + check_return_code($return_var,$output); + if ((!empty($v_ftp_user_data['v_ftp_email'])) && (empty($_SESSION['error_msg']))) { + $to = $v_ftp_user_data['v_ftp_email']; + $subject = __("FTP login credentials"); + $hostname = exec('hostname'); + $from = __('MAIL_FROM',$hostname); + $mailtext = __('FTP_ACCOUNT_READY',$_GET['domain'],$user,$v_ftp_username,$v_ftp_user_data['v_ftp_password']); + send_email($to, $subject, $mailtext, $from); + unset($v_ftp_email); + } + unset($output); + unlink($v_ftp_password); + $v_ftp_password = escapeshellarg($v_ftp_user_data['v_ftp_password']); + } + + if ($return_var == 0) { + $v_ftp_password = ""; + $v_ftp_user_data['is_new'] = 0; + } + else { + $v_ftp_user_data['is_new'] = 1; + } + + $v_ftp_users_updated[] = array( + 'is_new' => empty($_SESSION['error_msg']) ? 0 : 1, + 'v_ftp_user' => $v_ftp_username_full, + 'v_ftp_password' => $v_ftp_password, + 'v_ftp_path' => $v_ftp_user_data['v_ftp_path'], + 'v_ftp_email' => $v_ftp_user_data['v_ftp_email'], + 'v_ftp_pre_path' => $v_ftp_user_prepath + ); + + continue; + } + + // Delete FTP account + if ($v_ftp_user_data['delete'] == 1) { + $v_ftp_username = $user . '_' . $v_ftp_user_data['v_ftp_user']; + exec (VESTA_CMD."v-delete-web-domain-ftp ".$v_username." ".$v_domain." ".$v_ftp_username, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + + continue; + } + + if (!empty($_POST['v_ftp'])) { + if (empty($v_ftp_user_data['v_ftp_user'])) $errors[] = __('ftp user'); + if (!empty($errors[0])) { + foreach ($errors as $i => $error) { + if ( $i == 0 ) { + $error_msg = $error; + } else { + $error_msg = $error_msg.", ".$error; + } + } + $_SESSION['error_msg'] = __('Field "%s" can not be blank.',$error_msg); + } + + // Change FTP account path + $v_ftp_username_for_emailing = $v_ftp_user_data['v_ftp_user']; + $v_ftp_username = $user . '_' . $v_ftp_user_data['v_ftp_user']; //preg_replace("/^".$user."_/", "", $v_ftp_user_data['v_ftp_user']); + $v_ftp_username = escapeshellarg($v_ftp_username); + $v_ftp_path = escapeshellarg(trim($v_ftp_user_data['v_ftp_path'])); + if(escapeshellarg(trim($v_ftp_user_data['v_ftp_path_prev'])) != $v_ftp_path) { + exec (VESTA_CMD."v-change-web-domain-ftp-path ".$v_username." ".$v_domain." ".$v_ftp_username." ".$v_ftp_path, $output, $return_var); + } + + // Change FTP account password + if (!empty($v_ftp_user_data['v_ftp_password'])) { + $v_ftp_password = tempnam("/tmp","vst"); + $fp = fopen($v_ftp_password, "w"); + fwrite($fp, $v_ftp_user_data['v_ftp_password']."\n"); + fclose($fp); + exec (VESTA_CMD."v-change-web-domain-ftp-password ".$v_username." ".$v_domain." ".$v_ftp_username." ".$v_ftp_password, $output, $return_var); + unlink($v_ftp_password); + + $to = $v_ftp_user_data['v_ftp_email']; + $subject = __("FTP login credentials"); + $hostname = exec('hostname'); + $from = __('MAIL_FROM',$hostname); + $mailtext = __('FTP_ACCOUNT_READY',$_GET['domain'],$user,$v_ftp_username_for_emailing,$v_ftp_user_data['v_ftp_password']); + send_email($to, $subject, $mailtext, $from); + unset($v_ftp_email); + } + check_return_code($return_var, $output); + unset($output); + + $v_ftp_users_updated[] = array( + 'is_new' => 0, + 'v_ftp_user' => $v_ftp_username, + 'v_ftp_password' => $v_ftp_user_data['v_ftp_password'], + 'v_ftp_path' => $v_ftp_user_data['v_ftp_path'], + 'v_ftp_email' => $v_ftp_user_data['v_ftp_email'], + 'v_ftp_pre_path' => $v_ftp_user_prepath + ); + } + } + } + + // Restart web server + if (!empty($restart_web) && (empty($_SESSION['error_msg']))) { + exec (VESTA_CMD."v-restart-web", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + + // Restart proxy server + if ((!empty($_SESSION['PROXY_SYSTEM'])) && !empty($restart_proxy) && (empty($_SESSION['error_msg']))) { + exec (VESTA_CMD."v-restart-proxy", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + + // Restart dns server + if (!empty($restart_dns) && (empty($_SESSION['error_msg']))) { + exec (VESTA_CMD."v-restart-dns", $output, $return_var); + check_return_code($return_var,$output); + unset($output); + } + + // Set success message + if (empty($_SESSION['error_msg'])) { + $_SESSION['ok_msg'] = __('Changes has been saved.'); + } + +} + + +$v_ftp_users_raw = explode(':', $v_ftp_user); +$v_ftp_users_paths_raw = explode(':', $data[$v_domain]['FTP_PATH']); +$v_ftp_users = array(); +foreach ($v_ftp_users_raw as $v_ftp_user_index => $v_ftp_user_val) { + if (empty($v_ftp_user_val)) { + continue; + } + $v_ftp_users[] = array( + 'is_new' => 0, + 'v_ftp_user' => $v_ftp_user_val, + 'v_ftp_password' => $v_ftp_password, + 'v_ftp_path' => (isset($v_ftp_users_paths_raw[$v_ftp_user_index]) ? $v_ftp_users_paths_raw[$v_ftp_user_index] : ''), + 'v_ftp_email' => $v_ftp_email, + 'v_ftp_pre_path' => $v_ftp_user_prepath + ); +} + +if (empty($v_ftp_users)) { + $v_ftp_user = null; + $v_ftp_users[] = array( + 'is_new' => 1, + 'v_ftp_user' => '', + 'v_ftp_password' => '', + 'v_ftp_path' => (isset($v_ftp_users_paths_raw[$v_ftp_user_index]) ? $v_ftp_users_paths_raw[$v_ftp_user_index] : ''), + 'v_ftp_email' => '', + 'v_ftp_pre_path' => $v_ftp_user_prepath + ); +} + +// set default pre path for newly created users +$v_ftp_pre_path_new_user = $v_ftp_user_prepath; +if (isset($v_ftp_users_updated)) { + $v_ftp_users = $v_ftp_users_updated; + if (empty($v_ftp_users_updated)) { + $v_ftp_user = null; + $v_ftp_users[] = array( + 'is_new' => 1, + 'v_ftp_user' => '', + 'v_ftp_password' => '', + 'v_ftp_path' => (isset($v_ftp_users_paths_raw[$v_ftp_user_index]) ? $v_ftp_users_paths_raw[$v_ftp_user_index] : ''), + 'v_ftp_email' => '', + 'v_ftp_pre_path' => $v_ftp_user_prepath + ); + } +} + +$result = array( + 'username' => $v_username, + 'domain' => $v_domain, + 'ip' => $v_ip, + 'template' => $v_template, + 'aliases' => $v_aliases, + 'valiases' => $valiases, + 'tpl' => $v_tpl, + 'elog' => $$v_elog, + 'ssl' => $v_ssl, + 'cgi' => $v_cgi, + 'ssl_crt' => $v_ssl_crt, + 'ssl_key' => $v_ssl_key, + 'ssl_ca' => $v_ssl_ca, + 'ssl_subject' => $v_ssl_subject, + 'ssl_aliases' => $v_ssl_aliases, + 'ssl_not_before' => $v_ssl_not_before, + 'ssl_not_after' => $v_ssl_not_after, + 'ssl_signature' => $v_ssl_signature, + 'ssl_pub_key' => $v_ssl_pub_key, + 'ssl_issuer' => $v_ssl_issuer, + 'letsencrypt' => $v_letsencrypt, + 'ssl_home' => $v_ssl_home, + 'backend_template' => $v_backend_template, + 'proxy' => $v_proxy, + 'proxy_template' => $v_proxy_template, + 'proxy_ext' => $v_proxy_ext, + 'v_stats' => $v_stats, + 'stats_user' => $v_stats_user, + 'ftp_user' => $v_ftp_user, + 'ftp_path' => $v_ftp_path, + 'ftp_password' => $v_ftp_password, + 'ftp_user_prepath' => $v_ftp_user_prepath, + 'ftp_email' => $v_ftp_email, + 'suspended' => $v_suspended, + 'status' => $v_status, + 'time' => $v_time, + 'date' => $v_date, + 'ips' => $ips, + 'prefixI18N' => __('Prefix will be automaticaly added to username',$user."_"), + 'ftp_users' => $v_ftp_users, + 'templates' => $templates, + 'backend_templates' => $backend_templates, + 'proxy_templates' => $proxy_templates, + 'stats' => $stats, + 'proxy_system' => $_SESSION['PROXY_SYSTEM'], + 'web_backend' => $_SESSION['WEB_BACKEND'], + 'web_system' => $_SESSION['WEB_SYSTEM'], + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/index.php b/web/api/v1/index.php new file mode 100644 index 000000000..80f72b99e --- /dev/null +++ b/web/api/v1/index.php @@ -0,0 +1,125 @@ + 0 ) { + echo 'Error: authentication failed'; + exit; + } + } else { + $key = '/usr/local/vesta/data/keys/' . basename($_POST['hash']); + if (file_exists($key) && is_file($key)) { + exec(VESTA_CMD ."v-check-api-key ".escapeshellarg($key)." ".$v_ip, $output, $return_var); + unset($output); + + // Check API answer + if ( $return_var > 0 ) { + echo 'Error: authentication failed'; + exit; + } + } else { + $return_var = 1; + } + } + + if ( $return_var > 0 ) { + echo 'Error: authentication failed'; + exit; + } + + // Prepare arguments + if (isset($_POST['cmd'])) $cmd = escapeshellarg($_POST['cmd']); + if (isset($_POST['arg1'])) $arg1 = escapeshellarg($_POST['arg1']); + if (isset($_POST['arg2'])) $arg2 = escapeshellarg($_POST['arg2']); + if (isset($_POST['arg3'])) $arg3 = escapeshellarg($_POST['arg3']); + if (isset($_POST['arg4'])) $arg4 = escapeshellarg($_POST['arg4']); + if (isset($_POST['arg5'])) $arg5 = escapeshellarg($_POST['arg5']); + if (isset($_POST['arg6'])) $arg6 = escapeshellarg($_POST['arg6']); + if (isset($_POST['arg7'])) $arg7 = escapeshellarg($_POST['arg7']); + if (isset($_POST['arg8'])) $arg8 = escapeshellarg($_POST['arg8']); + if (isset($_POST['arg9'])) $arg9 = escapeshellarg($_POST['arg9']); + + // Build query + $cmdquery = VESTA_CMD.$cmd." "; + if(!empty($arg1)){ + $cmdquery = $cmdquery.$arg1." "; } + if(!empty($arg2)){ + $cmdquery = $cmdquery.$arg2." "; } + if(!empty($arg3)){ + $cmdquery = $cmdquery.$arg3." "; } + if(!empty($arg4)){ + $cmdquery = $cmdquery.$arg4." "; } + if(!empty($arg5)){ + $cmdquery = $cmdquery.$arg5." "; } + if(!empty($arg6)){ + $cmdquery = $cmdquery.$arg6." "; } + if(!empty($arg7)){ + $cmdquery = $cmdquery.$arg7." "; } + if(!empty($arg8)){ + $cmdquery = $cmdquery.$arg8." "; } + if(!empty($arg9)){ + $cmdquery = $cmdquery.$arg9; } + + // Check command + if ($cmd == "'v-make-tmp-file'") { + // Used in DNS Cluster + $fp = fopen($_POST['arg2'], 'w'); + fwrite($fp, $_POST['arg1']."\n"); + fclose($fp); + $return_var = 0; + } else { + // Run normal cmd query + exec ($cmdquery, $output, $return_var); + } + + if ((!empty($_POST['returncode'])) && ($_POST['returncode'] == 'yes')) { + echo $return_var; + } else { + if (($return_var == 0) && (empty($output))) { + echo "OK"; + } else { + echo implode("\n",$output)."\n"; + } + } +} diff --git a/web/api/v1/languages.php b/web/api/v1/languages.php new file mode 100644 index 000000000..8332fc217 --- /dev/null +++ b/web/api/v1/languages.php @@ -0,0 +1,15 @@ + $value) { + ++$i; + $web = __('no'); + $dns = __('no'); + $mail = __('no'); + $db = __('no'); + $cron = __('no'); + $udir = __('no'); + + if (!empty($data[$key]['WEB'])) $web = __('yes'); + if (!empty($data[$key]['DNS'])) $dns = __('yes'); + if (!empty($data[$key]['MAIL'])) $mail = __('yes'); + if (!empty($data[$key]['DB'])) $db = __('yes'); + if (!empty($data[$key]['CRON'])) $cron = __('yes'); + if (!empty($data[$key]['UDIR'])) $udir = __('yes'); + + $data[$key]['delete_conf'] = __('DELETE_BACKUP_CONFIRMATION', $key); + + if (empty($_GET['backup'])){ + if ( $i == 1) { + $total_amount = __('1 archive'); + } else { + $total_amount = __('%s archives',$i); + } + } else { + $webAr = explode(',',$data[$backup]['WEB']); + $dnsAr = explode(',',$data[$backup]['DNS']); + $mailAr = explode(',',$data[$backup]['MAIL']); + $dbAr = explode(',',$data[$backup]['DB']); + $cronAr = explode(',',$data[$backup]['CRON']); + $udirAr = explode(',',$data[$backup]['UDIR']); + + $totalLength = count($webAr) + count($dnsAr) + count($mailAr) + count($dbAr) + count($cronAr) + count($udirAr); + + $total_amount = __('%s items', $totalLength); + } +} + +// Back uri +$_SESSION['back'] = $_SERVER['REQUEST_URI']; + +$object = (object)[]; +$object->data = $data; +$object->user = $user; +$object->panel = $panel; +$object->totalAmount = $total_amount; +$object->backup_fav = $_SESSION['favourites']['BACKUP']; + +print json_encode($object); \ No newline at end of file diff --git a/web/api/v1/list/cron/index.php b/web/api/v1/list/cron/index.php new file mode 100644 index 000000000..8502aaff4 --- /dev/null +++ b/web/api/v1/list/cron/index.php @@ -0,0 +1,59 @@ + $value) { + ++$i; + + if ($data[$key]['SUSPENDED'] == 'yes') { + $data[$key]['status'] = 'suspended'; + $data[$key]['suspend_action'] = 'unsuspend' ; + $data[$key]['suspend_conf'] = __('UNSUSPEND_CRON_CONFIRMATION', $key); + } else { + $data[$key]['status'] = 'active'; + $data[$key]['suspend_action'] = 'suspend'; + $data[$key]['suspend_conf'] = __('SUSPEND_CRON_CONFIRMATION', $key); + } + + $data[$key]['delete_conf'] = __('DELETE_CRON_CONFIRMATION', $key); + + if ( $i == 1) { + $total_amount = __('1 cron job'); + } else { + $total_amount = __('%s cron jobs', $i); + } +} + +// Back uri +$_SESSION['back'] = $_SERVER['REQUEST_URI']; + +$object = (object)[]; +$object->data = $data; +$object->user = $user; +$object->panel = $panel; +$object->totalAmount = $total_amount; +$object->cron_reports = $panel[$user]['CRON_REPORTS']; +$object->cron_fav = $_SESSION['favourites']['CRON']; + +print json_encode($object); \ No newline at end of file diff --git a/web/api/v1/list/directory/index.php b/web/api/v1/list/directory/index.php new file mode 100644 index 000000000..12919b140 --- /dev/null +++ b/web/api/v1/list/directory/index.php @@ -0,0 +1,35 @@ + 0 ) { + header("Location: /error/"); + exit; + } + $panel = json_decode(implode('', $output), true); +} + +$path_a = !empty($_REQUEST['dir_a']) ? htmlentities($_REQUEST['dir_a']) : ''; +$path_b = !empty($_REQUEST['dir_b']) ? htmlentities($_REQUEST['dir_b']) : ''; +$GLOBAL_JS = ''; +$GLOBAL_JS .= ''; +$GLOBAL_JS .= ''; + + +// Footer +include($_SERVER['DOCUMENT_ROOT'].'/templates/file_manager/main.php'); \ No newline at end of file diff --git a/web/api/v1/list/dns/index.php b/web/api/v1/list/dns/index.php new file mode 100644 index 000000000..766258aab --- /dev/null +++ b/web/api/v1/list/dns/index.php @@ -0,0 +1,72 @@ + $value) { + ++$i; + + if ( $i == 1) { + $total_amount = __('1 domain'); + } else { + $total_amount = __('%s domains', $i); + } + + if (!empty($_GET['domain'])){ + if ( $i == 1) { + $total_amount = __('1 record'); + } else { + $total_amount = __('%s records',$i); + } + + $data[$key]['delete_conf'] = __('DELETE_RECORD_CONFIRMATION', $data[$key]['RECORD']); + } else { + $data[$key]['delete_conf'] = __('DELETE_DOMAIN_CONFIRMATION', $key); + } + + if ($data[$key]['SUSPENDED'] == 'yes') { + $data[$key]['status'] = 'suspended'; + $data[$key]['suspend_action'] = 'unsuspend' ; + $data[$key]['suspend_conf'] = !empty($_GET['domain']) ? __('UNSUSPEND_RECORD_CONFIRMATION', $data[$key]['RECORD']) : __('UNSUSPEND_DOMAIN_CONFIRMATION', $key); + } else { + $data[$key]['status'] = 'active'; + $data[$key]['suspend_action'] = 'suspend'; + $data[$key]['suspend_conf'] = !empty($_GET['domain']) ? __('SUSPEND_RECORD_CONFIRMATION', $data[$key]['RECORD']) : __('SUSPEND_DOMAIN_CONFIRMATION', $key); + } + + $data[$key]['RECORDS_I18N'] = __('list records', $data[$key]['RECORDS']); +} + +// Back uri +$_SESSION['back'] = $_SERVER['REQUEST_URI']; + +$object = (object)[]; +$object->data = $data; +$object->user = $user; +$object->panel = $panel; +$object->totalAmount = $total_amount; +$object->dnsFav = $_SESSION['favourites']['DNS']; +$object->dnsRecordsFav = $_SESSION['favourites']['DNS_REC']; + +print json_encode($object); \ No newline at end of file diff --git a/web/api/v1/list/favorites/index.php b/web/api/v1/list/favorites/index.php new file mode 100644 index 000000000..0ddc4c0b0 --- /dev/null +++ b/web/api/v1/list/favorites/index.php @@ -0,0 +1,24 @@ + Favorites:
'; + + // Data + exec (VESTA_CMD."v-list-user-favourites ".$_SESSION['user']." json", $output, $return_var); + + +// print_r(implode('', $output)); +// $json = '{ "Favourites": { "USER": "", "WEB": "bulletfarm.com", "DNS": "", "MAIL": "", "DB": "", "CRON": "", "BACKUP": "", "IP": "", "PACKAGE": "", "FIREWALL": ""}}'; +// $data = json_decode($json, true); + + + $data = json_decode(implode('', $output).'}', true); + $data = array_reverse($data,true); + + print_r($data); +// $data = array_reverse($data,true); + +// $data = json_decode(implode('', $output), true); + +?> \ No newline at end of file diff --git a/web/api/v1/list/firewall/index.php b/web/api/v1/list/firewall/index.php new file mode 100644 index 000000000..35d6ecbdf --- /dev/null +++ b/web/api/v1/list/firewall/index.php @@ -0,0 +1,58 @@ + $value) { + ++$i; + + if ($data[$key]['SUSPENDED'] == 'yes') { + $data[$key]['status'] = 'suspended'; + $data[$key]['suspend_action'] = 'unsuspend' ; + $data[$key]['suspend_conf'] = __('UNSUSPEND_RULE_CONFIRMATION', $key); + } else { + $data[$key]['status'] = 'active'; + $data[$key]['suspend_action'] = 'suspend'; + $data[$key]['suspend_conf'] = __('SUSPEND_RULE_CONFIRMATION', $key); + } + + $data[$key]['delete_conf'] = __('DELETE_RULE_CONFIRMATION', $key); + + if ( $i == 1) { + $total_amount = __('1 rule'); + } else { + $total_amount = __('%s rules', $i); + } +} + +// Render page +// render_page($user, $TAB, 'list_firewall'); + +// Back uri +$_SESSION['back'] = $_SERVER['REQUEST_URI']; + +$object = (object)[]; +$object->data = $data; +$object->user = $user; +$object->panel = $panel; +$object->totalAmount = $total_amount; +$object->firewallExtension = !empty($_SESSION['FIREWALL_EXTENSION']); +$object->firewallFav = $_SESSION['favourites']['FIREWALL']; + +print json_encode($object); \ No newline at end of file diff --git a/web/api/v1/list/index.php b/web/api/v1/list/index.php new file mode 100644 index 000000000..b0d34a3f8 --- /dev/null +++ b/web/api/v1/list/index.php @@ -0,0 +1,8 @@ + diff --git a/web/api/v1/list/ip/index.php b/web/api/v1/list/ip/index.php new file mode 100644 index 000000000..899e57e5b --- /dev/null +++ b/web/api/v1/list/ip/index.php @@ -0,0 +1,47 @@ + $value) { + ++$i; + if ( $i == 1) { + $total_amount = __('1 IP address'); + } else { + $total_amount = __('%s IP addresses',$i); + } + + $data[$key]['delete_conf'] = __('DELETE_IP_CONFIRMATION', $key); +} + +// Render page +// render_page($user, $TAB, 'list_ip'); + +// Back uri +$_SESSION['back'] = $_SERVER['REQUEST_URI']; + +$object = (object)[]; +$object->data = $data; +$object->user = $user; +$object->panel = $panel; +$object->totalAmount = $total_amount; +$object->ipFav = $_SESSION['favourites']['IP']; + +print json_encode($object); \ No newline at end of file diff --git a/web/api/v1/list/log/index.php b/web/api/v1/list/log/index.php new file mode 100644 index 000000000..4eb96b0fd --- /dev/null +++ b/web/api/v1/list/log/index.php @@ -0,0 +1,36 @@ + $value) { + ++$i; + + if ( $i == 1) { + $total_amount = __('one log record'); + } else { + $total_amount = __('%s log records',$i); + } +} + +// Render page +// render_page($user, $TAB, 'list_log'); + +$object = (object)[]; +$object->data = $data; +$object->user = $user; +$object->panel = $panel; +$object->totalAmount = $total_amount; + +print json_encode($object); \ No newline at end of file diff --git a/web/api/v1/list/mail/index.php b/web/api/v1/list/mail/index.php new file mode 100644 index 000000000..8d6c59126 --- /dev/null +++ b/web/api/v1/list/mail/index.php @@ -0,0 +1,78 @@ + $value) { + ++$i; + + list($http_host, $port) = explode(':', $_SERVER["HTTP_HOST"].":"); + $webmail = "/webmail/"; + if (!empty($_SESSION['MAIL_URL'])) $webmail = $_SESSION['MAIL_URL']; + + if ($data[$key]['SUSPENDED'] == 'yes') { + $data[$key]['status'] = 'suspended'; + $data[$key]['suspend_action'] = 'unsuspend' ; + $data[$key]['suspend_conf'] = __('UNSUSPEND_DOMAIN_CONFIRMATION', $key); + } else { + $data[$key]['status'] = 'active'; + $data[$key]['suspend_action'] = 'suspend'; + $data[$key]['suspend_conf'] = __('SUSPEND_DOMAIN_CONFIRMATION', $key); + } + + if (empty($data[$key]['CATCHALL'])) { + $data[$key]['CATCHALL'] = '/dev/null'; + } + + if (empty($_GET['domain'])){ + $total_amount = $i === 1 ? __('1 domain') : __('%s domains', $i); + } else { + $total_amount = $i === 1 ? __('1 mail account') : __('%s mail account', $i); + } + + $data[$key]['list_accounts_button'] = __('list accounts', $data[$key]['ACCOUNTS']); + $data[$key]['delete_conf'] = __('DELETE_DOMAIN_CONFIRMATION', $key); +} + +// Back uri +$_SESSION['back'] = $_SERVER['REQUEST_URI']; + +$object = (object)[]; +$object->data = $data; +$object->user = $user; +$object->panel = $panel; +$object->webmail = $webmail; +$object->hostname = $hostname; +$object->totalAmount = $total_amount; +$object->mailFav = $favorites; + +print json_encode($object); \ No newline at end of file diff --git a/web/api/v1/list/notifications/index.php b/web/api/v1/list/notifications/index.php new file mode 100644 index 000000000..1190c5ce6 --- /dev/null +++ b/web/api/v1/list/notifications/index.php @@ -0,0 +1,25 @@ + $note){ + $note['ID'] = $key; + $notifications[$key] = $note; +} + +// Back uri +$_SESSION['back'] = $_SERVER['REQUEST_URI']; + +$result = array( + 'result' => empty($notifications) ? [] : $notifications +); + +echo json_encode($result); diff --git a/web/api/v1/list/package/index.php b/web/api/v1/list/package/index.php new file mode 100644 index 000000000..2fe581232 --- /dev/null +++ b/web/api/v1/list/package/index.php @@ -0,0 +1,45 @@ + $value) { + ++$i; + if ( $i == 1) { + $total_amount = __('1 package'); + } else { + $total_amount = __('%s packages',$i); + } + + $data[$key]['delete_conf'] = __('DELETE_PACKAGE_CONFIRMATION', $key); +} + +// Render page +// render_page($user, $TAB, 'list_packages'); + +// Back uri +$_SESSION['back'] = $_SERVER['REQUEST_URI']; + +$object = (object)[]; +$object->data = $data; +$object->user = $user; +$object->panel = $panel; +$object->totalAmount = $total_amount; +$object->packagesFav = $_SESSION['favourites']['PACKAGE']; + +print json_encode($object); \ No newline at end of file diff --git a/web/api/v1/list/server/index.php b/web/api/v1/list/server/index.php new file mode 100644 index 000000000..ee7b2b70e --- /dev/null +++ b/web/api/v1/list/server/index.php @@ -0,0 +1,102 @@ + $value) { + if ($data[$key]['STATE'] == 'running') { + $data[$key]['action_url'] = '/stop/service/?srv='.$key; + } else { + $data[$key]['action_url'] = '/start/service/?srv='.$key; + } +} + +// Render page +// render_page($user, $TAB, 'list_services'); + +// Back uri +$_SESSION['back'] = $_SERVER['REQUEST_URI']; + +$object = (object)[]; +$object->data = $data; +$object->user = $user; +$object->sys = $sys; +$object->service_log = $service_log; +$object->panel = $panel; + +print json_encode($object); \ No newline at end of file diff --git a/web/api/v1/list/stats/index.php b/web/api/v1/list/stats/index.php new file mode 100644 index 000000000..9053d9227 --- /dev/null +++ b/web/api/v1/list/stats/index.php @@ -0,0 +1,58 @@ + $value) { + ++$i; + + if ( $i == 1) { + $total_amount = __('1 month'); + } else { + $total_amount = __('%s months',$i); + } +} + +// Render page +// render_page($user, $TAB, 'list_stats'); + +// Back uri +$_SESSION['back'] = $_SERVER['REQUEST_URI']; + +$object = (object)[]; +$object->data = $data; +$object->user = $user; +$object->panel = $panel; +$object->users = $users; +$object->totalAmount = $total_amount; + +print json_encode($object); \ No newline at end of file diff --git a/web/api/v1/list/updates/index.php b/web/api/v1/list/updates/index.php new file mode 100644 index 000000000..7a4c7bdc3 --- /dev/null +++ b/web/api/v1/list/updates/index.php @@ -0,0 +1,36 @@ +data = $data; +$object->user = $user; +$object->autoUpdate = $autoupdate; +$object->panel = $panel; + +print json_encode($object); \ No newline at end of file diff --git a/web/api/v1/list/user/index.php b/web/api/v1/list/user/index.php new file mode 100644 index 000000000..eb202cd80 --- /dev/null +++ b/web/api/v1/list/user/index.php @@ -0,0 +1,56 @@ + $value) { + ++$i; + if ( $i == 1) { + $total_amount = __('1 account'); + } else { + $total_amount = __('%s accounts', $i); + } + + if ($data[$key]['SUSPENDED'] == 'yes') { + $spnd_action = 'unsuspend' ; + $spnd_confirmation = 'UNSUSPEND_USER_CONFIRMATION'; + $data[$key]['spnd_action'] = __($spnd_action); + $data[$key]['spnd_conf'] = __($spnd_confirmation, $key); + } else { + $spnd_action = 'suspend' ; + $spnd_confirmation = 'SUSPEND_USER_CONFIRMATION'; + $data[$key]['spnd_action'] = __($spnd_action); + $data[$key]['spnd_conf'] = __($spnd_confirmation, $key); + } + + $data[$key]['isChecked'] = false; + $data[$key]['delete_conf'] = __('DELETE_USER_CONFIRMATION', $key); +} + +$result = array( + 'data' => $data, + 'user' => $user, + 'panel' => $panel, + 'token' => $_SESSION['token'], + 'totalAmount' => $total_amount, + 'userFav' => $_SESSION['favourites']['USER'], +); + +echo json_encode($result); diff --git a/web/api/v1/list/web-log/index.php b/web/api/v1/list/web-log/index.php new file mode 100644 index 000000000..4f6823636 --- /dev/null +++ b/web/api/v1/list/web-log/index.php @@ -0,0 +1,29 @@ + $data + ) +); + +// if ($return_var == 0 ) { +// foreach($output as $file) { +// echo htmlentities($file) . "\n"; +// } +// } +// echo " \n\n\n"; diff --git a/web/api/v1/list/web/index.php b/web/api/v1/list/web/index.php new file mode 100644 index 000000000..834b79fed --- /dev/null +++ b/web/api/v1/list/web/index.php @@ -0,0 +1,110 @@ + $value) { + ++$i; + + if ($data[$key]['SUSPENDED'] == 'yes') { + $data[$key]['status'] = 'suspended'; + $data[$key]['spnd_action'] = 'unsuspend' ; + $data[$key]['spnd_confirmation'] = __('UNSUSPEND_DOMAIN_CONFIRMATION', $key); + } else { + $data[$key]['status'] = 'active'; + $data[$key]['spnd_action'] = 'suspend' ; + $data[$key]['spnd_confirmation'] = __('SUSPEND_DOMAIN_CONFIRMATION', $key); + } + + if (!empty($data[$key]['SSL_HOME'])) { + if ($data[$key]['SSL_HOME'] == 'same') { + $data[$key]['SSL_HOME'] = 'public_html'; + } else { + $data[$key]['SSL_HOME'] = 'public_shtml'; + } + } else { + $data[$key]['SSL_HOME'] = ''; + } + + $ftp_user='no'; + if (!empty($data[$key]['FTP_USER'])) { + $ftp_user=$data[$key]['FTP_USER']; + } + + if (strlen($ftp_user) > 24 ) { + $data[$key]['FTP_USER'] = str_replace(':', ', ', $ftp_user); + $data[$key]['FTP_USER'] = substr($ftp_user, 0, 24); + $data[$key]['FTP_USER'] = trim($ftp_user, ":"); + $data[$key]['FTP_USER'] = str_replace(':', ', ', $ftp_user); + $data[$key]['FTP_USER'] = $ftp_user.", ..."; + } else { + $data[$key]['FTP_USER'] = str_replace(':', ', ', $ftp_user); + } + + if (strlen($data[$key]['PROXY_EXT']) > 24 ) { + $data[$key]['PROXY_EXT'] = str_replace(',', ', ', $data[$key]['PROXY_EXT']); + $data[$key]['PROXY_EXT'] = substr($data[$key]['PROXY_EXT'], 0, 24); + $data[$key]['PROXY_EXT'] = trim($proxy_ext, ","); + $data[$key]['PROXY_EXT'] = str_replace(',', ', ', $proxy_ext); + $data[$key]['PROXY_EXT'] = $proxy_ext.", ..."; + } else { + $data[$key]['PROXY_EXT'] = ''; + $data[$key]['PROXY_EXT'] = str_replace(',', ', ', $data[$key]['PROXY_EXT']); + } + + $data[$key]['WEB_STATS'] = 'no'; + if (!empty($data[$key]['STATS'])) { + $data[$key]['WEB_STATS'] = $data[$key]['STATS']; + } + + $data[$key]['FTP'] = 'no'; + if (!empty($data[$key]['FTP_USER'])) { + $data[$key]['FTP'] = $data[$key]['FTP_USER']; + } + + $data[$key]['BACKEND_SUPPORT'] = 'no'; + if (!empty($data[$key]['BACKEND'])) { + $data[$key]['BACKEND_SUPPORT'] = 'yes'; + } + + $data[$key]['PROXY_SUPPORT'] = 'no'; + if (!empty($data[$key]['PROXY'])) { + $data[$key]['PROXY_SUPPORT'] = 'yes'; + } + + $data[$key]['delete_confirmation'] = __('DELETE_DOMAIN_CONFIRMATION', $key); + + if ( $i == 1) { + $total_amount = __('1 domain'); + } else { + $total_amount = __('%s domains',$i); + } +} + +$object = (object)[]; +$object->data = $data; +$object->user = $user; +$object->panel = $panel; +$object->totalAmount = $total_amount; +$object->webFav = $_SESSION['favourites']['WEB']; + +print json_encode($object); +?> + diff --git a/web/api/v1/login/index.php b/web/api/v1/login/index.php new file mode 100644 index 000000000..2524cfff7 --- /dev/null +++ b/web/api/v1/login/index.php @@ -0,0 +1,170 @@ + 0 ) { + $error = __('Invalid username or password'); + } else { + $user = $_POST['user']; + $password = $_POST['password']; + $salt = $pam[$user]['SALT']; + $method = $pam[$user]['METHOD']; + + if ($method == 'md5' ) { + $hash = crypt($password, '$1$'.$salt.'$'); + } + if ($method == 'sha-512' ) { + $hash = crypt($password, '$6$rounds=5000$'.$salt.'$'); + $hash = str_replace('$rounds=5000','',$hash); + } + if ($method == 'des' ) { + $hash = crypt($password, $salt); + } + + // Send hash via tmp file + $v_hash = exec('mktemp -p /tmp'); + $fp = fopen($v_hash, "w"); + fwrite($fp, $hash."\n"); + fclose($fp); + + // Check user hash + exec(VESTA_CMD ."v-check-user-hash ".$v_user." ".$v_hash." ".$v_ip, $output, $return_var); + unset($output); + + // Remove tmp file + unlink($v_hash); + + // Check API answer + if ( $return_var > 0 ) { + $error = __('Invalid username or password'); + } else { + + // Make root admin user + // if ($_POST['user'] == 'root') $v_user = 'admin'; + + // Get user speciefic parameters + exec (VESTA_CMD . "v-list-user ".$v_user." json", $output, $return_var); + $users = json_decode(implode('', $output), true); + + // Define session user + $_SESSION['user'] = key($users); + $v_user = $_SESSION['user']; + $_SESSION['root_dir'] = $users[$v_user]['HOME']; + + // Get user favorites + get_favourites(); + + // Define language + $output = ''; + exec (VESTA_CMD."v-list-sys-languages json", $output, $return_var); + $languages = json_decode(implode('', $output), true); + if (in_array($users[$v_user]['LANGUAGE'], $languages)){ + $_SESSION['language'] = $users[$v_user]['LANGUAGE']; + } else { + $_SESSION['language'] = 'en'; + } + + // Regenerate session id to prevent session fixation + session_regenerate_id(true); + } + } + } + } else { + $error = __('Invalid or missing token'); + } +} + +// Check system configuration +exec (VESTA_CMD . "v-list-sys-config json", $output, $return_var); +$data = json_decode(implode('', $output), true); +$sys_arr = $data['config']; +foreach ($sys_arr as $key => $value) { + $_SESSION[$key] = $value; +} + +// Detect language +if (empty($_SESSION['language'])) { + $output = ''; + exec (VESTA_CMD."v-list-sys-config json", $output, $return_var); + $config = json_decode(implode('', $output), true); + $lang = $config['config']['LANGUAGE']; + + $output = ''; + exec (VESTA_CMD."v-list-sys-languages json", $output, $return_var); + $languages = json_decode(implode('', $output), true); + if(in_array($lang, $languages)){ + $_SESSION['language'] = $lang; + } + else { + $_SESSION['language'] = 'en'; + } +} + +// Generate CSRF token +$token = bin2hex(file_get_contents('/dev/urandom', false, null, 0, 16)); +$_SESSION['token'] = $token; + +require_once($_SERVER['DOCUMENT_ROOT'].'/inc/i18n/'.$_SESSION['language'].'.php'); + +$v_user = empty($_SESSION['look']) ? $_SESSION['user'] : $_SESSION['look']; +top_panel($v_user, $TAB); + +$result = array( + 'token' => $_SESSION['token'], + 'panel' => $panel, + 'data' => $users[$v_user], + 'user' => $v_user, + 'session' => $_SESSION, + 'i18n' => $LANG[$_SESSION['language']], + 'error' => $error, +); + +echo json_encode($result); \ No newline at end of file diff --git a/web/api/v1/login/session.php b/web/api/v1/login/session.php new file mode 100644 index 000000000..84bf53812 --- /dev/null +++ b/web/api/v1/login/session.php @@ -0,0 +1,27 @@ + $panel, + 'data' => $panel[$v_user], + 'user' => $v_user, + 'token' => $_SESSION['token'], + 'i18n' => $LANG[$_SESSION['language']], + 'session' => $_SESSION, + 'error' => $_SESSION['error_msg'] +); + +echo json_encode($result); diff --git a/web/api/v1/logout/index.php b/web/api/v1/logout/index.php new file mode 100644 index 000000000..8dee694d7 --- /dev/null +++ b/web/api/v1/logout/index.php @@ -0,0 +1,34 @@ + $response, + 'userName' => $v_user, + 'token' => $_SESSION['token'], + 'user' => $users[$v_user], + 'panel' => $panel, + 'session' => $_SESSION, + 'i18n' => $LANG[$_SESSION['language']], + 'error' => $_SESSION['error_msg'] +); + +echo json_encode($result); +unset($_SESSION['error_msg']); diff --git a/web/api/v1/reset/index.php b/web/api/v1/reset/index.php new file mode 100644 index 000000000..ee4dcd8c8 --- /dev/null +++ b/web/api/v1/reset/index.php @@ -0,0 +1,93 @@ + 0 ) { + $ERROR = "".__('An internal error occurred').""; + } else { + $_SESSION['user'] = $_POST['user']; + // header("Location: /"); + // exit; + } + } else { + $ERROR = __('Invalid username or code'); + } + } else { + $ERROR = __('Invalid username or code'); + } + } else { + $ERROR = __('Passwords not match'); + } +} + +// Detect language +if (empty($_SESSION['language'])) $_SESSION['language'] = detect_user_language(); + +$v_user = empty($_SESSION['look']) ? $_SESSION['user'] : $_SESSION['look']; +top_panel($v_user, $TAB); + +$result = array( + 'error' => $ERROR, + 'token' => empty($ERROR) ? $_SESSION['token'] : '', + 'panel' => $panel, + 'user' => $v_user, + 'session' => $_SESSION, +); + +echo json_encode($result); diff --git a/web/api/v1/restart/service/index.php b/web/api/v1/restart/service/index.php new file mode 100644 index 000000000..de2e33b76 --- /dev/null +++ b/web/api/v1/restart/service/index.php @@ -0,0 +1,32 @@ +', $output); + if (empty($error)) $error = __('SERVICE_ACTION_FAILED',__('restart'),$v_service); + $_SESSION['error_msg'] = $error; + } + unset($output); +} + +echo json_encode(array('error' => $_SESSION['error_msg'])); +unset($_SESSION['error_msg']); diff --git a/web/api/v1/rrd/daily.rrd b/web/api/v1/rrd/daily.rrd new file mode 100644 index 000000000..e69de29bb diff --git a/web/api/v1/rrd/monthly.rrd b/web/api/v1/rrd/monthly.rrd new file mode 100644 index 000000000..e69de29bb diff --git a/web/api/v1/rrd/weekly.rrd b/web/api/v1/rrd/weekly.rrd new file mode 100644 index 000000000..e69de29bb diff --git a/web/api/v1/rrd/yearly.rrd b/web/api/v1/rrd/yearly.rrd new file mode 100644 index 000000000..e69de29bb diff --git a/web/api/v1/schedule/restore/index.php b/web/api/v1/schedule/restore/index.php new file mode 100644 index 000000000..6816fefb0 --- /dev/null +++ b/web/api/v1/schedule/restore/index.php @@ -0,0 +1,52 @@ +', $output); + if (empty($_SESSION['error_msg'])) { + $_SESSION['error_msg'] = __('Error: vesta did not return any output.'); + } + if ($return_var == 4) { + $_SESSION['error_msg'] = __('RESTORE_EXISTS'); + } +} + +$result = array( + 'ok' => $_SESSION['ok_msg'], + 'error' => $_SESSION['error_msg'], +); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/search/index.php b/web/api/v1/search/index.php new file mode 100644 index 000000000..e13e12ee4 --- /dev/null +++ b/web/api/v1/search/index.php @@ -0,0 +1,149 @@ + $value) { + ++$i; + + if ($value['SUSPENDED'] == 'yes') { + $data[$key]['status'] = __('suspended'); + $data[$key]['spnd_action'] = __('unsuspend'); + } else { + $data[$key]['status'] = __('active'); + $data[$key]['spnd_action'] = __('suspend'); + } + + if ($value['TYPE'] == 'db') { + $data[$key]['object'] = 'database'; + } else { + $data[$key]['object'] = strtolower($value['TYPE'] . ' ' . $value['KEY']); + } + + $uniq_id = $value['TYPE'] . '-'; + if ($value['KEY'] == 'ACCOUNT'){ + $uniq_id .= 'acc-'; + } + $uniq_id .= sha1($value['RESULT']); + $data[$key]['uniq_id'] = $uniq_id; + + if ($value['KEY'] == 'RECORD') { + $data[$key]['edit_link'] = '/edit/'.$value['TYPE'].'/?domain='.$value['PARENT'].'&record_id='.$value['LINK'].'&user='.$value['USER']; + } + if ($value['KEY'] == 'ACCOUNT') { + $data[$key]['edit_link'] = '/edit/'.$value['TYPE'].'/?domain='.$value['PARENT'].'&account='.$value['LINK'].'&user='.$value['USER']; + } + if ($value['KEY'] == 'JOB') { + $data[$key]['edit_link'] = '/edit/'.$value['TYPE'].'/?job='.$value['LINK'].'&user='.$value['USER']; + } + if ($value['KEY'] == 'DATABASE') { + $data[$key]['edit_link'] = '/edit/'.$value['TYPE'].'/?database='.$value['RESULT'].'&user='.$value['USER']; + } + if (($value['KEY'] != 'RECORD') && ($value['KEY'] != 'ACCOUNT') && ($value['KEY'] != 'JOB') && ($value['KEY'] != 'DATABASE') ) { + $data[$key]['edit_link'] = '/edit/'.$value['TYPE'].'/?'.strtolower($value['KEY']).'='.$value['RESULT'].'&user='.$value['USER']; + } + + if ($value['KEY'] == 'RECORD') { + $data[$key]['spnd_link'] = $spnd_action.'/'.$value['TYPE'].'/?domain='.$value['PARENT'].'&record_id='.$value['LINK'].'&user='.$value['USER']; + $data[$key]['spnd_confirmation'] = __('SUSPEND_RECORD_CONFIRMATION', $key); + } + if ($value['KEY'] == 'ACCOUNT') { + $data[$key]['spnd_link'] = $spnd_action.'/'.$value['TYPE'].'/?domain='.$value['PARENT'].'&account='.$value['LINK'].'&user='.$value['USER']; + $data[$key]['spnd_confirmation'] = __('SUSPEND_USER_CONFIRMATION', $key); + } + if ($value['KEY'] == 'JOB') { + $data[$key]['spnd_link'] = $spnd_action.'/'.$value['TYPE'].'/?job='.$value['LINK'].'&user='.$value['USER']; + $data[$key]['spnd_confirmation'] = __('SUSPEND_CRON_CONFIRMATION', $key); + } + if ($value['KEY'] == 'DATABASE') { + $data[$key]['spnd_link'] = $spnd_action.'/'.$value['TYPE'].'/?database='.$value['RESULT'].'&user='.$value['USER']; + $data[$key]['spnd_confirmation'] = __('SUSPEND_DATABASE_CONFIRMATION', $key); + } + if (($value['KEY'] != 'RECORD') && ($value['KEY'] != 'ACCOUNT') && ($value['KEY'] != 'JOB') && ($value['KEY'] != 'DATABASE') ) { + $data[$key]['spnd_link'] = $spnd_action.'/'.$value['TYPE'].'/?'.strtolower($value['KEY']).'='.$value['RESULT'].'&user='.$value['USER']; + $data[$key]['spnd_confirmation'] = __('SUSPEND_DOMAIN_CONFIRMATION', $key); + } + + if ($value['KEY'] == 'RECORD') { + $data[$key]['delete_link'] = '/delete/'.$value['TYPE'].'/?domain='.$value['PARENT'].'&record_id='.$value['LINK'].'&user='.$value['USER']; + $data[$key]['delete_confirmation'] = __('DELETE_RECORD_CONFIRMATION', $key); + } + if ($value['KEY'] == 'ACCOUNT') { + $data[$key]['delete_link'] = '/delete/'.$value['TYPE'].'/?domain='.$value['PARENT'].'&account='.$value['LINK'].'&user='.$value['USER']; + $data[$key]['delete_confirmation'] = __('DELETE_USER_CONFIRMATION', $key); + } + if ($value['KEY'] == 'JOB') { + $data[$key]['delete_link'] = '/delete/'.$value['TYPE'].'/?job='.$value['LINK'].'&user='.$value['USER']; + $data[$key]['delete_confirmation'] = __('DELETE_CRON_CONFIRMATION', $key); + } + if ($value['KEY'] == 'DATABASE') { + $data[$key]['delete_link'] = '/delete/'.$value['TYPE'].'/?database='.$value['RESULT'].'&user='.$value['USER']; + $data[$key]['delete_confirmation'] = __('DELETE_DATABASE_CONFIRMATION', $key); + } + if (($value['KEY'] != 'RECORD') && ($value['KEY'] != 'ACCOUNT') && ($value['KEY'] != 'JOB') && ($value['KEY'] != 'DATABASE') ) { + $data[$key]['delete_link'] = '/delete/'.$value['TYPE'].'/?'.strtolower($value['KEY']).'='.$value['RESULT'].'&user='.$value['USER']; + $data[$key]['delete_confirmation'] = __('DELETE_DOMAIN_CONFIRMATION', $key); + } + + if ($value['TYPE'] == 'user') { + if ($key == $user) { + $data[$key]['logout_link'] = '/logout'; + } else { + $data[$key]['login_as_link'] = '/login/?loginas='.$data[$key]['USER']; + } + + $data[$key]['spnd_confirmation'] = $value['SUSPENDED'] == 'yes' ? __('UNSUSPEND_USER_CONFIRMATION', $value['USER']) : __('SUSPEND_USER_CONFIRMATION', $value['USER']); + $data[$key]['delete_confirmation'] = __('DELETE_USER_CONFIRMATION', $value['USER']); + } + + $data[$key]['ALIAS'] = str_replace(',', ', ', $value['ALIAS']); + + $data[$key]['STARRED'] = 0; + if($_COOKIE[$uniq_id] == 1) { + $data[$key]['STARRED'] = 1; + } + + if ( $i == 1) { + $total = __('1 object'); + } else { + $total = __('%s objects',$i); + } +} + +$result = array( + 'data' => $data, + 'total' => isset($total) ? $total : __('%s objects', 0) +); + +echo json_encode($result); diff --git a/web/api/v1/start/service/index.php b/web/api/v1/start/service/index.php new file mode 100644 index 000000000..4cdb33417 --- /dev/null +++ b/web/api/v1/start/service/index.php @@ -0,0 +1,27 @@ +', $output); + if (empty($error)) $error = __('SERVICE_ACTION_FAILED',__('start'),$v_service);; + $_SESSION['error_srv'] = $error; + } + unset($output); +} + +echo json_encode(array('error' => $_SESSION['error_msg'])); +unset($_SESSION['error_msg']); diff --git a/web/api/v1/stop/service/index.php b/web/api/v1/stop/service/index.php new file mode 100644 index 000000000..cc0308eb0 --- /dev/null +++ b/web/api/v1/stop/service/index.php @@ -0,0 +1,31 @@ +', $output); + if (empty($error)) { + $error = __('SERVICE_ACTION_FAILED', __('stop'), $v_service); + } + + $_SESSION['error_srv'] = $error; + } + unset($output); +} + +echo json_encode(array('error' => $_SESSION['error_msg'])); +unset($_SESSION['error_msg']); diff --git a/web/api/v1/suspend/cron/index.php b/web/api/v1/suspend/cron/index.php new file mode 100644 index 000000000..1f1ff7f63 --- /dev/null +++ b/web/api/v1/suspend/cron/index.php @@ -0,0 +1,30 @@ + $_SESSION['error_msg'])); +unset($_SESSION['error_msg']); diff --git a/web/api/v1/suspend/db/index.php b/web/api/v1/suspend/db/index.php new file mode 100644 index 000000000..99ba32273 --- /dev/null +++ b/web/api/v1/suspend/db/index.php @@ -0,0 +1,32 @@ + $_SESSION['error_msg'])); +unset($_SESSION['error_msg']); diff --git a/web/api/v1/suspend/dns/index.php b/web/api/v1/suspend/dns/index.php new file mode 100644 index 000000000..20be390b6 --- /dev/null +++ b/web/api/v1/suspend/dns/index.php @@ -0,0 +1,43 @@ + $_SESSION['error_msg'])); +unset($_SESSION['error_msg']); diff --git a/web/api/v1/suspend/firewall/index.php b/web/api/v1/suspend/firewall/index.php new file mode 100644 index 000000000..3b5d2e809 --- /dev/null +++ b/web/api/v1/suspend/firewall/index.php @@ -0,0 +1,27 @@ + $_SESSION['error_msg'])); +unset($_SESSION['error_msg']); diff --git a/web/api/v1/suspend/mail/index.php b/web/api/v1/suspend/mail/index.php new file mode 100644 index 000000000..57c04e7cc --- /dev/null +++ b/web/api/v1/suspend/mail/index.php @@ -0,0 +1,43 @@ + $_SESSION['error_msg'])); +unset($_SESSION['error_msg']); diff --git a/web/api/v1/suspend/user/index.php b/web/api/v1/suspend/user/index.php new file mode 100644 index 000000000..801330f85 --- /dev/null +++ b/web/api/v1/suspend/user/index.php @@ -0,0 +1,27 @@ + $_SESSION['error_msg'])); +unset($_SESSION['error_msg']); diff --git a/web/api/v1/suspend/web/index.php b/web/api/v1/suspend/web/index.php new file mode 100644 index 000000000..a723c0ec5 --- /dev/null +++ b/web/api/v1/suspend/web/index.php @@ -0,0 +1,33 @@ + $_SESSION['error_msg'])); +unset($_SESSION['error_msg']); diff --git a/web/api/v1/unsuspend/cron/index.php b/web/api/v1/unsuspend/cron/index.php new file mode 100644 index 000000000..7be16ea4f --- /dev/null +++ b/web/api/v1/unsuspend/cron/index.php @@ -0,0 +1,33 @@ + $_SESSION['error_msg'])); +unset($_SESSION['error_msg']); diff --git a/web/api/v1/unsuspend/db/index.php b/web/api/v1/unsuspend/db/index.php new file mode 100644 index 000000000..9ebe01c34 --- /dev/null +++ b/web/api/v1/unsuspend/db/index.php @@ -0,0 +1,34 @@ + $_SESSION['error_msg'])); +unset($_SESSION['error_msg']); diff --git a/web/api/v1/unsuspend/dns/index.php b/web/api/v1/unsuspend/dns/index.php new file mode 100644 index 000000000..daf9a9911 --- /dev/null +++ b/web/api/v1/unsuspend/dns/index.php @@ -0,0 +1,52 @@ +', $output); + if (empty($error)) $error = __('Error: vesta did not return any output.'); + $_SESSION['error_msg'] = $error; + } + unset($output); +} + +// DNS record +if ((!empty($_GET['domain'])) && (!empty($_GET['record_id']))) { + $v_username = escapeshellarg($user); + $v_domain = escapeshellarg($_GET['domain']); + $v_record_id = escapeshellarg($_GET['record_id']); + exec (VESTA_CMD."v-unsuspend-dns-record ".$v_username." ".$v_domain." ".$v_record_id, $output, $return_var); + if ($return_var != 0) { + $error = implode('
', $output); + if (empty($error)) $error = __('Error: vesta did not return any output.'); + $_SESSION['error_msg'] = $error; + } + unset($output); +} + +echo json_encode(array('error' => $_SESSION['error_msg'])); +unset($_SESSION['error_msg']); diff --git a/web/api/v1/unsuspend/firewall/index.php b/web/api/v1/unsuspend/firewall/index.php new file mode 100644 index 000000000..100fe0d13 --- /dev/null +++ b/web/api/v1/unsuspend/firewall/index.php @@ -0,0 +1,28 @@ + $_SESSION['error_msg'])); +unset($_SESSION['error_msg']); diff --git a/web/api/v1/unsuspend/mail/index.php b/web/api/v1/unsuspend/mail/index.php new file mode 100644 index 000000000..3f7f6ad42 --- /dev/null +++ b/web/api/v1/unsuspend/mail/index.php @@ -0,0 +1,52 @@ +', $output); + if (empty($error)) $error = __('Error: vesta did not return any output.'); + $_SESSION['error_msg'] = $error; + } + unset($output); +} + +// Mail account +if ((!empty($_GET['domain'])) && (!empty($_GET['account']))) { + $v_username = escapeshellarg($user); + $v_domain = escapeshellarg($_GET['domain']); + $v_account = escapeshellarg($_GET['account']); + exec (VESTA_CMD."v-unsuspend-mail-account ".$v_username." ".$v_domain." ".$v_account, $output, $return_var); + if ($return_var != 0) { + $error = implode('
', $output); + if (empty($error)) $error = __('Error: vesta did not return any output.'); + $_SESSION['error_msg'] = $error; + } + unset($output); +} + +echo json_encode(array('error' => $_SESSION['error_msg'])); +unset($_SESSION['error_msg']); diff --git a/web/api/v1/unsuspend/user/index.php b/web/api/v1/unsuspend/user/index.php new file mode 100644 index 000000000..140e5564e --- /dev/null +++ b/web/api/v1/unsuspend/user/index.php @@ -0,0 +1,28 @@ + $_SESSION['error_msg'])); +unset($_SESSION['error_msg']); diff --git a/web/api/v1/unsuspend/web/index.php b/web/api/v1/unsuspend/web/index.php new file mode 100644 index 000000000..b95e9f7db --- /dev/null +++ b/web/api/v1/unsuspend/web/index.php @@ -0,0 +1,30 @@ + $_SESSION['error_msg'])); +unset($_SESSION['error_msg']); diff --git a/web/api/v1/update/vesta/index.php b/web/api/v1/update/vesta/index.php new file mode 100644 index 000000000..7a0e4b203 --- /dev/null +++ b/web/api/v1/update/vesta/index.php @@ -0,0 +1,29 @@ +', $output); + if (empty($error)) $error = 'Error: '.$v_pkg.' update failed'; + $_SESSION['error_msg'] = $error; + } + unset($output); +} + +echo json_encode(array('error' => $_SESSION['error_msg'])); +unset($_SESSION['error_msg']); diff --git a/web/api/v1/upload/UploadHandler.php b/web/api/v1/upload/UploadHandler.php new file mode 100644 index 000000000..aedd747ca --- /dev/null +++ b/web/api/v1/upload/UploadHandler.php @@ -0,0 +1,1404 @@ + 'The uploaded file exceeds the upload_max_filesize directive in php.ini', + 2 => 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form', + 3 => 'The uploaded file was only partially uploaded', + 4 => 'No file was uploaded', + 6 => 'Missing a temporary folder', + 7 => 'Failed to write file to disk', + 8 => 'A PHP extension stopped the file upload', + 'post_max_size' => 'The uploaded file exceeds the post_max_size directive in php.ini', + 'max_file_size' => 'File is too big', + 'min_file_size' => 'File is too small', + 'accept_file_types' => 'Filetype not allowed', + 'max_number_of_files' => 'Maximum number of files exceeded', + 'max_width' => 'Image exceeds maximum width', + 'min_width' => 'Image requires a minimum width', + 'max_height' => 'Image exceeds maximum height', + 'min_height' => 'Image requires a minimum height', + 'abort' => 'File upload aborted', + 'image_resize' => 'Failed to resize image' + ); + + protected $image_objects = array(); + + function __construct($options = null, $initialize = true, $error_messages = null) { + $this->options = array( + 'script_url' => $this->get_full_url().'/', + 'upload_dir' => dirname($this->get_server_var('SCRIPT_FILENAME')).'/files/', + 'upload_url' => $this->get_full_url().'/files/', + 'user_dirs' => false, + 'mkdir_mode' => 0755, + 'param_name' => 'files', + // Set the following option to 'POST', if your server does not support + // DELETE requests. This is a parameter sent to the client: + 'delete_type' => 'DELETE', + 'access_control_allow_origin' => '*', + 'access_control_allow_credentials' => false, + 'access_control_allow_methods' => array( + 'OPTIONS', + 'HEAD', + 'GET', + 'POST', + 'PUT', + 'PATCH', + 'DELETE' + ), + 'access_control_allow_headers' => array( + 'Content-Type', + 'Content-Range', + 'Content-Disposition' + ), + // Enable to provide file downloads via GET requests to the PHP script: + // 1. Set to 1 to download files via readfile method through PHP + // 2. Set to 2 to send a X-Sendfile header for lighttpd/Apache + // 3. Set to 3 to send a X-Accel-Redirect header for nginx + // If set to 2 or 3, adjust the upload_url option to the base path of + // the redirect parameter, e.g. '/files/'. + 'download_via_php' => false, + // Read files in chunks to avoid memory limits when download_via_php + // is enabled, set to 0 to disable chunked reading of files: + 'readfile_chunk_size' => 10 * 1024 * 1024, // 10 MiB + // Defines which files can be displayed inline when downloaded: + 'inline_file_types' => '/\.(gif|jpe?g|png)$/i', + // Defines which files (based on their names) are accepted for upload: + 'accept_file_types' => '/.+$/i', + // The php.ini settings upload_max_filesize and post_max_size + // take precedence over the following max_file_size setting: + 'max_file_size' => null, + 'min_file_size' => null, + // The maximum number of files for the upload directory: + 'max_number_of_files' => null, + // Defines which files are handled as image files: + 'image_file_types' => '/\.(gif|jpe?g|png)$/i', + // Use exif_imagetype on all files to correct file extensions: + 'correct_image_extensions' => false, + // Image resolution restrictions: + 'max_width' => null, + 'max_height' => null, + 'min_width' => 1, + 'min_height' => 1, + // Set the following option to false to enable resumable uploads: + 'discard_aborted_uploads' => true, + // Set to 0 to use the GD library to scale and orient images, + // set to 1 to use imagick (if installed, falls back to GD), + // set to 2 to use the ImageMagick convert binary directly: + 'image_library' => 1, + // Uncomment the following to define an array of resource limits + // for imagick: + /* + 'imagick_resource_limits' => array( + imagick::RESOURCETYPE_MAP => 32, + imagick::RESOURCETYPE_MEMORY => 32 + ), + */ + // Command or path for to the ImageMagick convert binary: + 'convert_bin' => 'convert', + // Uncomment the following to add parameters in front of each + // ImageMagick convert call (the limit constraints seem only + // to have an effect if put in front): + /* + 'convert_params' => '-limit memory 32MiB -limit map 32MiB', + */ + // Command or path for to the ImageMagick identify binary: + 'identify_bin' => 'identify', + 'image_versions' => array( + // The empty image version key defines options for the original image: + '' => array( + // Automatically rotate images based on EXIF meta data: + 'auto_orient' => true + ), + // Uncomment the following to create medium sized images: + /* + 'medium' => array( + 'max_width' => 800, + 'max_height' => 600 + ), + */ + 'thumbnail' => array( + // Uncomment the following to use a defined directory for the thumbnails + // instead of a subdirectory based on the version identifier. + // Make sure that this directory doesn't allow execution of files if you + // don't pose any restrictions on the type of uploaded files, e.g. by + // copying the .htaccess file from the files directory for Apache: + //'upload_dir' => dirname($this->get_server_var('SCRIPT_FILENAME')).'/thumb/', + //'upload_url' => $this->get_full_url().'/thumb/', + // Uncomment the following to force the max + // dimensions and e.g. create square thumbnails: + //'crop' => true, + 'max_width' => 80, + 'max_height' => 80 + ) + ) + ); + if ($options) { + $this->options = $options + $this->options; + } + if ($error_messages) { + $this->error_messages = $error_messages + $this->error_messages; + } + if ($initialize) { + $this->initialize(); + } + } + + protected function initialize() { + switch ($this->get_server_var('REQUEST_METHOD')) { + case 'OPTIONS': + case 'HEAD': + $this->head(); + break; + case 'GET': + $this->get(); + break; + case 'PATCH': + case 'PUT': + case 'POST': + $this->post(); + break; + case 'DELETE': + $this->delete(); + break; + default: + $this->header('HTTP/1.1 405 Method Not Allowed'); + } + } + + protected function get_full_url() { + $https = !empty($_SERVER['HTTPS']) && strcasecmp($_SERVER['HTTPS'], 'on') === 0 || + !empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && + strcasecmp($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') === 0; + return + ($https ? 'https://' : 'http://'). + (!empty($_SERVER['REMOTE_USER']) ? $_SERVER['REMOTE_USER'].'@' : ''). + (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : ($_SERVER['SERVER_NAME']. + ($https && $_SERVER['SERVER_PORT'] === 443 || + $_SERVER['SERVER_PORT'] === 80 ? '' : ':'.$_SERVER['SERVER_PORT']))). + substr($_SERVER['SCRIPT_NAME'],0, strrpos($_SERVER['SCRIPT_NAME'], '/')); + } + + protected function get_user_id() { + @session_start(); + return session_id(); + } + + protected function get_user_path() { + if ($this->options['user_dirs']) { + return $this->get_user_id().'/'; + } + return ''; + } + + protected function get_upload_path($file_name = null, $version = null) { + $relocate_directory = $_GET['dir']; + if (empty($relocate_directory)) { + $relocate_directory = '/home/admin/'; // fallback dir + } + if ($relocate_directory[strlen($relocate_directory) -1] != '/') { + $relocate_directory .= '/'; + } + $file_name = $file_name ? $file_name : ''; + if (empty($version)) { + $version_path = ''; + } else { + $version_dir = @$this->options['image_versions'][$version]['upload_dir']; + if ($version_dir) { + return $version_dir.$this->get_user_path().$file_name; + } + $version_path = $version.'/'; + } + //return $this->options['upload_dir'].$this->get_user_path() + // .$version_path.$file_name; + return $relocate_directory + .$version_path.$file_name; + } + + protected function get_query_separator($url) { + return strpos($url, '?') === false ? '?' : '&'; + } + + protected function get_download_url($file_name, $version = null, $direct = false) { + if (!$direct && $this->options['download_via_php']) { + $url = $this->options['script_url'] + .$this->get_query_separator($this->options['script_url']) + .$this->get_singular_param_name() + .'='.rawurlencode($file_name); + if ($version) { + $url .= '&version='.rawurlencode($version); + } + return $url.'&download=1'; + } + if (empty($version)) { + $version_path = ''; + } else { + $version_url = @$this->options['image_versions'][$version]['upload_url']; + if ($version_url) { + return $version_url.$this->get_user_path().rawurlencode($file_name); + } + $version_path = rawurlencode($version).'/'; + } + return $this->options['upload_url'].$this->get_user_path() + .$version_path.rawurlencode($file_name); + } + + protected function set_additional_file_properties($file) { + $file->deleteUrl = $this->options['script_url'] + .$this->get_query_separator($this->options['script_url']) + .$this->get_singular_param_name() + .'='.rawurlencode($file->name); + $file->deleteType = $this->options['delete_type']; + if ($file->deleteType !== 'DELETE') { + $file->deleteUrl .= '&_method=DELETE'; + } + if ($this->options['access_control_allow_credentials']) { + $file->deleteWithCredentials = true; + } + } + + // Fix for overflowing signed 32 bit integers, + // works for sizes up to 2^32-1 bytes (4 GiB - 1): + protected function fix_integer_overflow($size) { + if ($size < 0) { + $size += 2.0 * (PHP_INT_MAX + 1); + } + return $size; + } + + protected function get_file_size($file_path, $clear_stat_cache = false) { + if ($clear_stat_cache) { + if (version_compare(PHP_VERSION, '5.3.0') >= 0) { + clearstatcache(true, $file_path); + } else { + clearstatcache(); + } + } + + return $this->fix_integer_overflow(filesize($file_path)); + } + + protected function is_valid_file_object($file_name) { + $file_path = $this->get_upload_path($file_name); + if (is_file($file_path) && $file_name[0] !== '.') { + return true; + } + return false; + } + + protected function get_file_object($file_name) { + if ($this->is_valid_file_object($file_name)) { + $file = new \stdClass(); + $file->name = $file_name; + $file->size = $this->get_file_size( + $this->get_upload_path($file_name) + ); + $file->url = $this->get_download_url($file->name); + foreach($this->options['image_versions'] as $version => $options) { + if (!empty($version)) { + if (is_file($this->get_upload_path($file_name, $version))) { + $file->{$version.'Url'} = $this->get_download_url( + $file->name, + $version + ); + } + } + } + $this->set_additional_file_properties($file); + return $file; + } + return null; + } + + protected function get_file_objects($iteration_method = 'get_file_object') { + $upload_dir = $this->get_upload_path(); + if (!is_dir($upload_dir)) { + return array(); + } + return array_values(array_filter(array_map( + array($this, $iteration_method), + scandir($upload_dir) + ))); + } + + protected function count_file_objects() { + return count($this->get_file_objects('is_valid_file_object')); + } + + protected function get_error_message($error) { + return array_key_exists($error, $this->error_messages) ? + $this->error_messages[$error] : $error; + } + + function get_config_bytes($val) { + $val = trim($val); + $last = strtolower($val[strlen($val)-1]); + switch($last) { + case 'g': + $val *= 1024; + case 'm': + $val *= 1024; + case 'k': + $val *= 1024; + } + return $this->fix_integer_overflow($val); + } + + protected function validate($uploaded_file, $file, $error, $index) { + if ($error) { + $file->error = $this->get_error_message($error); + return false; + } + $content_length = $this->fix_integer_overflow(intval( + $this->get_server_var('CONTENT_LENGTH') + )); + $post_max_size = $this->get_config_bytes(ini_get('post_max_size')); + if ($post_max_size && ($content_length > $post_max_size)) { + $file->error = $this->get_error_message('post_max_size'); + return false; + } + if (!preg_match($this->options['accept_file_types'], $file->name)) { + $file->error = $this->get_error_message('accept_file_types'); + return false; + } + if ($uploaded_file && is_uploaded_file($uploaded_file)) { + $file_size = $this->get_file_size($uploaded_file); + } else { + $file_size = $content_length; + } + if ($this->options['max_file_size'] && ( + $file_size > $this->options['max_file_size'] || + $file->size > $this->options['max_file_size']) + ) { + $file->error = $this->get_error_message('max_file_size'); + return false; + } + if ($this->options['min_file_size'] && + $file_size < $this->options['min_file_size']) { + $file->error = $this->get_error_message('min_file_size'); + return false; + } + if (is_int($this->options['max_number_of_files']) && + ($this->count_file_objects() >= $this->options['max_number_of_files']) && + // Ignore additional chunks of existing files: + !is_file($this->get_upload_path($file->name))) { + $file->error = $this->get_error_message('max_number_of_files'); + return false; + } + $max_width = @$this->options['max_width']; + $max_height = @$this->options['max_height']; + $min_width = @$this->options['min_width']; + $min_height = @$this->options['min_height']; + if (($max_width || $max_height || $min_width || $min_height) + && preg_match($this->options['image_file_types'], $file->name)) { + list($img_width, $img_height) = $this->get_image_size($uploaded_file); + } + if (!empty($img_width)) { + if ($max_width && $img_width > $max_width) { + $file->error = $this->get_error_message('max_width'); + return false; + } + if ($max_height && $img_height > $max_height) { + $file->error = $this->get_error_message('max_height'); + return false; + } + if ($min_width && $img_width < $min_width) { + $file->error = $this->get_error_message('min_width'); + return false; + } + if ($min_height && $img_height < $min_height) { + $file->error = $this->get_error_message('min_height'); + return false; + } + } + return true; + } + + protected function upcount_name_callback($matches) { + $index = isset($matches[1]) ? intval($matches[1]) + 1 : 1; + $ext = isset($matches[2]) ? $matches[2] : ''; + return ' ('.$index.')'.$ext; + } + + protected function upcount_name($name) { + return preg_replace_callback( + '/(?:(?: \(([\d]+)\))?(\.[^.]+))?$/', + array($this, 'upcount_name_callback'), + $name, + 1 + ); + } + + protected function sanitizeFileName($file) { + // (|\\?*<\":>+[]/') + // \|\\\?\*\<\"\'\:\>\+\[\] + $file = preg_replace("/'/", '', $file); + + return $file; + } + + protected function get_unique_filename($file_path, $name, $size, $type, $error, + $index, $content_range) { + $name = $this->sanitizeFileName($name); + + while(is_dir($this->get_upload_path($name))) { + $name = $this->upcount_name($name); + } + // Keep an existing filename if this is part of a chunked upload: + $uploaded_bytes = $this->fix_integer_overflow(intval($content_range[1])); + while(is_file($this->get_upload_path($name))) { + if ($uploaded_bytes === $this->get_file_size( + $this->get_upload_path($name))) { + break; + } + $name = $this->upcount_name($name); + } + return $name; + } + + protected function fix_file_extension($file_path, $name, $size, $type, $error, + $index, $content_range) { + // Add missing file extension for known image types: + if (strpos($name, '.') === false && + preg_match('/^image\/(gif|jpe?g|png)/', $type, $matches)) { + $name .= '.'.$matches[1]; + } + if ($this->options['correct_image_extensions'] && + function_exists('exif_imagetype')) { + switch(@exif_imagetype($file_path)){ + case IMAGETYPE_JPEG: + $extensions = array('jpg', 'jpeg'); + break; + case IMAGETYPE_PNG: + $extensions = array('png'); + break; + case IMAGETYPE_GIF: + $extensions = array('gif'); + break; + } + // Adjust incorrect image file extensions: + if (!empty($extensions)) { + $parts = explode('.', $name); + $extIndex = count($parts) - 1; + $ext = strtolower(@$parts[$extIndex]); + if (!in_array($ext, $extensions)) { + $parts[$extIndex] = $extensions[0]; + $name = implode('.', $parts); + } + } + } + return $name; + } + + protected function trim_file_name($file_path, $name, $size, $type, $error, + $index, $content_range) { + // Remove path information and dots around the filename, to prevent uploading + // into different directories or replacing hidden system files. + // Also remove control characters and spaces (\x00..\x20) around the filename: + $name = trim(basename(stripslashes($name)), ".\x00..\x20"); + // Use a timestamp for empty filenames: + if (!$name) { + $name = str_replace('.', '-', microtime(true)); + } + return $name; + } + + protected function get_file_name($file_path, $name, $size, $type, $error, + $index, $content_range) { + $name = $this->trim_file_name($file_path, $name, $size, $type, $error, + $index, $content_range); + return $this->get_unique_filename( + $file_path, + $this->fix_file_extension($file_path, $name, $size, $type, $error, + $index, $content_range), + $size, + $type, + $error, + $index, + $content_range + ); + } + + protected function get_current_file_name($file_path, $name, $size, $type, $error, + $index, $content_range) { + + $name = $this->trim_file_name($file_path, $name, $size, $type, $error, $index, $content_range); + + + return $this->get_unique_filename( + $file_path, + $this->fix_file_extension($file_path, $name, $size, $type, $error, + $index, $content_range), + $size, + $type, + $error, + $index, + $content_range + ); + } + + + protected function handle_form_data($file, $index) { + // Handle form data, e.g. $_REQUEST['description'][$index] + } + + protected function get_scaled_image_file_paths($file_name, $version) { + $file_path = $this->get_upload_path($file_name); + if (!empty($version)) { + $version_dir = $this->get_upload_path(null, $version); + if (!is_dir($version_dir)) { + mkdir($version_dir, $this->options['mkdir_mode'], true); + } + $new_file_path = $version_dir.'/'.$file_name; + } else { + $new_file_path = $file_path; + } + return array($file_path, $new_file_path); + } + + protected function gd_get_image_object($file_path, $func, $no_cache = false) { + if (empty($this->image_objects[$file_path]) || $no_cache) { + $this->gd_destroy_image_object($file_path); + $this->image_objects[$file_path] = $func($file_path); + } + return $this->image_objects[$file_path]; + } + + protected function gd_set_image_object($file_path, $image) { + $this->gd_destroy_image_object($file_path); + $this->image_objects[$file_path] = $image; + } + + protected function gd_destroy_image_object($file_path) { + $image = (isset($this->image_objects[$file_path])) ? $this->image_objects[$file_path] : null ; + return $image && imagedestroy($image); + } + + protected function gd_imageflip($image, $mode) { + if (function_exists('imageflip')) { + return imageflip($image, $mode); + } + $new_width = $src_width = imagesx($image); + $new_height = $src_height = imagesy($image); + $new_img = imagecreatetruecolor($new_width, $new_height); + $src_x = 0; + $src_y = 0; + switch ($mode) { + case '1': // flip on the horizontal axis + $src_y = $new_height - 1; + $src_height = -$new_height; + break; + case '2': // flip on the vertical axis + $src_x = $new_width - 1; + $src_width = -$new_width; + break; + case '3': // flip on both axes + $src_y = $new_height - 1; + $src_height = -$new_height; + $src_x = $new_width - 1; + $src_width = -$new_width; + break; + default: + return $image; + } + imagecopyresampled( + $new_img, + $image, + 0, + 0, + $src_x, + $src_y, + $new_width, + $new_height, + $src_width, + $src_height + ); + return $new_img; + } + + protected function gd_orient_image($file_path, $src_img) { + if (!function_exists('exif_read_data')) { + return false; + } + $exif = @exif_read_data($file_path); + if ($exif === false) { + return false; + } + $orientation = intval(@$exif['Orientation']); + if ($orientation < 2 || $orientation > 8) { + return false; + } + switch ($orientation) { + case 2: + $new_img = $this->gd_imageflip( + $src_img, + defined('IMG_FLIP_VERTICAL') ? IMG_FLIP_VERTICAL : 2 + ); + break; + case 3: + $new_img = imagerotate($src_img, 180, 0); + break; + case 4: + $new_img = $this->gd_imageflip( + $src_img, + defined('IMG_FLIP_HORIZONTAL') ? IMG_FLIP_HORIZONTAL : 1 + ); + break; + case 5: + $tmp_img = $this->gd_imageflip( + $src_img, + defined('IMG_FLIP_HORIZONTAL') ? IMG_FLIP_HORIZONTAL : 1 + ); + $new_img = imagerotate($tmp_img, 270, 0); + imagedestroy($tmp_img); + break; + case 6: + $new_img = imagerotate($src_img, 270, 0); + break; + case 7: + $tmp_img = $this->gd_imageflip( + $src_img, + defined('IMG_FLIP_VERTICAL') ? IMG_FLIP_VERTICAL : 2 + ); + $new_img = imagerotate($tmp_img, 270, 0); + imagedestroy($tmp_img); + break; + case 8: + $new_img = imagerotate($src_img, 90, 0); + break; + default: + return false; + } + $this->gd_set_image_object($file_path, $new_img); + return true; + } + + protected function gd_create_scaled_image($file_name, $version, $options) { + if (!function_exists('imagecreatetruecolor')) { + error_log('Function not found: imagecreatetruecolor'); + return false; + } + list($file_path, $new_file_path) = + $this->get_scaled_image_file_paths($file_name, $version); + $type = strtolower(substr(strrchr($file_name, '.'), 1)); + switch ($type) { + case 'jpg': + case 'jpeg': + $src_func = 'imagecreatefromjpeg'; + $write_func = 'imagejpeg'; + $image_quality = isset($options['jpeg_quality']) ? + $options['jpeg_quality'] : 75; + break; + case 'gif': + $src_func = 'imagecreatefromgif'; + $write_func = 'imagegif'; + $image_quality = null; + break; + case 'png': + $src_func = 'imagecreatefrompng'; + $write_func = 'imagepng'; + $image_quality = isset($options['png_quality']) ? + $options['png_quality'] : 9; + break; + default: + return false; + } + $src_img = $this->gd_get_image_object( + $file_path, + $src_func, + !empty($options['no_cache']) + ); + $image_oriented = false; + if (!empty($options['auto_orient']) && $this->gd_orient_image( + $file_path, + $src_img + )) { + $image_oriented = true; + $src_img = $this->gd_get_image_object( + $file_path, + $src_func + ); + } + $max_width = $img_width = imagesx($src_img); + $max_height = $img_height = imagesy($src_img); + if (!empty($options['max_width'])) { + $max_width = $options['max_width']; + } + if (!empty($options['max_height'])) { + $max_height = $options['max_height']; + } + $scale = min( + $max_width / $img_width, + $max_height / $img_height + ); + if ($scale >= 1) { + if ($image_oriented) { + return $write_func($src_img, $new_file_path, $image_quality); + } + if ($file_path !== $new_file_path) { + return copy($file_path, $new_file_path); + } + return true; + } + if (empty($options['crop'])) { + $new_width = $img_width * $scale; + $new_height = $img_height * $scale; + $dst_x = 0; + $dst_y = 0; + $new_img = imagecreatetruecolor($new_width, $new_height); + } else { + if (($img_width / $img_height) >= ($max_width / $max_height)) { + $new_width = $img_width / ($img_height / $max_height); + $new_height = $max_height; + } else { + $new_width = $max_width; + $new_height = $img_height / ($img_width / $max_width); + } + $dst_x = 0 - ($new_width - $max_width) / 2; + $dst_y = 0 - ($new_height - $max_height) / 2; + $new_img = imagecreatetruecolor($max_width, $max_height); + } + // Handle transparency in GIF and PNG images: + switch ($type) { + case 'gif': + case 'png': + imagecolortransparent($new_img, imagecolorallocate($new_img, 0, 0, 0)); + case 'png': + imagealphablending($new_img, false); + imagesavealpha($new_img, true); + break; + } + $success = imagecopyresampled( + $new_img, + $src_img, + $dst_x, + $dst_y, + 0, + 0, + $new_width, + $new_height, + $img_width, + $img_height + ) && $write_func($new_img, $new_file_path, $image_quality); + $this->gd_set_image_object($file_path, $new_img); + return $success; + } + + protected function imagick_get_image_object($file_path, $no_cache = false) { + if (empty($this->image_objects[$file_path]) || $no_cache) { + $this->imagick_destroy_image_object($file_path); + $image = new \Imagick(); + if (!empty($this->options['imagick_resource_limits'])) { + foreach ($this->options['imagick_resource_limits'] as $type => $limit) { + $image->setResourceLimit($type, $limit); + } + } + $image->readImage($file_path); + $this->image_objects[$file_path] = $image; + } + return $this->image_objects[$file_path]; + } + + protected function imagick_set_image_object($file_path, $image) { + $this->imagick_destroy_image_object($file_path); + $this->image_objects[$file_path] = $image; + } + + protected function imagick_destroy_image_object($file_path) { + $image = (isset($this->image_objects[$file_path])) ? $this->image_objects[$file_path] : null ; + return $image && $image->destroy(); + } + + protected function imagick_orient_image($image) { + $orientation = $image->getImageOrientation(); + $background = new \ImagickPixel('none'); + switch ($orientation) { + case \imagick::ORIENTATION_TOPRIGHT: // 2 + $image->flopImage(); // horizontal flop around y-axis + break; + case \imagick::ORIENTATION_BOTTOMRIGHT: // 3 + $image->rotateImage($background, 180); + break; + case \imagick::ORIENTATION_BOTTOMLEFT: // 4 + $image->flipImage(); // vertical flip around x-axis + break; + case \imagick::ORIENTATION_LEFTTOP: // 5 + $image->flopImage(); // horizontal flop around y-axis + $image->rotateImage($background, 270); + break; + case \imagick::ORIENTATION_RIGHTTOP: // 6 + $image->rotateImage($background, 90); + break; + case \imagick::ORIENTATION_RIGHTBOTTOM: // 7 + $image->flipImage(); // vertical flip around x-axis + $image->rotateImage($background, 270); + break; + case \imagick::ORIENTATION_LEFTBOTTOM: // 8 + $image->rotateImage($background, 270); + break; + default: + return false; + } + $image->setImageOrientation(\imagick::ORIENTATION_TOPLEFT); // 1 + return true; + } + + protected function imagick_create_scaled_image($file_name, $version, $options) { + list($file_path, $new_file_path) = + $this->get_scaled_image_file_paths($file_name, $version); + $image = $this->imagick_get_image_object( + $file_path, + !empty($options['no_cache']) + ); + if ($image->getImageFormat() === 'GIF') { + // Handle animated GIFs: + $images = $image->coalesceImages(); + foreach ($images as $frame) { + $image = $frame; + $this->imagick_set_image_object($file_name, $image); + break; + } + } + $image_oriented = false; + if (!empty($options['auto_orient'])) { + $image_oriented = $this->imagick_orient_image($image); + } + $new_width = $max_width = $img_width = $image->getImageWidth(); + $new_height = $max_height = $img_height = $image->getImageHeight(); + if (!empty($options['max_width'])) { + $new_width = $max_width = $options['max_width']; + } + if (!empty($options['max_height'])) { + $new_height = $max_height = $options['max_height']; + } + if (!($image_oriented || $max_width < $img_width || $max_height < $img_height)) { + if ($file_path !== $new_file_path) { + return copy($file_path, $new_file_path); + } + return true; + } + $crop = !empty($options['crop']); + if ($crop) { + $x = 0; + $y = 0; + if (($img_width / $img_height) >= ($max_width / $max_height)) { + $new_width = 0; // Enables proportional scaling based on max_height + $x = ($img_width / ($img_height / $max_height) - $max_width) / 2; + } else { + $new_height = 0; // Enables proportional scaling based on max_width + $y = ($img_height / ($img_width / $max_width) - $max_height) / 2; + } + } + $success = $image->resizeImage( + $new_width, + $new_height, + isset($options['filter']) ? $options['filter'] : \imagick::FILTER_LANCZOS, + isset($options['blur']) ? $options['blur'] : 1, + $new_width && $new_height // fit image into constraints if not to be cropped + ); + if ($success && $crop) { + $success = $image->cropImage( + $max_width, + $max_height, + $x, + $y + ); + if ($success) { + $success = $image->setImagePage($max_width, $max_height, 0, 0); + } + } + $type = strtolower(substr(strrchr($file_name, '.'), 1)); + switch ($type) { + case 'jpg': + case 'jpeg': + if (!empty($options['jpeg_quality'])) { + $image->setImageCompression(\imagick::COMPRESSION_JPEG); + $image->setImageCompressionQuality($options['jpeg_quality']); + } + break; + } + if (!empty($options['strip'])) { + $image->stripImage(); + } + return $success && $image->writeImage($new_file_path); + } + + protected function imagemagick_create_scaled_image($file_name, $version, $options) { + list($file_path, $new_file_path) = + $this->get_scaled_image_file_paths($file_name, $version); + $resize = @$options['max_width'] + .(empty($options['max_height']) ? '' : 'X'.$options['max_height']); + if (!$resize && empty($options['auto_orient'])) { + if ($file_path !== $new_file_path) { + return copy($file_path, $new_file_path); + } + return true; + } + $cmd = $this->options['convert_bin']; + if (!empty($this->options['convert_params'])) { + $cmd .= ' '.$this->options['convert_params']; + } + $cmd .= ' '.escapeshellarg($file_path); + if (!empty($options['auto_orient'])) { + $cmd .= ' -auto-orient'; + } + if ($resize) { + // Handle animated GIFs: + $cmd .= ' -coalesce'; + if (empty($options['crop'])) { + $cmd .= ' -resize '.escapeshellarg($resize.'>'); + } else { + $cmd .= ' -resize '.escapeshellarg($resize.'^'); + $cmd .= ' -gravity center'; + $cmd .= ' -crop '.escapeshellarg($resize.'+0+0'); + } + // Make sure the page dimensions are correct (fixes offsets of animated GIFs): + $cmd .= ' +repage'; + } + if (!empty($options['convert_params'])) { + $cmd .= ' '.$options['convert_params']; + } + $cmd .= ' '.escapeshellarg($new_file_path); + exec($cmd, $output, $error); + if ($error) { + error_log(implode('\n', $output)); + return false; + } + return true; + } + + protected function get_image_size($file_path) { + if ($this->options['image_library']) { + if (extension_loaded('imagick')) { + $image = new \Imagick(); + try { + if (@$image->pingImage($file_path)) { + $dimensions = array($image->getImageWidth(), $image->getImageHeight()); + $image->destroy(); + return $dimensions; + } + return false; + } catch (Exception $e) { + error_log($e->getMessage()); + } + } + if ($this->options['image_library'] === 2) { + $cmd = $this->options['identify_bin']; + $cmd .= ' -ping '.escapeshellarg($file_path); + exec($cmd, $output, $error); + if (!$error && !empty($output)) { + // image.jpg JPEG 1920x1080 1920x1080+0+0 8-bit sRGB 465KB 0.000u 0:00.000 + $infos = preg_split('/\s+/', $output[0]); + $dimensions = preg_split('/x/', $infos[2]); + return $dimensions; + } + return false; + } + } + if (!function_exists('getimagesize')) { + error_log('Function not found: getimagesize'); + return false; + } + return @getimagesize($file_path); + } + + protected function create_scaled_image($file_name, $version, $options) { + if ($this->options['image_library'] === 2) { + return $this->imagemagick_create_scaled_image($file_name, $version, $options); + } + if ($this->options['image_library'] && extension_loaded('imagick')) { + return $this->imagick_create_scaled_image($file_name, $version, $options); + } + return $this->gd_create_scaled_image($file_name, $version, $options); + } + + protected function destroy_image_object($file_path) { + if ($this->options['image_library'] && extension_loaded('imagick')) { + return $this->imagick_destroy_image_object($file_path); + } + } + + protected function is_valid_image_file($file_path) { + if (!preg_match($this->options['image_file_types'], $file_path)) { + return false; + } + if (function_exists('exif_imagetype')) { + return @exif_imagetype($file_path); + } + $image_info = $this->get_image_size($file_path); + return $image_info && $image_info[0] && $image_info[1]; + } + + protected function handle_image_file($file_path, $file) { + $failed_versions = array(); + foreach($this->options['image_versions'] as $version => $options) { + if ($this->create_scaled_image($file->name, $version, $options)) { + if (!empty($version)) { + $file->{$version.'Url'} = $this->get_download_url( + $file->name, + $version + ); + } else { + $file->size = $this->get_file_size($file_path, true); + } + } else { + $failed_versions[] = $version ? $version : 'original'; + } + } + if (count($failed_versions)) { + $file->error = $this->get_error_message('image_resize') + .' ('.implode($failed_versions,', ').')'; + } + // Free memory: + $this->destroy_image_object($file_path); + } + + protected function handle_file_upload($uploaded_file, $name, $size, $type, $error, + $index = null, $content_range = null) { + + $file = new \stdClass(); +// $file->name = $this->get_file_name($uploaded_file, $name, $size, $type, $error, +// $index, $content_range); + + $file->name = $this->trim_file_name($uploaded_path, $name, $size, $type, $error, $index, $content_range); + $file->name = $this->fix_file_extension($uploaded_path, $name, $size, $type, $error, $index, $content_range); + + + $file->size = $this->fix_integer_overflow(intval($size)); + $file->type = $type; + if ($this->validate($uploaded_file, $file, $error, $index)) { + $this->handle_form_data($file, $index); + $upload_dir = $this->get_upload_path(); + if (!is_dir($upload_dir)) { + mkdir($upload_dir, $this->options['mkdir_mode'], true); + } + $file_path = $this->get_upload_path($file->name); + $append_file = $content_range && is_file($file_path) && + $file->size > $this->get_file_size($file_path); + if ($uploaded_file && is_uploaded_file($uploaded_file)) { + chmod($uploaded_file, 0644); + exec (VESTA_CMD . "v-copy-fs-file ". USERNAME ." ".$uploaded_file." ".escapeshellarg($file_path), $output, $return_var); + $error = check_return_code($return_var, $output); + if ($return_var != 0) { + $file->error = 'Error while saving file '; + } + } + $file_size = $this->get_file_size($file_path, $append_file); + + if ($file_size === $file->size) { + $file->url = $this->get_download_url($file->name); + // uncomment if images also need to be resized + //if ($this->is_valid_image_file($file_path)) { + // $this->handle_image_file($file_path, $file); + //} + } else { + //$file->size = $file_size; + //if (!$content_range && $this->options['discard_aborted_uploads']) { + // unlink($file_path); + // $file->error = $this->get_error_message('abort'); + //} + } + $this->set_additional_file_properties($file); + } + return $file; + } + + protected function readfile($file_path) { + $file_size = $this->get_file_size($file_path); + $chunk_size = $this->options['readfile_chunk_size']; + if ($chunk_size && $file_size > $chunk_size) { + $handle = fopen($file_path, 'rb'); + while (!feof($handle)) { + echo fread($handle, $chunk_size); + @ob_flush(); + @flush(); + } + fclose($handle); + return $file_size; + } + return readfile($file_path); + } + + protected function body($str) { + echo $str; + } + + protected function header($str) { + header($str); + } + + protected function get_server_var($id) { + return isset($_SERVER[$id]) ? $_SERVER[$id] : ''; + } + + protected function generate_response($content, $print_response = true) { + if ($print_response) { + $json = json_encode($content); + $redirect = isset($_REQUEST['redirect']) ? + stripslashes($_REQUEST['redirect']) : null; + if ($redirect) { + $this->header('Location: '.sprintf($redirect, rawurlencode($json))); + return; + } + $this->head(); + if ($this->get_server_var('HTTP_CONTENT_RANGE')) { + $files = isset($content[$this->options['param_name']]) ? + $content[$this->options['param_name']] : null; + if ($files && is_array($files) && is_object($files[0]) && $files[0]->size) { + $this->header('Range: 0-'.( + $this->fix_integer_overflow(intval($files[0]->size)) - 1 + )); + } + } + $this->body($json); + } + return $content; + } + + protected function get_version_param() { + return isset($_GET['version']) ? basename(stripslashes($_GET['version'])) : null; + } + + protected function get_singular_param_name() { + return substr($this->options['param_name'], 0, -1); + } + + protected function get_file_name_param() { + $name = $this->get_singular_param_name(); + return isset($_REQUEST[$name]) ? basename(stripslashes($_REQUEST[$name])) : null; + } + + protected function get_file_names_params() { + $params = isset($_REQUEST[$this->options['param_name']]) ? + $_REQUEST[$this->options['param_name']] : array(); + foreach ($params as $key => $value) { + $params[$key] = basename(stripslashes($value)); + } + return $params; + } + + protected function get_file_type($file_path) { + switch (strtolower(pathinfo($file_path, PATHINFO_EXTENSION))) { + case 'jpeg': + case 'jpg': + return 'image/jpeg'; + case 'png': + return 'image/png'; + case 'gif': + return 'image/gif'; + default: + return ''; + } + } + + protected function download() { + switch ($this->options['download_via_php']) { + case 1: + $redirect_header = null; + break; + case 2: + $redirect_header = 'X-Sendfile'; + break; + case 3: + $redirect_header = 'X-Accel-Redirect'; + break; + default: + return $this->header('HTTP/1.1 403 Forbidden'); + } + $file_name = $this->get_file_name_param(); + if (!$this->is_valid_file_object($file_name)) { + return $this->header('HTTP/1.1 404 Not Found'); + } + if ($redirect_header) { + return $this->header( + $redirect_header.': '.$this->get_download_url( + $file_name, + $this->get_version_param(), + true + ) + ); + } + $file_path = $this->get_upload_path($file_name, $this->get_version_param()); + // Prevent browsers from MIME-sniffing the content-type: + $this->header('X-Content-Type-Options: nosniff'); + if (!preg_match($this->options['inline_file_types'], $file_name)) { + $this->header('Content-Type: application/octet-stream'); + $this->header('Content-Disposition: attachment; filename="'.$file_name.'"'); + } else { + $this->header('Content-Type: '.$this->get_file_type($file_path)); + $this->header('Content-Disposition: inline; filename="'.$file_name.'"'); + } + $this->header('Content-Length: '.$this->get_file_size($file_path)); + $this->header('Last-Modified: '.gmdate('D, d M Y H:i:s T', filemtime($file_path))); + $this->readfile($file_path); + } + + protected function send_content_type_header() { + $this->header('Vary: Accept'); + if (strpos($this->get_server_var('HTTP_ACCEPT'), 'application/json') !== false) { + $this->header('Content-type: application/json'); + } else { + $this->header('Content-type: text/plain'); + } + } + + protected function send_access_control_headers() { + $this->header('Access-Control-Allow-Origin: '.$this->options['access_control_allow_origin']); + $this->header('Access-Control-Allow-Credentials: ' + .($this->options['access_control_allow_credentials'] ? 'true' : 'false')); + $this->header('Access-Control-Allow-Methods: ' + .implode(', ', $this->options['access_control_allow_methods'])); + $this->header('Access-Control-Allow-Headers: ' + .implode(', ', $this->options['access_control_allow_headers'])); + } + + public function head() { + $this->header('Pragma: no-cache'); + $this->header('Cache-Control: no-store, no-cache, must-revalidate'); + $this->header('Content-Disposition: inline; filename="files.json"'); + // Prevent Internet Explorer from MIME-sniffing the content-type: + $this->header('X-Content-Type-Options: nosniff'); + if ($this->options['access_control_allow_origin']) { + $this->send_access_control_headers(); + } + $this->send_content_type_header(); + } + + public function get($print_response = true) { + if ($print_response && isset($_GET['download'])) { + return $this->download(); + } + $file_name = $this->get_file_name_param(); + if ($file_name) { + $response = array( + $this->get_singular_param_name() => $this->get_file_object($file_name) + ); + } else { + $response = array( + $this->options['param_name'] => $this->get_file_objects() + ); + } + return $this->generate_response($response, $print_response); + } + + public function post($print_response = true) { + if (isset($_REQUEST['_method']) && $_REQUEST['_method'] === 'DELETE') { + return $this->delete($print_response); + } + $upload = isset($_FILES[$this->options['param_name']]) ? + $_FILES[$this->options['param_name']] : null; + // Parse the Content-Disposition header, if available: + $file_name = $this->get_server_var('HTTP_CONTENT_DISPOSITION') ? + rawurldecode(preg_replace( + '/(^[^"]+")|("$)/', + '', + $this->get_server_var('HTTP_CONTENT_DISPOSITION') + )) : null; + // Parse the Content-Range header, which has the following form: + // Content-Range: bytes 0-524287/2000000 + $content_range = $this->get_server_var('HTTP_CONTENT_RANGE') ? + preg_split('/[^0-9]+/', $this->get_server_var('HTTP_CONTENT_RANGE')) : null; + $size = $content_range ? $content_range[3] : null; + $files = array(); + if ($upload && is_array($upload['tmp_name'])) { + // param_name is an array identifier like "files[]", + // $_FILES is a multi-dimensional array: + foreach ($upload['tmp_name'] as $index => $value) { + $files[] = $this->handle_file_upload( + $upload['tmp_name'][$index], + $file_name ? $file_name : $upload['name'][$index], + $size ? $size : $upload['size'][$index], + $upload['type'][$index], + $upload['error'][$index], + $index, + $content_range + ); + } + } else { + // param_name is a single object identifier like "file", + // $_FILES is a one-dimensional array: + $files[] = $this->handle_file_upload( + isset($upload['tmp_name']) ? $upload['tmp_name'] : null, + $file_name ? $file_name : (isset($upload['name']) ? + $upload['name'] : null), + $size ? $size : (isset($upload['size']) ? + $upload['size'] : $this->get_server_var('CONTENT_LENGTH')), + isset($upload['type']) ? + $upload['type'] : $this->get_server_var('CONTENT_TYPE'), + isset($upload['error']) ? $upload['error'] : null, + null, + $content_range + ); + } + return $this->generate_response( + array($this->options['param_name'] => $files), + $print_response + ); + } + + public function delete($print_response = true) { + $file_names = $this->get_file_names_params(); + if (empty($file_names)) { + $file_names = array($this->get_file_name_param()); + } + $response = array(); + foreach($file_names as $file_name) { + $file_path = $this->get_upload_path($file_name); + $success = is_file($file_path) && $file_name[0] !== '.' && unlink($file_path); + if ($success) { + foreach($this->options['image_versions'] as $version => $options) { + if (!empty($version)) { + $file = $this->get_upload_path($file_name, $version); + if (is_file($file)) { + unlink($file); + } + } + } + } + $response[$file_name] = $success; + } + return $this->generate_response($response, $print_response); + } + +} diff --git a/web/api/v1/upload/files/.htaccess b/web/api/v1/upload/files/.htaccess new file mode 100644 index 000000000..56689f0bb --- /dev/null +++ b/web/api/v1/upload/files/.htaccess @@ -0,0 +1,18 @@ +# The following directives force the content-type application/octet-stream +# and force browsers to display a download dialog for non-image files. +# This prevents the execution of script files in the context of the website: +ForceType application/octet-stream +Header set Content-Disposition attachment + + ForceType none + Header unset Content-Disposition + + +# The following directive prevents browsers from MIME-sniffing the content-type. +# This is an important complement to the ForceType directive above: +Header set X-Content-Type-Options nosniff + +# Uncomment the following lines to prevent unauthorized download of files: +#AuthName "Authorization required" +#AuthType Basic +#require valid-user diff --git a/web/api/v1/upload/index.php b/web/api/v1/upload/index.php new file mode 100644 index 000000000..3ae1295ef --- /dev/null +++ b/web/api/v1/upload/index.php @@ -0,0 +1,15 @@ + $stats, + 'prefixI18N' => __('Prefix will be automaticaly added to username',$_SESSION['user']."_") +); + +echo json_encode($result); +unset($stats); \ No newline at end of file From 2a12fec5ea78b2b2f8113b37f25ca11ac5dffa0d Mon Sep 17 00:00:00 2001 From: Alexander Date: Thu, 28 Oct 2021 10:55:00 +0300 Subject: [PATCH 2/3] Updated services and fixed minor bugs. --- web/api/v1/add/favorite/index.php | 6 +- web/api/v1/bulk/backup/exclusions/index.php | 31 +++ web/api/v1/bulk/firewall/banlist/index.php | 44 ++++ web/api/v1/delete/backup/exclusion/index.php | 28 +++ web/api/v1/delete/cron/autoupdate/index.php | 28 +++ web/api/v1/delete/cron/reports/index.php | 26 +++ web/api/v1/delete/firewall/banlist/index.php | 36 +++ web/api/v1/edit/backup/exclusions/index.php | 143 ++++++++++++ web/api/v1/edit/server/bind9/index.php | 82 +++++++ web/api/v1/edit/server/clamd/index.php | 65 ++++++ web/api/v1/edit/server/dovecot/index.php | 206 ++++++++++++++++++ web/api/v1/edit/server/exim4/index.php | 65 ++++++ web/api/v1/edit/server/httpd/index.php | 64 ++++++ web/api/v1/edit/server/mysqld/index.php | 79 +++++++ web/api/v1/edit/server/named/index.php | 65 ++++++ web/api/v1/edit/server/nginx/index.php | 89 ++++++++ web/api/v1/edit/server/php-fpm/index.php | 82 +++++++ web/api/v1/edit/server/php5-fpm/index.php | 82 +++++++ web/api/v1/edit/server/postgresql/index.php | 87 ++++++++ web/api/v1/edit/server/spamassassin/index.php | 65 ++++++ web/api/v1/edit/server/spamd/index.php | 65 ++++++ web/api/v1/list/backup/exclusions/index.php | 23 ++ web/api/v1/list/db/index.php | 79 +++++++ web/api/v1/list/directory/preview/index.php | 35 +++ web/api/v1/list/firewall/banlist/index.php | 59 +++++ web/api/v1/list/rrd/image.php | 13 ++ web/api/v1/list/rrd/index.php | 32 +++ web/api/v1/list/server/index.php | 11 + web/api/v1/rrd/db/daily-mysql_localhost.png | Bin 0 -> 21240 bytes web/api/v1/rrd/db/daily-pgsql_localhost.png | Bin 0 -> 17143 bytes web/api/v1/rrd/db/monthly-mysql_localhost.png | Bin 0 -> 16281 bytes web/api/v1/rrd/db/monthly-pgsql_localhost.png | Bin 0 -> 15064 bytes web/api/v1/rrd/db/mysql_localhost.rrd | Bin 0 -> 94664 bytes web/api/v1/rrd/db/pgsql_localhost.rrd | Bin 0 -> 94664 bytes web/api/v1/rrd/db/weekly-mysql_localhost.png | Bin 0 -> 17131 bytes web/api/v1/rrd/db/weekly-pgsql_localhost.png | Bin 0 -> 16689 bytes web/api/v1/rrd/db/yearly-mysql_localhost.png | Bin 0 -> 15791 bytes web/api/v1/rrd/db/yearly-pgsql_localhost.png | Bin 0 -> 16177 bytes web/api/v1/rrd/ftp/daily-ftp.png | Bin 0 -> 15589 bytes web/api/v1/rrd/ftp/ftp.rrd | Bin 0 -> 47840 bytes web/api/v1/rrd/ftp/monthly-ftp.png | Bin 0 -> 13498 bytes web/api/v1/rrd/ftp/weekly-ftp.png | Bin 0 -> 15126 bytes web/api/v1/rrd/ftp/yearly-ftp.png | Bin 0 -> 14465 bytes web/api/v1/rrd/la/daily-la.png | Bin 0 -> 24111 bytes web/api/v1/rrd/la/la.rrd | Bin 0 -> 94664 bytes web/api/v1/rrd/la/monthly-la.png | Bin 0 -> 19043 bytes web/api/v1/rrd/la/weekly-la.png | Bin 0 -> 21792 bytes web/api/v1/rrd/la/yearly-la.png | Bin 0 -> 23496 bytes web/api/v1/rrd/mail/daily-mail.png | Bin 0 -> 19109 bytes web/api/v1/rrd/mail/mail.rrd | Bin 0 -> 47840 bytes web/api/v1/rrd/mail/monthly-mail.png | Bin 0 -> 19073 bytes web/api/v1/rrd/mail/weekly-mail.png | Bin 0 -> 19537 bytes web/api/v1/rrd/mail/yearly-mail.png | Bin 0 -> 18947 bytes web/api/v1/rrd/mem/daily-mem.png | Bin 0 -> 21454 bytes web/api/v1/rrd/mem/mem.rrd | Bin 0 -> 141488 bytes web/api/v1/rrd/mem/monthly-mem.png | Bin 0 -> 21170 bytes web/api/v1/rrd/mem/weekly-mem.png | Bin 0 -> 21990 bytes web/api/v1/rrd/mem/yearly-mem.png | Bin 0 -> 26200 bytes web/api/v1/rrd/net/daily-eth0.png | Bin 0 -> 24003 bytes web/api/v1/rrd/net/daily-eth1.png | Bin 0 -> 15871 bytes web/api/v1/rrd/net/daily-sit0.png | Bin 0 -> 16641 bytes web/api/v1/rrd/net/eth0.rrd | Bin 0 -> 94664 bytes web/api/v1/rrd/net/eth1.rrd | Bin 0 -> 94664 bytes web/api/v1/rrd/net/monthly-eth0.png | Bin 0 -> 23824 bytes web/api/v1/rrd/net/monthly-eth1.png | Bin 0 -> 14966 bytes web/api/v1/rrd/net/monthly-sit0.png | Bin 0 -> 14909 bytes web/api/v1/rrd/net/sit0.rrd | Bin 0 -> 94664 bytes web/api/v1/rrd/net/weekly-eth0.png | Bin 0 -> 22044 bytes web/api/v1/rrd/net/weekly-eth1.png | Bin 0 -> 16558 bytes web/api/v1/rrd/net/weekly-sit0.png | Bin 0 -> 16747 bytes web/api/v1/rrd/net/yearly-eth0.png | Bin 0 -> 21632 bytes web/api/v1/rrd/net/yearly-eth1.png | Bin 0 -> 15933 bytes web/api/v1/rrd/net/yearly-sit0.png | Bin 0 -> 16132 bytes web/api/v1/rrd/ssh/daily-ssh.png | Bin 0 -> 32211 bytes web/api/v1/rrd/ssh/monthly-ssh.png | Bin 0 -> 29501 bytes web/api/v1/rrd/ssh/ssh.rrd | Bin 0 -> 47840 bytes web/api/v1/rrd/ssh/weekly-ssh.png | Bin 0 -> 32011 bytes web/api/v1/rrd/ssh/yearly-ssh.png | Bin 0 -> 28252 bytes web/api/v1/rrd/web/daily-httpd.png | Bin 0 -> 18089 bytes web/api/v1/rrd/web/daily-nginx.png | Bin 0 -> 15718 bytes web/api/v1/rrd/web/httpd.rrd | Bin 0 -> 47840 bytes web/api/v1/rrd/web/monthly-httpd.png | Bin 0 -> 13480 bytes web/api/v1/rrd/web/monthly-nginx.png | Bin 0 -> 13629 bytes web/api/v1/rrd/web/nginx.rrd | Bin 0 -> 47840 bytes web/api/v1/rrd/web/weekly-httpd.png | Bin 0 -> 15477 bytes web/api/v1/rrd/web/weekly-nginx.png | Bin 0 -> 15243 bytes web/api/v1/rrd/web/yearly-httpd.png | Bin 0 -> 15403 bytes web/api/v1/rrd/web/yearly-nginx.png | Bin 0 -> 14576 bytes web/api/v1/upload/UploadHandler.php | 0 web/api/v1/view/file/index.php | 19 ++ 90 files changed, 1706 insertions(+), 3 deletions(-) create mode 100644 web/api/v1/bulk/backup/exclusions/index.php create mode 100644 web/api/v1/bulk/firewall/banlist/index.php create mode 100644 web/api/v1/delete/backup/exclusion/index.php create mode 100644 web/api/v1/delete/cron/autoupdate/index.php create mode 100644 web/api/v1/delete/cron/reports/index.php create mode 100644 web/api/v1/delete/firewall/banlist/index.php create mode 100644 web/api/v1/edit/backup/exclusions/index.php create mode 100644 web/api/v1/edit/server/bind9/index.php create mode 100644 web/api/v1/edit/server/clamd/index.php create mode 100644 web/api/v1/edit/server/dovecot/index.php create mode 100644 web/api/v1/edit/server/exim4/index.php create mode 100644 web/api/v1/edit/server/httpd/index.php create mode 100644 web/api/v1/edit/server/mysqld/index.php create mode 100644 web/api/v1/edit/server/named/index.php create mode 100644 web/api/v1/edit/server/nginx/index.php create mode 100644 web/api/v1/edit/server/php-fpm/index.php create mode 100644 web/api/v1/edit/server/php5-fpm/index.php create mode 100644 web/api/v1/edit/server/postgresql/index.php create mode 100644 web/api/v1/edit/server/spamassassin/index.php create mode 100644 web/api/v1/edit/server/spamd/index.php create mode 100644 web/api/v1/list/backup/exclusions/index.php create mode 100644 web/api/v1/list/db/index.php create mode 100644 web/api/v1/list/directory/preview/index.php create mode 100644 web/api/v1/list/firewall/banlist/index.php create mode 100644 web/api/v1/list/rrd/image.php create mode 100644 web/api/v1/list/rrd/index.php create mode 100644 web/api/v1/rrd/db/daily-mysql_localhost.png create mode 100644 web/api/v1/rrd/db/daily-pgsql_localhost.png create mode 100644 web/api/v1/rrd/db/monthly-mysql_localhost.png create mode 100644 web/api/v1/rrd/db/monthly-pgsql_localhost.png create mode 100644 web/api/v1/rrd/db/mysql_localhost.rrd create mode 100644 web/api/v1/rrd/db/pgsql_localhost.rrd create mode 100644 web/api/v1/rrd/db/weekly-mysql_localhost.png create mode 100644 web/api/v1/rrd/db/weekly-pgsql_localhost.png create mode 100644 web/api/v1/rrd/db/yearly-mysql_localhost.png create mode 100644 web/api/v1/rrd/db/yearly-pgsql_localhost.png create mode 100644 web/api/v1/rrd/ftp/daily-ftp.png create mode 100644 web/api/v1/rrd/ftp/ftp.rrd create mode 100644 web/api/v1/rrd/ftp/monthly-ftp.png create mode 100644 web/api/v1/rrd/ftp/weekly-ftp.png create mode 100644 web/api/v1/rrd/ftp/yearly-ftp.png create mode 100644 web/api/v1/rrd/la/daily-la.png create mode 100644 web/api/v1/rrd/la/la.rrd create mode 100644 web/api/v1/rrd/la/monthly-la.png create mode 100644 web/api/v1/rrd/la/weekly-la.png create mode 100644 web/api/v1/rrd/la/yearly-la.png create mode 100644 web/api/v1/rrd/mail/daily-mail.png create mode 100644 web/api/v1/rrd/mail/mail.rrd create mode 100644 web/api/v1/rrd/mail/monthly-mail.png create mode 100644 web/api/v1/rrd/mail/weekly-mail.png create mode 100644 web/api/v1/rrd/mail/yearly-mail.png create mode 100644 web/api/v1/rrd/mem/daily-mem.png create mode 100644 web/api/v1/rrd/mem/mem.rrd create mode 100644 web/api/v1/rrd/mem/monthly-mem.png create mode 100644 web/api/v1/rrd/mem/weekly-mem.png create mode 100644 web/api/v1/rrd/mem/yearly-mem.png create mode 100644 web/api/v1/rrd/net/daily-eth0.png create mode 100644 web/api/v1/rrd/net/daily-eth1.png create mode 100644 web/api/v1/rrd/net/daily-sit0.png create mode 100644 web/api/v1/rrd/net/eth0.rrd create mode 100644 web/api/v1/rrd/net/eth1.rrd create mode 100644 web/api/v1/rrd/net/monthly-eth0.png create mode 100644 web/api/v1/rrd/net/monthly-eth1.png create mode 100644 web/api/v1/rrd/net/monthly-sit0.png create mode 100644 web/api/v1/rrd/net/sit0.rrd create mode 100644 web/api/v1/rrd/net/weekly-eth0.png create mode 100644 web/api/v1/rrd/net/weekly-eth1.png create mode 100644 web/api/v1/rrd/net/weekly-sit0.png create mode 100644 web/api/v1/rrd/net/yearly-eth0.png create mode 100644 web/api/v1/rrd/net/yearly-eth1.png create mode 100644 web/api/v1/rrd/net/yearly-sit0.png create mode 100644 web/api/v1/rrd/ssh/daily-ssh.png create mode 100644 web/api/v1/rrd/ssh/monthly-ssh.png create mode 100644 web/api/v1/rrd/ssh/ssh.rrd create mode 100644 web/api/v1/rrd/ssh/weekly-ssh.png create mode 100644 web/api/v1/rrd/ssh/yearly-ssh.png create mode 100644 web/api/v1/rrd/web/daily-httpd.png create mode 100644 web/api/v1/rrd/web/daily-nginx.png create mode 100644 web/api/v1/rrd/web/httpd.rrd create mode 100644 web/api/v1/rrd/web/monthly-httpd.png create mode 100644 web/api/v1/rrd/web/monthly-nginx.png create mode 100644 web/api/v1/rrd/web/nginx.rrd create mode 100644 web/api/v1/rrd/web/weekly-httpd.png create mode 100644 web/api/v1/rrd/web/weekly-nginx.png create mode 100644 web/api/v1/rrd/web/yearly-httpd.png create mode 100644 web/api/v1/rrd/web/yearly-nginx.png mode change 100644 => 100755 web/api/v1/upload/UploadHandler.php create mode 100644 web/api/v1/view/file/index.php diff --git a/web/api/v1/add/favorite/index.php b/web/api/v1/add/favorite/index.php index 4388847bd..94d48dadd 100644 --- a/web/api/v1/add/favorite/index.php +++ b/web/api/v1/add/favorite/index.php @@ -7,9 +7,9 @@ session_start(); include($_SERVER['DOCUMENT_ROOT']."/inc/main.php"); // Check token - if ((!isset($_POST['token'])) || ($_SESSION['token'] != $_POST['token'])) { - exit(); - } + // if ((!isset($_POST['token'])) || ($_SESSION['token'] != $_POST['token'])) { + // exit(); + // } // Protect input $v_section = escapeshellarg($_REQUEST['v_section']); diff --git a/web/api/v1/bulk/backup/exclusions/index.php b/web/api/v1/bulk/backup/exclusions/index.php new file mode 100644 index 000000000..ccef8de5f --- /dev/null +++ b/web/api/v1/bulk/backup/exclusions/index.php @@ -0,0 +1,31 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/bulk/firewall/banlist/index.php b/web/api/v1/bulk/firewall/banlist/index.php new file mode 100644 index 000000000..51e2f1ad5 --- /dev/null +++ b/web/api/v1/bulk/firewall/banlist/index.php @@ -0,0 +1,44 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/delete/backup/exclusion/index.php b/web/api/v1/delete/backup/exclusion/index.php new file mode 100644 index 000000000..dd2c3e879 --- /dev/null +++ b/web/api/v1/delete/backup/exclusion/index.php @@ -0,0 +1,28 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/delete/cron/autoupdate/index.php b/web/api/v1/delete/cron/autoupdate/index.php new file mode 100644 index 000000000..33fe87b52 --- /dev/null +++ b/web/api/v1/delete/cron/autoupdate/index.php @@ -0,0 +1,28 @@ + $message, + 'error' => $error +); + +print json_encode($result); diff --git a/web/api/v1/delete/cron/reports/index.php b/web/api/v1/delete/cron/reports/index.php new file mode 100644 index 000000000..ef664240f --- /dev/null +++ b/web/api/v1/delete/cron/reports/index.php @@ -0,0 +1,26 @@ + $message, + 'error' => $error, +); + +print json_encode($result); diff --git a/web/api/v1/delete/firewall/banlist/index.php b/web/api/v1/delete/firewall/banlist/index.php new file mode 100644 index 000000000..e58cea61a --- /dev/null +++ b/web/api/v1/delete/firewall/banlist/index.php @@ -0,0 +1,36 @@ + $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] + ); + +echo json_encode($result); +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/edit/backup/exclusions/index.php b/web/api/v1/edit/backup/exclusions/index.php new file mode 100644 index 000000000..13bd32c97 --- /dev/null +++ b/web/api/v1/edit/backup/exclusions/index.php @@ -0,0 +1,143 @@ + $value) { + if (!empty($value)){ + $v_web .= $key . ":" . $value. "\n"; + } else { + $v_web .= $key . "\n"; + } +} + +// Parse dns +foreach ($data['DNS'] as $key => $value) { + if (!empty($value)){ + $v_dns .= $key . ":" . $value. "\n"; + } else { + $v_dns .= $key . "\n"; + } +} + +// Parse mail +foreach ($data['MAIL'] as $key => $value) { + if (!empty($value)){ + $v_mail .= $key . ":" . $value. "\n"; + } else { + $v_mail .= $key . "\n"; + } +} + +// Parse databases +foreach ($data['DB'] as $key => $value) { + if (!empty($value)){ + $v_db .= $key . ":" . $value. "\n"; + } else { + $v_db .= $key . "\n"; + } +} + +// Parse user directories +foreach ($data['USER'] as $key => $value) { + if (!empty($value)){ + $v_userdir .= $key . ":" . $value. "\n"; + } else { + $v_userdir .= $key . "\n"; + } +} + +// Check POST request +if (!empty($_POST['save'])) { + + // Check token + if ((!isset($_POST['token'])) || ($_SESSION['token'] != $_POST['token'])) { + exit(); + } + + $v_web = $_POST['v_web']; + $v_web_tmp = str_replace("\r\n", ",", $_POST['v_web']); + $v_web_tmp = rtrim($v_web_tmp, ","); + $v_web_tmp = "WEB=" . escapeshellarg($v_web_tmp); + + $v_dns = $_POST['v_dns']; + $v_dns_tmp = str_replace("\r\n", ",", $_POST['v_dns']); + $v_dns_tmp = rtrim($v_dns_tmp, ","); + $v_dns_tmp = "DNS=" . escapeshellarg($v_dns_tmp); + + $v_mail = $_POST['v_mail']; + $v_mail_tmp = str_replace("\r\n", ",", $_POST['v_mail']); + $v_mail_tmp = rtrim($v_mail_tmp, ","); + $v_mail_tmp = "MAIL=" . escapeshellarg($v_mail_tmp); + + $v_db = $_POST['v_db']; + $v_db_tmp = str_replace("\r\n", ",", $_POST['v_db']); + $v_db_tmp = rtrim($v_db_tmp, ","); + $v_db_tmp = "DB=" . escapeshellarg($v_db_tmp); + + $v_cron = $_POST['v_cron']; + $v_cron_tmp = str_replace("\r\n", ",", $_POST['v_cron']); + $v_cron_tmp = rtrim($v_cron_tmp, ","); + $v_cron_tmp = "CRON=" . escapeshellarg($v_cron_tmp); + + $v_userdir = $_POST['v_userdir']; + $v_userdir_tmp = str_replace("\r\n", ",", $_POST['v_userdir']); + $v_userdir_tmp = rtrim($v_userdir_tmp, ","); + $v_userdir_tmp = "USER=" . escapeshellarg($v_userdir_tmp); + + // Create temporary exeption list on a filesystem + exec ('mktemp', $mktemp_output, $return_var); + $tmp = $mktemp_output[0]; + $fp = fopen($tmp, 'w'); + fwrite($fp, $v_web_tmp . "\n" . $v_dns_tmp . "\n" . $v_mail_tmp . "\n" . $v_db_tmp . "\n" . $v_userdir_tmp . "\n"); + fclose($fp); + unset($mktemp_output); + + // Save changes + exec (VESTA_CMD."v-update-user-backup-exclusions ".$user." ".$tmp, $output, $return_var); + check_return_code($return_var,$output); + unset($output); + + // Set success message + if (empty($_SESSION['error_msg'])) { + $_SESSION['ok_msg'] = __("Changes has been saved."); + } +} + + +// Render page +// render_page($user, $TAB, 'edit_backup_exclusions'); + +$result = array( + 'web' => $v_web, + 'dns' => $v_dns, + 'mail' => $v_mail, + 'db' => $v_db, + 'userdir' => $v_userdir, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/edit/server/bind9/index.php b/web/api/v1/edit/server/bind9/index.php new file mode 100644 index 000000000..4fff011db --- /dev/null +++ b/web/api/v1/edit/server/bind9/index.php @@ -0,0 +1,82 @@ + $v_options_path, + 'config_path' => $v_config_path, + 'service_name' => $v_service_name, + 'options' => $v_options, + 'config' => $v_config, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/edit/server/clamd/index.php b/web/api/v1/edit/server/clamd/index.php new file mode 100644 index 000000000..fef8c95b3 --- /dev/null +++ b/web/api/v1/edit/server/clamd/index.php @@ -0,0 +1,65 @@ + $v_config_path, + 'service_name' => $v_service_name, + 'config' => $v_config, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); \ No newline at end of file diff --git a/web/api/v1/edit/server/dovecot/index.php b/web/api/v1/edit/server/dovecot/index.php new file mode 100644 index 000000000..198bd28a2 --- /dev/null +++ b/web/api/v1/edit/server/dovecot/index.php @@ -0,0 +1,206 @@ + $v_config_path, + 'config_path1' => $v_config_path1, + 'config_path2' => $v_config_path2, + 'config_path3' => $v_config_path3, + 'config_path4' => $v_config_path4, + 'config_path5' => $v_config_path5, + 'config_path6' => $v_config_path6, + 'config_path7' => $v_config_path7, + 'config_path8' => $v_config_path8, + 'service_name' => $v_service_name, + 'config' => $config, + 'config1' => $config1, + 'config2' => $config2, + 'config3' => $config3, + 'config4' => $config4, + 'config5' => $config5, + 'config6' => $config6, + 'config7' => $config7, + 'config8' => $config8, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/edit/server/exim4/index.php b/web/api/v1/edit/server/exim4/index.php new file mode 100644 index 000000000..84b2bd50e --- /dev/null +++ b/web/api/v1/edit/server/exim4/index.php @@ -0,0 +1,65 @@ + $v_config_path, + 'service_name' => $v_service_name, + 'config' => $v_config, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); \ No newline at end of file diff --git a/web/api/v1/edit/server/httpd/index.php b/web/api/v1/edit/server/httpd/index.php new file mode 100644 index 000000000..8af419d2d --- /dev/null +++ b/web/api/v1/edit/server/httpd/index.php @@ -0,0 +1,64 @@ + '/etc/httpd/conf/httpd.conf', + 'service_name' => $v_service_name, + 'config' => $v_config, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); \ No newline at end of file diff --git a/web/api/v1/edit/server/mysqld/index.php b/web/api/v1/edit/server/mysqld/index.php new file mode 100644 index 000000000..c63cb81ac --- /dev/null +++ b/web/api/v1/edit/server/mysqld/index.php @@ -0,0 +1,79 @@ + $v_max_user_connections, + 'max_connections' => $v_max_connections, + 'wait_timeout' => $v_wait_timeout, + 'interactive_timeout' => $v_interactive_timeout, + 'max_allowed_packet' => $v_max_allowed_packet, + 'config_path' => $v_config_path, + 'service_name' => $v_service_name, + 'config' => $v_config, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); \ No newline at end of file diff --git a/web/api/v1/edit/server/named/index.php b/web/api/v1/edit/server/named/index.php new file mode 100644 index 000000000..aa7d2ed88 --- /dev/null +++ b/web/api/v1/edit/server/named/index.php @@ -0,0 +1,65 @@ + $v_service_name, + 'config_path' => $v_config_path, + 'config' => $v_config, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); \ No newline at end of file diff --git a/web/api/v1/edit/server/nginx/index.php b/web/api/v1/edit/server/nginx/index.php new file mode 100644 index 000000000..2989975e9 --- /dev/null +++ b/web/api/v1/edit/server/nginx/index.php @@ -0,0 +1,89 @@ + $data['CONFIG']['worker_processes'], + 'worker_connections' => $data['CONFIG']['worker_connections'], + 'send_timeout' => $data['CONFIG']['send_timeout'], + 'proxy_connect_timeout' => $data['CONFIG']['proxy_connect_timeout'], + 'proxy_send_timeout' => $data['CONFIG']['proxy_send_timeout'], + 'proxy_read_timeout' => $data['CONFIG']['proxy_read_timeout'], + 'client_max_body_size' => $data['CONFIG']['client_max_body_size'], + 'gzip' => $data['CONFIG']['gzip'], + 'gzip_comp_level' => $data['CONFIG']['gzip_comp_level'], + 'charset' => $data['CONFIG']['charset'], + 'config_path' => $data['CONFIG']['config_path'], + 'service_name' => strtoupper('nginx'), + 'config' => $v_config, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/edit/server/php-fpm/index.php b/web/api/v1/edit/server/php-fpm/index.php new file mode 100644 index 000000000..066c13bfe --- /dev/null +++ b/web/api/v1/edit/server/php-fpm/index.php @@ -0,0 +1,82 @@ + $data['CONFIG']['memory_limit'], + 'max_execution_time' => $data['CONFIG']['max_execution_time'], + 'max_input_time' => $data['CONFIG']['max_input_time'], + 'upload_max_filesize' => $data['CONFIG']['upload_max_filesize'], + 'post_max_size' => $data['CONFIG']['post_max_size'], + 'display_errors' => $data['CONFIG']['display_errors'], + 'error_reporting' => $data['CONFIG']['error_reporting'], + 'config_path' => $data['CONFIG']['config_path'], + 'web_system' => $_SESSION['WEB_SYSTEM'], + 'config' => $v_config, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); \ No newline at end of file diff --git a/web/api/v1/edit/server/php5-fpm/index.php b/web/api/v1/edit/server/php5-fpm/index.php new file mode 100644 index 000000000..066c13bfe --- /dev/null +++ b/web/api/v1/edit/server/php5-fpm/index.php @@ -0,0 +1,82 @@ + $data['CONFIG']['memory_limit'], + 'max_execution_time' => $data['CONFIG']['max_execution_time'], + 'max_input_time' => $data['CONFIG']['max_input_time'], + 'upload_max_filesize' => $data['CONFIG']['upload_max_filesize'], + 'post_max_size' => $data['CONFIG']['post_max_size'], + 'display_errors' => $data['CONFIG']['display_errors'], + 'error_reporting' => $data['CONFIG']['error_reporting'], + 'config_path' => $data['CONFIG']['config_path'], + 'web_system' => $_SESSION['WEB_SYSTEM'], + 'config' => $v_config, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); \ No newline at end of file diff --git a/web/api/v1/edit/server/postgresql/index.php b/web/api/v1/edit/server/postgresql/index.php new file mode 100644 index 000000000..c030cfb66 --- /dev/null +++ b/web/api/v1/edit/server/postgresql/index.php @@ -0,0 +1,87 @@ + $v_options_path, + 'config_path' => $v_config_path, + 'service_name' => $v_service_name, + 'options' => $v_options, + 'config' => $v_config, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); diff --git a/web/api/v1/edit/server/spamassassin/index.php b/web/api/v1/edit/server/spamassassin/index.php new file mode 100644 index 000000000..ef12e5a73 --- /dev/null +++ b/web/api/v1/edit/server/spamassassin/index.php @@ -0,0 +1,65 @@ + $v_config_path, + 'service_name' => $v_service_name, + 'config' => $v_config, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); \ No newline at end of file diff --git a/web/api/v1/edit/server/spamd/index.php b/web/api/v1/edit/server/spamd/index.php new file mode 100644 index 000000000..accfd9a6f --- /dev/null +++ b/web/api/v1/edit/server/spamd/index.php @@ -0,0 +1,65 @@ + $v_config_path, + 'service_name' => $v_service_name, + 'config' => $v_config, + 'error_msg' => $_SESSION['error_msg'], + 'ok_msg' => $_SESSION['ok_msg'] +); + +echo json_encode($result); + +// Flush session messages +unset($_SESSION['error_msg']); +unset($_SESSION['ok_msg']); \ No newline at end of file diff --git a/web/api/v1/list/backup/exclusions/index.php b/web/api/v1/list/backup/exclusions/index.php new file mode 100644 index 000000000..f1f350f01 --- /dev/null +++ b/web/api/v1/list/backup/exclusions/index.php @@ -0,0 +1,23 @@ + $data); + +echo json_encode($result); diff --git a/web/api/v1/list/db/index.php b/web/api/v1/list/db/index.php new file mode 100644 index 000000000..f9e327a2c --- /dev/null +++ b/web/api/v1/list/db/index.php @@ -0,0 +1,79 @@ + $value) { + ++$i; + + if ( $i == 1) { + $total_amount = __('1 database'); + } else { + $total_amount = __('%s databases',$i); + } + + if ($data[$key]['SUSPENDED'] == 'yes') { + $data[$key]['status'] = 'suspended'; + $data[$key]['suspend_action'] = 'unsuspend' ; + $data[$key]['suspend_conf'] = __('UNSUSPEND_DATABASE_CONFIRMATION', $key); + } else { + $data[$key]['status'] = 'active'; + $data[$key]['suspend_action'] = 'suspend'; + $data[$key]['suspend_conf'] = __('SUSPEND_DATABASE_CONFIRMATION', $key); + } + + if ($data[$key]['TYPE'] == 'mysql'){ + $mysql = 1; + + $db_myadmin_link = "http://".$http_host."/phpmyadmin/"; + if (!empty($_SESSION['DB_PMA_URL'])) + $db_myadmin_link = $_SESSION['DB_PMA_URL']; + } + if ($data[$key]['TYPE'] == 'pgsql'){ + $pgsql = 1; + $db_pgadmin_link = "http://".$http_host."/phppgadmin/"; + if (!empty($_SESSION['DB_PGA_URL'])) + $db_pgadmin_link = $_SESSION['DB_PGA_URL']; + } + + if ($data[$key]['HOST'] != 'localhost' ) $http_host = $data[$key]['HOST']; + if ($data[$key]['TYPE'] == 'mysql') $db_admin = "phpMyAdmin"; + if ($data[$key]['TYPE'] == 'mysql') $db_admin_link = "http://".$http_host."/phpmyadmin/"; + if (($data[$key]['TYPE'] == 'mysql') && (!empty($_SESSION['DB_PMA_URL']))) $db_admin_link = $_SESSION['DB_PMA_URL']; + if ($data[$key]['TYPE'] == 'pgsql') $db_admin = "phpPgAdmin"; + if ($data[$key]['TYPE'] == 'pgsql') $db_admin_link = "http://".$http_host."/phppgadmin/"; + if (($data[$key]['TYPE'] == 'pgsql') && (!empty($_SESSION['DB_PGA_URL']))) $db_admin_link = $_SESSION['DB_PGA_URL']; + + $data[$key]['delete_conf'] = __('DELETE_DATABASE_CONFIRMATION', $key); +} + +$object = (object)[]; +$object->data = $data; +$object->user = $user; +$object->panel = $panel; +$object->db_admin = $db_admin; +$object->db_admin_link = $db_admin_link; +$object->totalAmount = $total_amount; +$object->databases = $databases; +$object->dbFav = $_SESSION['favourites']['DB']; + +print json_encode($object); \ No newline at end of file diff --git a/web/api/v1/list/directory/preview/index.php b/web/api/v1/list/directory/preview/index.php new file mode 100644 index 000000000..737e19db3 --- /dev/null +++ b/web/api/v1/list/directory/preview/index.php @@ -0,0 +1,35 @@ + 0 ) { + header("Location: /error/"); + exit; + } + $panel = json_decode(implode('', $output), true); +} + +$path_a = !empty($_REQUEST['dir_a']) ? $_REQUEST['dir_a'] : ''; +$path_b = !empty($_REQUEST['dir_b']) ? $_REQUEST['dir_b'] : ''; +$GLOBAL_JS = ''; +$GLOBAL_JS .= ''; +$GLOBAL_JS .= ''; + + +// Footer +include($_SERVER['DOCUMENT_ROOT'].'/templates/file_manager/main.php'); \ No newline at end of file diff --git a/web/api/v1/list/firewall/banlist/index.php b/web/api/v1/list/firewall/banlist/index.php new file mode 100644 index 000000000..5b92826c4 --- /dev/null +++ b/web/api/v1/list/firewall/banlist/index.php @@ -0,0 +1,59 @@ + $value) { + if ($data[$key]['SUSPENDED'] == 'yes') { + $data[$key]['status'] = 'suspended'; + $data[$key]['suspend_action'] = 'unsuspend' ; + $data[$key]['suspend_conf'] = 'UNSUSPEND_RULE_CONFIRMATION' ; + } else { + $data[$key]['status'] = 'active'; + $data[$key]['suspend_action'] = 'suspend' ; + $data[$key]['suspend_conf'] = 'SUSPEND_RULE_CONFIRMATION' ; + } + + $data[$key]['delete_url'] = '/delete/firewall/banlist/?ip='.$data[$key]['ip'].'&chain='.$data[$key]['CHAIN'].'&token='.$_SESSION['token']; + + if ( $i == 1) { + $total_amount = __('1 rule'); + } else { + $total_amount = __('%s rules',$i); + } + ++$i; +} + +if ($i == 0) { + $total_amount = __('There are no currently banned IP'); +} + +// Render page +// render_page($user, $TAB, 'list_firewall_banlist'); + +// Back uri +$_SESSION['back'] = $_SERVER['REQUEST_URI']; + +$result = array( + 'data' => $data, + 'total_amount' => $total_amount +); + +echo json_encode($result); diff --git a/web/api/v1/list/rrd/image.php b/web/api/v1/list/rrd/image.php new file mode 100644 index 000000000..600b11134 --- /dev/null +++ b/web/api/v1/list/rrd/image.php @@ -0,0 +1,13 @@ + diff --git a/web/api/v1/list/rrd/index.php b/web/api/v1/list/rrd/index.php new file mode 100644 index 000000000..2ba6b4dc5 --- /dev/null +++ b/web/api/v1/list/rrd/index.php @@ -0,0 +1,32 @@ +data = $data; +$object->user = $user; +$object->panel = $panel; + +print json_encode($object); \ No newline at end of file diff --git a/web/api/v1/list/server/index.php b/web/api/v1/list/server/index.php index ee7b2b70e..47363fcae 100644 --- a/web/api/v1/list/server/index.php +++ b/web/api/v1/list/server/index.php @@ -84,6 +84,17 @@ foreach ($data as $key => $value) { } else { $data[$key]['action_url'] = '/start/service/?srv='.$key; } + + $data[$key]['SYSTEM'] = __($data[$key]['SYSTEM']); + $data[$key]['RTIME'] = humanize_time($data[$key]['RTIME']); + + $cpu = $data[$key]['CPU'] / 10; + $data[$key]['CPU'] = number_format($cpu, 1); + if ($cpu == '0.0') $data[$key]['CPU'] = 0; +} + +foreach ($sys as $key => $value) { + $sys[$key]['UPTIME'] = humanize_time($sys[$key]['UPTIME']); } // Render page diff --git a/web/api/v1/rrd/db/daily-mysql_localhost.png b/web/api/v1/rrd/db/daily-mysql_localhost.png new file mode 100644 index 0000000000000000000000000000000000000000..8d9f940245c6d994159afa3d95bdd5c03d9dbc9c GIT binary patch literal 21240 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

WIm|y1~Ieyg_h)CzC-RqSb_4{^Ia} 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 HwLAX<0#q4} literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/db/monthly-mysql_localhost.png b/web/api/v1/rrd/db/monthly-mysql_localhost.png new file mode 100644 index 0000000000000000000000000000000000000000..7fbe8e94db9aa4e4bf9859a50bc7a86efa5e26fb GIT binary patch literal 16281 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 literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/db/pgsql_localhost.rrd b/web/api/v1/rrd/db/pgsql_localhost.rrd new file mode 100644 index 0000000000000000000000000000000000000000..7aae6ef044e00420b7c56ae2a5536cf9d11de8dd GIT binary patch literal 94664 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 literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/db/weekly-pgsql_localhost.png b/web/api/v1/rrd/db/weekly-pgsql_localhost.png new file mode 100644 index 0000000000000000000000000000000000000000..c976bd346b3e72fa4a78a9095183e44eacf903b4 GIT binary patch literal 16689 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 literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/db/yearly-mysql_localhost.png b/web/api/v1/rrd/db/yearly-mysql_localhost.png new file mode 100644 index 0000000000000000000000000000000000000000..7ce0c75a90f4d2061c80b1466c2da9675ec6cb0a GIT binary patch literal 15791 zcmeHucT|(v);{V87Rop(MM_jgQ9(iv(qcnwfQl4p0V2JG-brLEAT4916BU&XBE1F# z5|t)M?+~e>hZYFQ?}Qoez07yly79Nx{nou}ef*(>yl21XJ!hZ2pZ)CTeRxevgKO7; zU2JS@T$e7Mzrn_~l>vTV+QAO~J!3ys1^&D2u5RG2gR*k>GIzCPyK&>ZI|}6>aquR} z!q(jFpthyEt-Yn|K^1rK`84W}Pm)L*HHm{Z?(WV?P$=^Y$-jTmV!sdE?jYNx^Ji{) zZPQt{KTGv z4BW}fb5tr2@`C+R$0YxuFKxL$@m{>RHTUKAMPV)OB!A_U6CNq4%4^C#PUn{+VL2zn z8&CDGPp71(r$dgwWX;&??g&V2v#Q{X+5$e*!_HIs#~9*VN&9mr)m(($Y1bI{D*}CH|EE4 z3aNO%OT3#yoe7qNcl_m!5O&)A{<*~a*y_K0v2z>!!%WndNj~YnE&Ik}w8{)XX?nGI zMDITvu(LVLNc5$2!hjP^Zqs_pN?CEP?8YN6mvd@Vq~qge90LF2Z%*}%hUH9ck@bIyz*S)lHbzg@%%i)es2rg!J$y7WQJ|uN!%24 zITl`Pzj^0Q=W))4maBxg;>ZHx@(dh??&BgPwfyz1CQ16uaBXB#o_#y-dTW|~(tdHh zeYF{Fuml4`{uC-ywccd&+<*Qp5d63=j5Q4z>}f)^pO9y$NYM^=?$1cZy|fuJspjs7|PRyqJy09?x)9fLTa9g>+?PeAk6!!WeJ(naemW9 z?(HUC;bWntb|V;P=XX~h8Y2V}WfYFSk|8LW`H{k5$KDvL9p5kF(wvueJ?Z!) zhKn1)cr77@QJ;otWDE>#Uxi&45L~=TFyL?~{Pl@ps=DQR@-t~d!b}Fje|G*T7#p{t7wxl5F+98yRf_Q!~NY~7uym2Y^Cv*eL{}b1ZHy{l@#-==a41fe%Y{L?NjwE#Q0)$MSx*N#N%Qu^{lM+lENxz0cx*1|AJ5c>?)UzG+^#AgqgqI~EOA?WoM+hl;Jq2Qm<) z(m}?rofH_-i%8X%5tHHwkoh-T*a-HezBd=sGn2~kGanxl#w6a;-2)yt7TT^}mHr>R< zP}s=tp)K_z@VDr6v6e>xHOWlJb-OMg`ff3mx*KmIWlMpe4(mWUCGMm)t=0&-eN>;Y zqCj-uZF?s^mRsB;B!`6;C5P?l@NESlQZkCwy)UyHu0?|p+)=D=J!Wv(Z-j$`TUb5_h=7(j7P@w#AM&mL7}KV?s(wqaU%q@9;b}?1HCeLix=rQuRkEC- zVwC4pm;4ZHivmM{!pg}F;b(N;+c}QMx!+hF$1D(NUkTIQ1yIM{V)?0_B3WT&&#<)E z3$cta-dKkB-e?Q+Ym&azgpHVJqp=Zn^n>Q~Il_d3s#E#*OVg+Fj*O2zT5Dzm_?nNL z_ABrns0hq;?9R_u&IP`d&Geotq3$n~QYBXDGoHJub+b2e~PU~3*YDv@=RII-2simKvxjj{6hP$*-bo6%N zuj=3toi-lPbxwz%7x_Ue&hAkWh#Xl~BSja5DIRvU8*!C~8CP{dv_bZ<7=)OQB0J*9 zV#xj>)8TsE?=7!%n{?Bx7g!DKO?CcB z1DUxabwrj$f8EG5jx&8_wq|B8<_b{#<@qJ~-#v?kgk5GAtKfK<7$Gd~85E2z0r4~& z$?{q#IQ7_2Ft2WRu^56(^X4t#V+HnVKX8{+us{8>aBz~fVx(S1wHyro&~KX*cOoz` zo|ox?*L5tzJSy7S+r^BKPZ!gwR?@az7`1W8VqaffTiZ*sE^q{ONlgHq(&2;yK|ooJ z0-2HE-KEm_bFw;sS(lkGi&_Vw{-^Aqe5Xww2Am~YU^aSS%xIH9O&&#?t;oCgiJAw+yRjOUp+RBZl7NvdULegAx97>Obbr zKN#gb9O!&d(>TwWzIbKoO=cSTn#>qdhwes{~G}S{%fl-(z*fr6b z_B9K=m^LJK&$>QFw-5EPoW-n0)-@_{GI7a(Uxm{Fz617TtsAatLHA*$dz}Ebu!v+nTd&rx&y(F9==zz)(MPr7qDJbXpOmjJb>~_)CdheB_spZu zEwLPxGLRJPwq862;{v%ZLDFGc*bk5!OQF?6ZSQ!7BrbJIDXBGvlfX%d2;3_@@%+h3M zIC4ZVkPz}>_mA8h@y_hb>R2N7mpaCmFV}pj!;xPfAGwkWrcgFLFkq%+`{AC&jk^bT zVUprqQ-6x^G&}}siVK?00G1O(FW>)rxkYA{Ti=iN=C}vIJcxg)^|3H$ybD3Vw)yoX zTRM$8PHBXr)(&4+SOv#C#~`ZO`@!jxCyOoFyy&9orJS*PUrn@?hOO z{w$~vSt=Sq!AZ9n?yzHsDlmE~KR**M>Ig0$!T4*jeZKov@_wMAZlY@h!1VQumGpJd z3_gJAxu5<4Rk%cZhtGB{ruB7h zkCaBpEzdV9I+2ZvPQI@To_;?wlV00iIM6Aww3VOO0&?}pMrBLiK0W!W3G03OT+*a# z;!w>hptBYTf~eO|wAD_T%ji&z=6k(P+_R{p{^=URngWa7(^ku_9Wj$X@ArOcsW+S2UmoB$H+-v) zjQO5AmJgWcgR+c8n&?~*_x^(2y#**lSCO0b>U=GM^AK_jp-lx^#i7Vg~Q?y|u#VZW$Y98OEg=5=S8L+!{P6bYDlB`X2A~ zn<@M8wD7X9R$HWdssu^tcd#z#^)$+99c*Ly$>r(E`ls@{Fzq84kl@1+YmSSDueY(v zbC~A6AGgN0(v=k$!{l`_&6ub3g(P@h7bba;RluUpB{tObIeWuKX&=O8dAfJ}<0H|G zC1E>Nrzh^s_jcC2WHP9?wax>H=?Gy0LRd;k1L-F} z*52Qb8-SNMDt^V{rOQU}-FHQxjmyytZ|m%913v!>i>yPT%L4rTHYMaeI4azE;Iv_p zt7VL`ms9b#$5)yGN8TKF%B}evkLpeTx_9XHRrkq`?0l#~A0R7%%d%3ibk2(7XNS(6 zJ7-H7sdw~JwV+_CxL~g}M0|dA>?zD%88@T(OFhqaB7_Opf<(3xE-qBW@?Pdmbr&Q7 zzGJ_d5CIZ7QeY2qe2!JUT@kJpiZ7iza`!pUu6LCzLk?kPN5>?*gVqQ@UIu9XbnyAl zS@z4@x4ouPM!gnZkrpdi-Q`pT3knvyFB4B+m2(-Yb_bL^AI5+%d>R+9bW4}m|F!*l zWc*jGw{G5^Sd7TQ@|Lw$eZ+oD6Mo>z)i9Q)0ib!-#A)IX>-E5Y2;K5;WO9DkG~<7f zMvfSNRgbw)uz`JwR*oanu9%By<$de{M7h2!#rSmuRVmMMqY)6aLFO5DR=MQ9e=%ZZ^$LC-;UAZJwK=XqS$4- z0a4|3nH|W0fPnY%7jEH|!thFF?h%9~yDwRIJiHPU0s3-{{H$gdt20FRrV)5z_eKET zXbrx3w>Qb~wiC!6Y0*BCH;Df6UGF#8sdIpx($fXjS?<;SU_ttSrZ+Kx|GjI?NT4#Y z>;D%_B7*j-b=cYlQ*&%q<=hKiK=Fz*DPBN{Z?vmlxkmhw#PmpyCTPwJWU&os3pujL z%KXQ)wSJJM{qOAaU5aJ&mUtzphw{GJzMJ>;kt@$%gJxdta3_m!Pq+1TJ!5{j_G?$3 z{cb1yEYo(7&=K>nt(e#UZ@I0DlrO~0sX~rpDXTKt@$z-$=6PTRjRGeGGqs^VX+Qr(kaRUi370cS^Z`w`$G6r1gW8`=C zZ?S2gy>L2(i<|pIrEQ2hlYb0JVK&YCyh&V_kMliSOf(=|JZb@y1UfJg5Ak*X5gcc{ zSx=t5J_%@!_@HXjz37%Y#?I!Eq-ds6>_YXO_f*K9E$H8wa;g^^oMHFJM_*pXQN=z! z0)5X%GQ-4;>uwz2=a=I8L&o!S7|?}XmGbAP_>1lsTY69l@R1<>O4agS3+XSHPKMu47tv7mng6!XqNBav zY)_L{Xw{v?&_rEmM9T=CPXb+l)vCK7hMj5}^nr<*nXN92+cN0uHKH!D1_g?o#@>VX zQ?jz4!ivr>6m78Cie1mJEnUw99ySFztvCwHohS33gNeLZ6y3WRtiVuhE;1gQN0*01 ziZA=Q@95KvygNfIM7*QU zJUTzTQ+#H$*1O0RuMsrR>;8!i?Kty5(CJuR_39#7(68!sHEg@G*R+Hr*M|%KS3}h3 zR*eb0-lcqmge_qyOq!(YkZV|FN7ZcNp;s8dzRCeE?H=SN_1hEeUG+qI@OnrF{|nEa z2JJy^5tS&w$P-#?R;m=zaWa;dk!5_T=4{1ffOs13vd_|-DWzy3IfrZvZG#bQiwmc2o+k|RO)vZZ#Vlu3&RS^0Ycf9E-H36{NXCs+4 zbYowM7b->?NqDDf;yeCke5@(4M*iC{RL#V*)3Qc+*j(E=$(7w~wdsYJoJEzT=*qF! zaCl`rj*64D=7uTjRj`G#XHtp7MsoY=8)&52*-s52`^7_Gu2LtQT4lauJ|9X~bFX=G ziyFQ^`Ba1oB9r%00HQ4YOdsma%RE6i^)Xqu?aedv%D(+LU($O6|E&YOLEz*|=6+ao zTItwr{o5S3B1&BY&RQ8d)~+DAMEO+SEeT z@=wkwkwy|g6N?-lP88PQ{8r;4B>bGG=1)y#MU>PXs8<$X6t0@qLYtMrg?_|0%Qt12 zD%zukgMX-KPv6~Q+zYghu+`8mt_wpFKxEMLS;Ouh6-DUx+dkwInzd-%8*~&p~ z5Z+yK=O1lW9tUOuD>ET#@XpOvs?C8mB|=Z_#^&YvvL9G6X&M!a-K1X*R0PZQzrW~# zne~iD^gL-{hOvq|$)GPYXo!0J1ryMfYwKe%SFZ72o*I- zoouM=^w=nuwSr52PGq>^e87-qGj$Y)0~jyV-{b4BHhf)9GhQjLqixz}Wnnvx_l}@k zoI!=y4x6d`{XDbyF4+o|fQgi(=CrKx7!lvGmkS?uL*+(7^(aKpj0s*WObzgDeSXK2 zWCyUw{m3dYd{mb6V-C}wxhTimzT(Xzs>N!2D21Op#~g}eC_GJ4)SNQ|S0syGkICFB z%;+J;-ovV`CU@s^h7@Cmo0HM=HfGGFMjw2;~p!yKQA5TZbUECdLCOQ zqNqF?=N3|nb@t&VNNM`{^e^{gFeIHyk}8kb)@vG)Wed$in%p9dZBBv^k^zD}Dk&HM zP|3O-BX4LrGHOSycan<*+^FSBx12mBh=LF*T{Y8Hp;X0?Q%ZYJEoqk+hH^!zAH!I; z=$SK^-O1PY^T51jozJYB52>8u(JKk-P8upapg)57{Pg&JC(C(?TAd>2o(6*<9>SLP z<@bZxPmXHZ8DFkg45OA8X7;MNyxoI4C}ET@kpY^h!b>d_RkOgq@fy@}fy-7V>jW;Gd(41$?C8-m*Je(j6f94H(b+PEw2e7$gblSaH@5ZW5 z(W?h-8dWG)4U64vw`rC*hI9D5%;)^(&zBH`Ohk< zWPZFyvXT9L)HcUu5n$Q<@*<|(xXY2FX+T6&sCYdNe~G^y*?^7AN>t1|Az9+pCT0^jFZP93!;HSaE+V>iwB zY$SCGsPW={rO`&=(Bi55xw(i%s~5Ktp0__+GfOYc?17xri!IYCnX4qt79QRkfvh~8 zqcW^yd_54>0Kw2)T#gl1%Q9Ybi6Q2W7#lBr+N+)zP^Xel^Vmn!wH$#|pKYP-#;+WP z9B7yybU1d@K`!pi$Gux2jM?`hr4J2&9%xRHW`EQeiHx1fSbB&Y%MgG;ceNBoErQU4+H>l^f7< zV%3AI2N$mWWQ({mks2!Cl4w|e;+SFnM?elOcN`Co%GD`D52~X-7J#!LK zUdr!9HF1BJ(MqD0YKb z<3Lh4hkvCA>}`e69cbrQ8p$s{O3*t+Ub2MnNht24xqUv$N%@gMl1pnImC>nIG`fpX^pDI{r`TcP8?coHsQx_oV# z5Gab6Kec0deSIR78q&@Ea@ce3 zy$bR3OdKTsK1+7;Aup;LQv&=tITs!WYCrZ5~t)w2tz-L6=8-FR!33#(8~WRAptq~Z60m^yJLEX71gd;fQ?rc%ZOkF)F4EsJY^Zjt)X{mI zI%@Hpy2?n?O3nG{lFz~2JHXp6(gBouSdICM2NmCnqPNIY%sqez`!2TXheCvWL8JSC zHB;Evx$t$26n<*5pA;gY+!h|_N!mr{p>%`^$c9jN!Ig?!NQB=G*CiP+1wXH_KC@uy z1ux);tx`%#6F05sE>D@lj!0wIOQ6OmVZs>d-EG#*PhkfSIe+^309ths=psF`OF_l5 z(4aiCua@RDmDm0@FmQ{faQ*2_<$S5iDH9oDbbHlXmxN%)#yPB6BtsmUq9Cpn`RRdzCPz#Cnu<1I7G^6RI?XqS)0Kl z!jv=b;Hm_-uBg`eL_sKofKl?k=R^x*T|4@rU&5#m5E6!j`>J^0Dpw1vJ`52n8cvPI z5lGJL3(Z%cCs#3a3NF+>+Wdj@1$P^pDuy&g5u41Zw} z{b{#e0C5oKPWl?B9Pjc|p+?y%WcGo#-#!eGE_3@s(o_(Yd}WR9rr6h=-UCYhpTl7dvraZEeb#7;U1H9t!ode}9uqC*ky*Sv zymS~ZDOHAoRgUlngbx>0FT+r`=V4;@P|1BJ@zFj$lftYMWOo%7X;je>SEjC>=nm`cnH@%C+%DXHj^s846tNOSg_c(ZZPvsAaUNb#$ zuM`2YV|FO>2~>9A5(Zbjgp7&?!?sO3zv`IXo(l3<_MHba=L;2%rTPy=#e_ebFLs4w z>6z+JlcYuT%_=h@KxX4H_5$xESV(?|yZ69H4hI2myNtUNg}wGg+G^p{%J}V11&QdN z5{y5oZ$&?(l&M4D6Pml;sH<=C%y|jlGkZk5lw3trcgQH84V@|^FhD?&Xb3s{u+MKs zRjs~>Gwi^&Lf$=y3m=AIA4kEdDw;F&z8kVw(C2IaA?e1(1F0w)*%WXUY^h2zTuI)i zzGwR{8MHW8TnVDw-=`QLmQbuwQD!HF;@A}FLzc4%gl$zU8n9yjcseKhahCm}C6y-K zp*te9^A~_|gWGNyEQAn22MhKO%GnGBdWUONw?U5zM5`!s)%9gQA)~TcH zlR{*jVhoy$%wP<&y!UiY=Q*ACbDn3;AMg8lp3nRC$1lTge!uI!@9Vz4-|Kr_cg$%E zW07^+*9iy+h?tx_epWz0kPCiZSn~_G9`T-R1pk=^p0EwHg1HBVT!gy`oIQIy5C-$v zCwmTd$?IZ(tfgC^m$w^SRxc2IHiZ5DN!7*EV4tjKVBnR*YHGYcsQ$+vdb~G-*U1W) z96xd{bj5V`bild3O7aX;T@y+k%VzGcep_5)g}Y4ch`6*D=XW{ZPe;{7vg5A$uBuh{ zwdt3x-`gykAf=nIYjbl#_D2N`f1QPtv9{GsO-);Nsjt9q^cfM#|MkM!HG*-gJVhyS zHpJp%m`B}R)RE!NFpKlvGxV;4&KWyzHT}q?EGphV>xqE)1Hp6A>rSuOYbXRh?0@)@ zc>jUC{LjCAAecbLn0&wCKkkm(V@QX|zkB`ouit+lc#zxi$FqLidg1trOr+dZ1%QDb_)wj)u;G{dK=Bq1LoBB%cCLnVTI~wzB{qcN5q3wn% z5G!T7-#;=ANK7L`Y@|#6X4HJ~%MXP%!yNYV@W+q$bt4w9P+xViCfXWP|1x&)ya!R@ zhl0MO==zV|kd&6Th~s|xbm1TGd;uRfJ+a!D4oz|#y8q`4ez&S8QLyeaF6z=NxraZ` zj^>$YZC3Ab_l7lpF&~WOPN4v7F}@H2&Hmeij;|Q`rfZThUYO+C6`WlAx%;PqKQSb1 z{v?9eL}jWS|9MJA_ddXXr4Sdo6W=Fo?-v;M_2OGvTga*rQTu%P{A3@4?e#Zb!y}RyQ5`L}%Yvr*Cad zjUyBa#hSxlr4%al?Qo9rPmA}&P)_N}+~k>%>48epy}VRr-P4C1_-mUrxdZ~iFEH>R zVxXnvj<=WBd#4m%n^I?|U>%9GEB5X$6BH9i$1q;1{5jmKrs9iBl+xicm*!2~YQ-HB z=I_Y(r%#nG&P+|2*k^ZcdYnT*f`7di8}}KzA9wFwHB=vt3%=;^_|UF0*WEib%ssa@eKK#?6FfsV}oHj!KL1zC(_7 zv@VG3*`kzia-SXZR>z%={MqB+`Q^XjPsfewk8fN;1w8TQe0Y&w`_<#Z1w)(kfwylh zaNd0-u2BuJ$-4K6KSpY~!RCp@`VB7aEo+N)Qux^V0kZ6UYF!9?n9GK4BAL%IaaI&lyD zy!igmW?vPO{CCs$^R71+Z(cgb)%jrE(ZKzPgF&gPk~A#FF;}VRF*DKI`QF`~8t5%Y zGPy6tjK@w_RNh0i#I^WjHuA1pMkQkX*QIGPo}TvL1emPk?;GmTLD@a3p=2T|o(w5L z98ta1;$y$ci!+uW6MyV|?@^0g2X>WvZIA<3yF1W5MxECzo`%nkz9HpbtoFB+ZftC< zUVg-6kRI}5-uv-|e$NX3@{ZN4sn+u5*9`N!vIOMN>?8j@ z1NJQ@u12m}gp0hZ@T~BgNxOGSL88)nC+QG7Az)vo#D6u9Sw&EDh+1TSB5*%F`pnZ~ zbeX<7S&3t=S}NBLa{ZeVn;v?4?^I0MmehanHt)Lcwc6%K9!IF9o?P3jCq!z1RcxcT98MHtdeARGLzXh@ z-#kq$Y#&?qRQ$V#zU;~~%Xk!I4>@QQ^<&~Je@xsMK)S5OPJ7FP+?-K8x(uTuZ@ogK zc6={zpQ6xzboRM@lPNWD0yjy{xJjQDeDYtcQ$deDg64XnvjD7CF5j!w#j-qN05%X= zsCp|fZ6lac-Kc{bPB;kb#PH&UP8_(p?~Ho5wcvtXvwl!6jIj+jOW2mfWNhZw$u+0D zSmE$)er6uHb!M;^N57gcm!8|_Xsg@E<)+?UsDY($>`6 zZK$uWZ&FCNOSvs7V=*Gzg1+&{IMLlVZC?RD&Z^#*V(stNn1SSW;3EWO>4@&ORAm(9 zLBrA)Wn9?&7c9CBeQmflq}HoDUq^la{Nki1tn@$jYP93E{|pG#-?vU-$wBLcfvq9I z!8J~`!Mj^@L#Tmp(P)d6D_0JvR0?m|cO_lb$yA!iFctue@_oK+bcm|h$6xtqW1wtBsp!FTMo$Er? znW-0;c^44tMMWp5iGVWzLc=d-n0&W0WUMLPRi>*gV&wS03-h7hWC>hXalX*c9~-5~ zuA6g%0CF+gfiKv==kyhOrIWdm)yvDv!#G$ip*6awxmgN_ELBZZer)}nWvw(zS9MG1 z^4fw&`*!<;ZFgb8AUP3bdA{PG=uqXFbo z@cz!5!V<{~g{2K`!!iH|`1L#9#1TTRzv;rq0q1KmPkon-W&F8 zBC=@ehz;cpU)y&5xJP&2V!=drsZ|*>y_Al6io^BkGfAjc%Qb2aRr~6Rx3c&Pvnh5X zfM>&t@%N(;EfFK<%9zl)&@xFWsi5raY%0pqz+|C5f=R3E^SmF#7wX>9Xqh^|o?^~X z&iQb{!@`E*wjCG(v3q!)(l=ZkFfsJ(d|}tJZwrDiRCdW2k0s!DOy-%TC(mq5ZHQPW zOJ5_#muHmK(I0mpi>{|i#t#k*IC^^*QYI%)8U(fIrhWc=kEfEiLj$ zBx9Jgw0v3mF?A3^SJU3!9x)_eDKJ{gH&bk-RbpZS8d74N z*ep)Fe~*`+tR`vbO+TtS>3{rEYnwJNCyH16kuPqZQ4*bfXqBPrTzCKLu?0EN>IqHQ zvyZIyyaR=>?WC#hg4&D&9yOZYy)U{8EGO!Xo(Ite1#5$+O&4$h6BddLfysmW_dggu zyFAxzS$lo8r~-Z0Ek|q$2%pHI1L-XuNALB|t-rJR*gqN2L4TZDq#HPSuhxIeh_>0w z&4BlM%3Bge-JMX8p(8X${^_Zu&g_$#6!n>^ ztEeO6m$-9wd!Ch+Z6IH+*fMHNC)(;<{yqDx_~p;^o@i#7htXmm##DC35|F(KzoyYU z_(@V9)|E%qTGkK-kZ;J)23@49tGqW-q&|zU4Rbkz{K!J2JX5LLZQeaPrw-Pz`7!ZxA%BK^p!K zso^c!i>daAF8Wm8!+(+2T778~X*gg1nXx!K=Eq)|_v^>HwO(x#4h{*ioO(bRZ{=@0 z((pe3G6FcumjDpz{g|}z)`k)&p1MWV@%{+x*jv7~+}8GeHa?vBIBu-CvT1V>Y?Z0- z_6ojukISCgqI6co>>G)^b|h`V36K(B-ym#&I+y0eooQGu0a)1*9)HV@zpVA-^?f-k zz`}qy8z4rlxmFxBb>PxHmvn{2n#T%to@ zBYHN}jl!}d3SUCf)~-ftY$>1zpFTb4ZU(S31Twy1dM5TTgQ`0(M*zTRFksmZ1K z{fm}(5g49bg$BTMqtuKa@-cR!sp8Wwt2gX8*)ZM=qvzO{G1YM81vz2QhDM+5qx?ZW z8p6ZF6#4ug8XfaKl*Xh#s11l_LntNA5EiGzVn{wi)D$LI> z_|chN9Z}^J=mlcr7g?+%Q|EZf&ka1o`kAGyb1%GC-eJ`z_Yxph& z8F)*Gqq%eQoC6+j1Myt;O!Yjv7OFVA zYIt7wR9<>=;m&H-0yeq-3U@Gy_Le$P+%1vMEMWGnkgBOX zJ;~FwF{S}OByH6{F>fBT)1H|MogH;?aiM}eTwS}*hokK~K&tZTAKf6Wcb^sboE7nW z&aFT9#N8nfX_7JGZzC%YL;1_-_c%m=SP(M$I_C9l0L)_J2&;>9yiY&2gRM9B?pPjr zy@vMXXmS2RC$`C^#PO-8%}oOL3%ZZq#-J=~FPcJ2YN6%s<|owbOC|Y?o1%bU(2{;@ zikBSbEHO!ynAWSCw7JU#j8D9E%S)iv{LQ0=^-7s3-jMZ#PM2?n*|?2YJ8e zD_GbH!yKrZfQ63-U&F@n1>d%u3^LIwho5^vsiL>Sj6Tz9&QECh*Si0ID~*>6BT<1| zN^F?cQe26ZmI)c+)Ys^h+_T^Ly?V3HsU}6ozF_{C3kmlJrKWHGL8+-9%Nk?2Me{(D zQF?oT>)+|vcA+bz+fxOU;9@=glS0t{Gqd|$LEp3c;b8#*=`>z103XGJf2*edTNUNs zIkxX1I^^I%(!ifGz!gyKY!^RO1$5tH2M|vO%RMZqReWuFa%R`w5}!kK;)f68OG`_e zOv1v$okBuFO7sdWF&4e;=o@KiX+yqz)iXLY^Ugc=Um@eGtNY^<5)_i-;^IzuPM)s? z0tL>sbyK#=Ab*jhH?H@>MIaLA=jR_!`yEJQDhBEhD*lo$Eh9BO9fWY)S$Xt(sqUWHw~EApU2itV z>{cdzPuFvP;QpDq0=?I_d*PSCeD(KF1y2v8dRF|DbSpDfw*-Ke5Yu+-;qPU$-L#Bf zUA6RA?s{{2`H9Ne9Z9xWnh3A3Gsde=eXmTFvpg%)c{P_EJN88mS}qgHKXY*G4h)35 zrQW^cep19>Cy-`_L2!rJ&8R)#0|SZId$B~Y4w<8T6=QA9Ezvj_C@o3xHMRe}Hp9QE z?*6xm^8cqQdH+84aN~#AY&LZeH%xXl>>V3R7{uG8H;bQD{$8`c3dBkcV@gGoXB_JX z-OAzh5%4+)nxu4t56xmKb38fvZxG)p;kHvte%p&rxOdy~6sLbI|NjrIlm7eJ{hvu$ zMBF&HZ{2cqa6o&5Oj=4xikAylUpil-&zB-wtxy%KEZN2i2@0xiXlOW|Ff!uYH$0rJ zY@RpB7pJ}NeW~yT_F)GyAfOz`_vWOn+qU_usHjwTo#WGlh8QVHNxDbj0BjGP*wd48 z=Y4lKs^Tyv?_P--mi@7EBV!o3C`$DRVb#_|R1jFr9b;jmP;ULQ8ZNTkOGE3jL-D0O z19yznUCbu$95SEAb43r!0WI$ySyWxox zPB=Fm4dK4M71eRyKm2?Gv?4~TFJ@F?dGTl+r$cv?vg4W@Oy;|49J@`!MGo7_?FUMN z1h`%O(YLD9uegs@jC14MBo3yem#aIB)UR;upu2{|w@>S-Im8D6dvtYmhk-1&Nh+8+ zG)2mc%Kqh-Un(3f)2q~c=gf`YvP!d-)%-}@s^0Ojcd$NJ>AuMX866#t5oT$5x$v6o zPt(DjL*~Rh^FNtZ6uA?i<(s2*U2*YS@U1M&vtI6vXRJq0uN1WS>=oK}KBmn+hiN&b zdFYVsQWa)lVZoocAU8wmwi;QO@^y1I5c&jK=w6aGf2Ie?ph&R*0WV=ty*gU#=hi;M^U-7(O)M$* z=T1N+Ay1CgwJT{qH`_hfYe-MrZU_JI^51(Lucm;uN~I%#!JRq!)FfkRlZF*fii^!9 z%6$cdsPzoz0?1c|+YVIpgY5#1b2}SYwD#{(8ff;*4|)=^XjkrD-3LYL>zwj(%dr~U z^Kwzsq6nK%k!;UoPGHJQ+}C>f=n#-bFM&EdsS1dFQEKV>@t#BLI?&pkDo!;$yru{p z&rEJpjMLJ|ZM7A<<~7x3lZaMHCiYE*4WkF%zuzAvrqpwYqP#6U)o1X~x^E|y&qR|U z$5hl4k<50epPe#9K>@G++;8|WWAahrVRl&K@(iA+&siLcnPSl~+=zDiiwD8$PF@VB z6yr=i~VlTLY-Y`SxS;0dnKuyI%2wF{sgRlo5V|HLptQh9ZOK+ zx_@%m2SnCZ%>cMQRxeErnp0E*^vXc74MoYD{14lIjAGOhcVh%5>l`Z_zOZI8D*ob>!U@-S8dcd|dNyVDCqE(-%@N^hTm zvNinI!wc7Behslr5=6xi!)NN#BWe~n%QLk^&H_%nURt{(N09RoWiva$jtX;{Pq-6a z;sG|wfn2$KXg(0nYF5icJg-P~)Y>KEPk9V!{)%BjL9S8aE_q~yN+6tocWlTrdNh=Q z)X`(Q7J#lEgq-3px2zn6EV2$I?TC)6KXG?UyzW+=LN)(XvvL;tswNp*MwDT=zFlP_ zTU-g@dBz%K?Wfgmq_$YgO07m3C`Zw}o<`KDq~qHZ1+qq!?%62IgnnA_y`gpF#H=Dm zKF4UZrL~0T5@qR>^W&LON^tluW(CJ?Z_rU^z?q%hmXPeM>Es|dnewzC$JAi=C(V1$ zth0K#s}+b#azu_C>b1p)z)8ovR73_zWN7rw-QfeBdZ-S%rK1oj^HOz%p}~1nc^pT+ zFQ$EQuns{#v~sF>XlA+74N@oQRm^4<*|wfp9J~qHOD%gMICW@|j+jL)>ygf?S@?^$ z6sFQz8HrJIatsQTTN5aFDlr(;Ph)UNmZzBthUd#bKwBM)gC1Ntom~5)S^0Fxx)#DP zXpRaBanzFq5iVBAkPbanuojog#GKyc_eUqVNJ(^-dDPdk=FmsM*PD}W!yG`P_u#Ce z{$B%N^iHsTB0}gVKXqDHi9cZCq>x=!f9)0DdN!I&JpDYz^slYV7ykc4|F6wyz7Ge# zoXsV3I1b2k=AsOD9-}d?2O8oX%H87~s(dmAE4)y(pzWPp_0Zb!#g$i;m6bOKq!`D9 zF6X}F^&)_XdOt38w^`Z?#hlPwg;L!Ni6np4fOn}m`Kbsy3)G5hjinK|W ztsz2aypFNG`s&q@kcsS&8V^ilRYe);C2(_7Ityc!oZIu+R>|aIzLjgy{f&$iVeM%uB?SeF-d3swg8Aa1NJ8)?+GxNH-FMSS7kNVu=w$Ws_%cj$$_Gg*;pf|AcrI-rKxT2WP{ z;BmyJ*nS*DormbO9A$T}@wQYy(Bn+~+F#xph6vc{G2XTfRTt?uT%*~asD}eFa?bwi z>8tiivO3`)7CSim<(B1A+T(B61=)=q$q67vGO8yq$PsgSR{ z2ymD}p6cah#WW?=2{yOkr#hU+l<#R<^YA~k287AoT$|n!C(3KFHhC_?wR-6g6T0x5 zuv(nh4Hvhp9XH)`GmvY00UtM8t#sAt`Gq4Ir6#$`-E^A55l(fRd{ZMn&bSKHsA>iq zBEzwqflBYzZ5gg)GG?wJ5YcO}TWQ=pHtR!@Nls_Xx}LLFd9fXUXL@97pg}sibGsd50MPB(580t-^2$`dbLY9 za-rX&)wWAWCUPzbrM(Ihwd4gqdm}MF_j|eGNvVv^?p~eC#QA2Q_~j96_7q{pO5!|YLvd#9~`a zimWGw#p3r4!~lMUA9tfS#rkAvOJjS-<8RLebkW7?$tnV}!WB8QSebj#TVC%;=Awr4 zKkYm?B-9|Q+j!bC0w{4XaMNqI!$Ch-a5F1@WLqmtydJTqf zg_X0J$crhG{T|@7;so7iln|gPJ`6%(^oTnoSrw~CYd09=Bik%;5ghdoyT;U zn4Mf**JN%;!$kO4y!H^8fJU_|0d9OhP6jHGAP$Yc#C}4C`t99}ntgXnbhmcklm7H$ zNIF3q)s7(f)J6o{!mOcvFous6N9f7N$eKJvDWKji`;HLq*e$2HrnvM>d_jvN@n5a3 zURIXvJJe=wL92X0OPU-@ggA$_)|Dk|OVfJYexLQQ(@suKtuN9j2iZ#A;YhU6G{pvM z5=V*`z<((}BWK5Y(LP>|KgESThD9@QNj7Gk9xBRFuJiS~n@uB|3$`0;pGjypr_+Qs z!80m{4wdFuQfE@Q2z$$M8YPI*t5dz}SOI*wHzA`O~sebEuX&6ZZs!!G$z-wm>G;1 zdq`ew)hN+Z>WV7O8?%Y*J-v8GZ8uas^alvOS<<|Ty~kZ?+Ldy6hw^Tvj=oSe% z)91a5dWxBS$2WG%L6)9}&W@7$hCzfTfwToBBNV>)`F1wz&bwFFSBsq=*I^8YU{KJ$ zlpxymjXZczY5*(j3W2*@M9H5jsEcgVq6y<^E-vui^U{_Oc7=f^qx&vUwn@!Ota8Jp z zBeH&d$|SD?@bzT7pouDT%>vjl7QIL?3o)t{?qcg1o|J4FF8=}&V<=9LGkLMInwpWkadXXm0IUhAKdFF|! zF?t`3Wg=6uCdE7Dx#-uTODO6f^wzslvh7oEIs`P+YHMi)o2_Sj?MKO9%hF6QUj!#0 zkl1+nmqm8vri1NuB`EgqxML9|ZI9e*ul;tQpw8>wSj+MXY~5>RoJG{Tui*H^hxA~0 z+Wghk()TrvdENeMsI>n)9iy2buiajZ%1YN33WFxZ9bm39R6tntZnb*fK3-RH%(wES zGG?n`Ci47B+MrO>Y_Z3MPX3kB_Z6ubCj;(?Skljy)K%ZKYkP=}U)3^%Jsn zLxx(RPPYfF1B!YonQ9@`aarv2Tm%3I`4RXQXB-`6W}QDVp5F=}NWS`pak3>?HtR;# z-Hi4F+%~JV*RjvvoHK-vvY2$-O8{f3G^llsPJsJRMA-U8-4=UA9VGDh^vFhZltq~H z0@N>qTXQGUdExrj4>1{S<6&WT;J2C1X*rn1RLKzGgw&?^;d2RfjtLa3o~S~pk|K;( zkpkA}V2MsEOLji+2ma)utHEY6 z0`1K*oNu?g7C3Ik*wYCoRF#tZPFix*7bzsHOtq_tLiN`PUc$FDHO*$~-6FNJRu)E+ zn1GYoEXkiLeU+Ydube@_2IPjO6mtUO;yt)Y~3?cQ9YI&+J- zkFK@xIu)&wBM6UwG(?h5C${AIB|EgJej8OP;@rcE22EPjk86{m|V^Ou_s))j?;RUp7ivCvYzg=F~UoTiMi>Lg0qr z>7A&h9Ilb*n#8}IZ9SMNXr;xC|D|K>ZwO<}%TKo>;6LT3_pLyF>e#aO)L)V7!g-MN x7A7fb{}mpibwJWfxS93xr=<6P(nA-KG#w?=^M$eT;0(Ng$q9?&B}Xq@`(N`aQ?&p9 literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/ftp/daily-ftp.png b/web/api/v1/rrd/ftp/daily-ftp.png new file mode 100644 index 0000000000000000000000000000000000000000..a6fc1f2c9e74acea98a581e3ee0eb2479cc322c2 GIT binary patch literal 15589 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 literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/ftp/ftp.rrd b/web/api/v1/rrd/ftp/ftp.rrd new file mode 100644 index 0000000000000000000000000000000000000000..14f93fa292ea60906daa962a6ae30b659feec3d4 GIT binary patch literal 47840 zcmeI)u}Z^07y#f?K?PsHMbyDb!GN2K1TCFh0!pEiL!ZhAadB{S@*R8(H@zYk+YqqG zr6l+T!u^+~|9|)WaAT_KCKN?+5#n`z^749pdN|#P@ov1&=0WDGY{@q+@5ZCX^U3Do zgOAVeSsE9ATP-f{M^)LVGOzKo#rLb#GX4HmTdn6hbbn7WP7snzh#P@8`nuGIQlw&f5Q3u6^gq z(|@tF!nYV4$9opfz^8b|H|Oa+BLM;g2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5;&{tBe;iVk(`udJ03AV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ i009C72oNAZfB*pkLlqe6cbn6?hw5(K1PBoLzXD&d#Eyjk literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/ftp/monthly-ftp.png b/web/api/v1/rrd/ftp/monthly-ftp.png new file mode 100644 index 0000000000000000000000000000000000000000..1aa5595dc62016598aef199e2f6a0ff394991c63 GIT binary patch literal 13498 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 literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/ftp/yearly-ftp.png b/web/api/v1/rrd/ftp/yearly-ftp.png new file mode 100644 index 0000000000000000000000000000000000000000..d2f69ef49ef6d14bc377e9262d157fdf7f0e0d7e GIT binary patch literal 14465 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 literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/la/daily-la.png b/web/api/v1/rrd/la/daily-la.png new file mode 100644 index 0000000000000000000000000000000000000000..5f2334acc0768339f2591c4a7b03c3fd743f3c5e GIT binary patch literal 24111 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 Mb&vHX?8;W~Uv=%g0RR91 literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/la/monthly-la.png b/web/api/v1/rrd/la/monthly-la.png new file mode 100644 index 0000000000000000000000000000000000000000..359cb88ac4b7f9db4ab37ca5a62a943fb0112c6f GIT binary patch literal 19043 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 literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/la/yearly-la.png b/web/api/v1/rrd/la/yearly-la.png new file mode 100644 index 0000000000000000000000000000000000000000..abbf1fe85e7e73a72b5b536c41dd93af646fe6b3 GIT binary patch literal 23496 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 literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/mail/daily-mail.png b/web/api/v1/rrd/mail/daily-mail.png new file mode 100644 index 0000000000000000000000000000000000000000..8af2f3d5c09b203e78b9e4c826db7d32bfefd14f GIT binary patch literal 19109 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 R{_Yfu<`vz`g_myM|6c?su(|*M literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/mail/mail.rrd b/web/api/v1/rrd/mail/mail.rrd new file mode 100644 index 0000000000000000000000000000000000000000..756ebc65796b7242bd5fb6ab65858d4f6246fbcc GIT binary patch literal 47840 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 literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/mail/monthly-mail.png b/web/api/v1/rrd/mail/monthly-mail.png new file mode 100644 index 0000000000000000000000000000000000000000..ba6ec35c8f54addb9d4b9c211ce1000f7eaeae76 GIT binary patch literal 19073 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 literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/mail/yearly-mail.png b/web/api/v1/rrd/mail/yearly-mail.png new file mode 100644 index 0000000000000000000000000000000000000000..538c2afc4740da73757298ed59f92d8c9e46f41d GIT binary patch literal 18947 zcmd^nc|4SF7q?PL6eU|~MkOVCWM_&}_M#Gs5VB78-ALAKWzC-Km1Ifwk+l+I%g!)j z?2L7WG4o!d`aShL_4)Pw_kKQae`J>XzV7Qf*SXF)-|snRg084v+Pmk_9x5uTy-Jra zXi`yaCxh1$yLW;AUET$s0)LbpF5Yy|f}1)x8`_yrX=+|@fWxi$IIqEt%nj{1HB21L zElun=WgNi!bMSBP1dQ*=@p0aBaJVleC`kE2;6GnRhwpq^&1oM|t z62YuR5)D=VqAR$fX&rps^6k*+-E0>w^Km`%mEL`nmi7G}ZsE*r=W#K*)43K;M)UWG z(&nCj6?4p)TGJ*XaL3~vH5-HToz4jE$VxNRUDNrq8@Ev&a)s#9S2~5sSkLZwvo3v+ zC8#egz4taDs$JDoY*f^DsK6UuHar9GmF-+V-v9V=2QHlR`z1dp1!GqGaG5tEm zIpXo3#-m*9eS-cRQ4e#kddIhC{1||d9QfK@4hg;gXF}lOW#Ko@^ZFQ9 zY)g{)bie@&I{e5C^{+!+tfoR!Efm4ga_Dw>;zs+!q^;Hbc+wrtUiw5?_n2ZhTAfwk z)-zf6RXhs|1|18T`L8*BG#PG9Rd5)t-ZnKkY3obIjW&AH(c$J*7@T~5ne2nFXYP-G zj=SRb5YKRt^}xgb`clZ7#w&7^E^5cG!a3->O=dxlG2ZsTKU1SfUFc2>_}nrEk$B`c z*GpfBCw#dq6LiE#OoINuz7L^{C-lPh*#C@2D9GD*Z-6{7Vh!VQs;Jx?a)fQqXZZE@ zr$*->%h5~j-6rKX0}+PXS$_TcAUpNO>TH@lwnZ|-v}xLlsSX*O)LUp)-t}hpuIh7a zyX?-287|7}{_|{3Hfprj2EQk+o;7U3?8hBk!Q_?}b!{a_0gHxg_Jj+@mo5eHy?7f> z%%)W-_U;I|Dk6rnL)%3JL2Tln6iUq;RZ>`J_R-utfv6 zu+YgBR2-k>_uE~5y}d-JjO*U3V74Wwk9r`YP+TsaL!r4ReZMbWTn|yla6Wgha1MK# zsnvm6%3!7s$(R~8`RD%1@%M1(jt+%zx%E@cNz$<~0=JbtJw2<2%gV~K%gW+kym*ma zTpUwYUhdfu8xylWw>AexRz0$TuX*;8r+-!Q=1!n7;}_# zR59HrzF16jnUS0g&zz21BgRiBnOb2kHM5;HE_{!$H9X99%ee3HL^Anfc>dp)_oUNR#qmvIZdQ@%aTp&gU1`Lh=`f* zI7({ng5ngeSSqM)?MvO8?|V=pWZIEN7_uqCl1Ur$SwJWs-j_H|-@tNLGu+qFi7PD6 z$f(aRNSfoN23U`L69Xb!BzjBGl*xAPz`EB1`QRFU$ z7ZeDIE1I}coFwDg?%I43X_sIIxiK%!&P*PN6g22Ck+vC-Ko&%lV^dNXh8>YP>FK^P z{CbLxj*ea*4?oAB^{e&Ydz?i`Dbdo>;(*R;iPCn8{se7<_@8Xj&Exr*qUBlLs5(mqjwGaqonq%)`8T#%uV&N(DTgzB2xm|MhiI%ygGeP z=vA0gbQ`Zl*?+4AgIjF&dpf*nZ>q3{;$coRPnWuqU6;n&fcb3~-yU+^x13`Qn3fLs zMvl^oFO6qE0}NUXUFa(`3zsfG-^55}Bx|OQep3R|X^ozzZ;x_QbV|)g=bs1A(6$}5 zS=hHR;)wis4}~;%uR8PaFO|}_Ys_ArSpGENZ?50VJjx)rA$Qxkd8{sGDbR9pm3VUf z0lMT|V>H9x>^MA|4Jp-i;bd8Y`C3b(F*Et%N;Uk}bJ^D(oTTPQtj(dRrdI8{<%tQo zFigO+F8`;UTRUp_UELMxT~ZOV-mJ!T83w^q|98(_Izg(e^;)Qg2TD@|g~VL6HwK#| z>cdDjoeswz&HhKKH@`_0eMNX&g&6R-OkGoEVcLiugMQ`GHoykVPAF#`vUmNs*KP~z zKqbn|BH6kq)8rtEUkhO*3$!IgUHtneEIlPxy07hfx>nk^}A{>wfJITrJLMS8a;1)c$tpuIT6lv8mnL zI4WnS_ro};e>YBk^?2-BZ0i!L`T2F;ti2`bHUlM3ZXy(uI7!Ea0+SJivaz?~zS`&} zdv#X88p3}x27C=3!HC$Xy+ylm z^UrDjM%=6{$Lo+PRwu3Z|LxU?_JhcmGGNR9-SP>sF*tO!eT3gI^~h{Hah|R$&=4k2 z1`OrDtEr)oT^>0j=bh3gVVmiQXFG5E;+@;};@~$b?%B`-b@2zvWVN{;w&Sf>T{^|k zD$!d~EXH0E-9zF2$IzDJVL9dH2?DoD7*F%2VGy663K!jZzunAhG*sM{T8e0>R`D zSt&C9QC2?rIk@xdqZ}gHS1<<4Gm{-zlhqHX3*y@jF_W{@lkE1abR$V$*jpm=eP4%~ zn3%Nas;C4Tn+!(Ztv(h^cAW0IYHx4<3@QItrsup+!9)sdP5(5euJNwe10)^#Wl?Y=r=YbJh=9RtM}oW48IMF@_XR!=f+#>^=WzB2f%!w7B_*f|g_cn=b4)oxgI~1VdFH{MwVUme;Ma zuV{$%q19RD#jNZXVrD>n|wbJvmQ2Fr7hNc59_E7w8z z9)40rBVv7da?*o9S6MIT=;YL1&wBg9t)r0=Xix0zpU%-a6O$80qN%e1_z%`U9J0ih zZw@(@b~FWTAdiBH2j9p|WWno}*p4b1ZL&M|y|vW#sz+SE&OF zfoRD`rqG|{^2dD^WKxU-Ho0{lKWS_Suw=)Q&#L{6Y9dwH)E<$Oq@AVa3C?;jPr19e z`B?M(xxaD@CN=joiB0aC^@|(`B6lEyRr>EA2{5z-YQ&2~z=lO9P{r0AdBdhlT)IjA z@={yNz`#K2_*w#@og?`Ew!iVy*aivbuKO0R1nE{DX-LWmmGyzxcb zfM9w=msr?}SQ~Us3h-h$EHQj{A1;L)EO+P;(Vj0_7}~Xqe4fav9r6QiSbqmIFmc5> zoWU2F2QjeKa}(k$>!+7x<_<^Tv5RjOush`PIGe89|x*C)w8l|MXjM1`}`K3PjAaA?C{_Zsn)eBM-9$ zcoN29gP`iWPq#NUHFcm4Ew8R>UcBfB7v@5%C5T=1^ppka(IPJUlN$ck(QFW*Yn1(Zaa67y|tR!Pmyl5qwXKDSPBPltWA&eJOK)9S<&}0 z*e~sy)KEtz5|+$CjM5@w_w_OcN1U4kM|bYJS!rtO12Oo}4BxxAZ}&Xn{mMjB2 zW}7lpmfphN;IZ#!7DPdieSRr$|M6qd8W+l>BUSsups-}Gehsx3CuJu3z3>DoFOmI- z9q-{j_yByYBCn05f&v4DU+@jp`4Pd#eD~wRijX;xQX{TV2u`FDlL9+jtp)62{%&Vf zg<9>7|2Wfcj{0}8r*Q}$DQ&$i%4y%glHks$0Be(^*((ji@^Fn$XDI4&;OzmWhmjXv zvL`HnSoZfMhp^(yI)tXLo7|^ufA>g6GT{nl*WynM%C{B%jzJM_;0hu~p45bsK7>9|}0EpcM82X^h;)mm2*i-SIKON7BKXNC7k_;e8^J+8Dcov$)|km475fJ$rJ{?1(IJv6#1iBJ@Xo^2|E`aw zZczGrrRM+#Ke z12$U|L{AikRBm%w3*JkU>+I-w)zR^-y{fe}zoWA=0|0VYbakinn@j2cM)=IZc+?3O zg*DioAF^QVDr=K^k;5hW1H67^d zi(je$T-ovV-En^+Ogko!Q!lPAFMkS})b?lqe5^g)TZk^v9=_R?t7qOS<(i(I&3N=^4_e^@5#Co6G&MaP1eYLkFaP`Iv>^sY z$#-w_G{;GLR5xA*HdZ6jzZZLCeDwC(II}KMC7cY7O^55p&~t7Ifqs5;tOtUZZ|xl8 zYx?vlF;P!f_b~5ti?Tno#d)yIv2$QR6{IabJT@BMI_M`XPDJcF8FWKLY=qi)@=mq@5Up5iFfhFZ@v)e&ZAq!wHNnxs=-(1tU{e z10$oPM9Z&N95OXEMT}^x^4!QyOMB?QmqU^7PJ~2vS0`7&EnB;cEef4lhN$sdmn*uS zmzH*7bcO!~RL6bsvy|wkue0aYUb`>t1BjVnszsgl>qu=t$3$D2c}t=s;0X4^t0cQo z$+8LR_C&mGyo9ZhTN3L&sGQ85B<(|o4&7TCZ*EyFE*8U>Q4zV>S8HX-)7^P%DpNBG zzj|c+Z*5G>4svs{EyLM#|4EthOdl`w8Iuo7FY{D0#PwAiowEElcMH4=ooY<15!IlT z4@U4b=4fRFVpG-iimhyI4&zgNfzg$4mYb`%P*VO5r{+^Jo5lTw39@VrBYIGw-^}zD zHYN=|GYJH|iE~Dny`%;8elwlLXjTeg$kdhh3pmz0Kx{Pfbe!5YxPG#s1LJo>A=#2O zBy;DIVtbwnT&)NnJ0d4@=28qz(5-I&qrnJmhy}|}^i!+CZ&^|mA9BG;r%ErT;OZt@ zmiKrne&A!$OXEZoyDl-DLpfRlBg&omv$SM2qzj{tr-;3Ps?m;pz>vRw zjGWBdjNiV$+m#}t*zD+2Dac4&b)(`!?giWH;~rnrKm-KniQh#)>Eu0U2Tlrv*anSI zU>KZWtB0&m2u85aqly7-hd0*K{nM#VhwpZ#~g5w{Gj zBkNxZYf?KWW(~~RcQg7Jf<;>Qi&1S_=AIJPA6M2lZixr4gCZ)-vAb} zh*?W|uHL)$BJ++!8B_{PBa&MUjMZj^?dH1e(RQ(p`ApE#pz~1l2fO-@(ck#YYd3Bj zQ)KG%3JeG2(03MJi^7$Qj3CQxkba72cWLW^H$~67Q?tDWN^FnklR~6EYI`n;jU%Qy zbJW?hG*XfUUJmR|7e6?;-Hp_|ddu$NQQ2L6uR!*T7Z}~&BnZIJfZGW)SR#CE45oW= z{Q0`DO(|ckC;p*tqnrElp-{-_1;VkGJRgAREq9FoBxhxY~~CDYt1TD6}k@893AcXU%6_r5gX5%0ERAEE}LiCU5X0HHLj^yT^Co$;Vb5&ss#y@)WC^0}> zOia_=y*%>u+qY-2v3~!Oh2>2rtFGW1{e-g?nzejdF$N9z;IVGcs?F8@CyyHQxZ}^5 zD7VObYHG^K%R?!3_xC3(`Jb;N1A;ZXswx?9x>)yp{~ko#xC{in@u}~XG_WRXPZ1FR z<3=*m?AvEtrgE|Z-52fE0Ku&u5fj7G_{pt!^d>P+?_F4YLPAnFTgG zi|_pl!4{Ov*k^f7=f0b$XEpeoBoti(e6{$IiaGJ?#ot?hFO*Z8| zCQVP=6LuR6n!41LEK|6T|Leh<#1uKt_>x9Xpg7CJ4;c=ul`TCi15to*^5X#9@} zG@+P4USD#T%x(2~l6i6dRvfAkIc{%o2RFZ_m=XZ>>Y3a`nVqM5BL34+{{u(kw*Xzk zqvE|71`+6HMY3(!RHOX8epM`3QYkhuV6p_dFlGYr0tP%$)s=NnjDigRHDJ^`N;GpT z(YVD1JZtrqX=`ac40$2qG;`Bz+yt^O%G{%h=iJp6y8i_Ae@N1Rk!Wzxi?auIvXJc# zd1bGGz`f=0>NbOq$8$i%&5wNQA52oQJe~mqi;n;-Xj+m$?EgF|wu zqXXn%Nk1iZ{tzjFZQvx`#yIW{2G_U$`}Ixl$Z`Z1;Uw9@z6m`qObtMX|C8DKtstH{ zSi!1R_mr(*VaJLw;cvtY*h;&}eNcU|uXcX*Be8O)6=QesPaFdkH8$UOXz}H<%r)}{ z?t$N>!Xv|G>$;mAo)w0;Bi&A6?rHd@LL zXlIs4eyfjo`00~!-M#Jo`*7jiKRD9-7wpFE`M@K0nxpC;Y1H(17=~zO3XL&Dh@EZ- z@a%yPX!r#2{%lLbRAdQqq!Q=m3@1iOtHhG(sSB}c0<%?&d6#;HJ_#4~;WOnS$e^2Cp#I#5As#-={h?)d|z5m1Pa34w7 zZIzFS6cV!u(Z21KvqWVVb;gee@wn)!FsKYV&w7+}+hI$ouJT@e{K(>TD2Ri3e&Zd5 zCwng331&|5&9^lsPTgd3bl!|v&4OImrxoUr`H#@&p9B20#Sbj%yiXg?Wly*daP|Mn z=5#Tw$vaKQFQ*Q)3EuEH(9jSntgKTLC9V295vls|JLop|_^SLSm^RkTUr8}g$s-#c zl3n}EmE|n^XgG|+II7^XYQ1%uk%LmJj{qp_m;f{dum1BJ&r5h66A3`4WI&YtKhaa< zqh{VWmD896P9UwTpAMu~C@3*80}g`4p$%jOb8=EC^+ivGjkiCTo0@t)HDv+npq}^j z=}yhft;)VGD(ZAbI&UR?08O|z1H&@K2Bxj>`)RxGEOx%_!Bn@kbe|~aQ|8Z&mZw_f zb2*sFlo*1JRp82%Cqq3wmuF{Z_lbWe#+$TSJx(xvKOl#c>-jr{L3AJRo9MnF-Dqi# z)qEMAJ1~?YkR3epSK2SspIR?$?aIcpzBzx<&DB*B6hcV`tbF6g?>=c$u1XNIe!jl$ zCgnVLtHGgQtEK?3J^q@ubdDiFHIDvHHFA0?w)d9{RM8rZ*0}Ve5Es_Mt9UjU?H=2+ zo>sdS@*GBI9jr`@jgFQi78Mmq+~_KN(ttsH!|^l3+Q%yf>s9y00*V7R_nAoJb4TKhzrL>`+91^VW*(}*z}pJm|fpC z>vF)2looZ~h{piHJy1#|b3*7ei4ZC)6Mk5-J>Mqe*uda-=9~e^b83q?r}*LmGZe(x zX{(Bk6xny~>&siVcnFHw3VW28CnIXi)bhK$j8bik+8wig0lCFOTVO$VAs6fO z1y46rZ$CTk3v8eK4{-YXL7oa)#p*lkzm0o1-*G+GK)L%Cfx2vNs%f&ZTmO9RYh;Ai zDo9>ua=gyev#Id6QLB6~wrX(ek~12|bjYh)!~E+4$GzoBSekIoyMhq@(zpgR+1`xp zBcKy9XmjE^c801c#R`T*Ae9nCt$KGj70;e838piSIX1wAUI)UOU@EVc(drbhK!zp4g`H9mwj2q~sGA8#ToxxSpDvR;VT!Qrcw3jpR52Y3 z%QP4yFdf3ZG!#93!gQX)HErq9dzyv;)eK{JDorEVhdXLenVHE;NsD{%ycV=7I8%E_ ztuPaux5NYakvlqz8*7 z5fMuhwJ=nc8pn%?xU(XY@C3`8(X@+2j!j1E?o-yM$apIrYxFAHES@M{!i+SIl?ph2VQPt7j%~#By-h*da>Q=nX#HitI@H% zlW$?FY2x|`>TsYz((q=xx*2knbO31{0ZnBXO1Z=#2PWLfOT5YDwcPDjbmGJz7>L9? z*FUC(J>4Xxgtw`)6oO<+Rn*g2B8GOo`~5B{j|n9yr)3@~(sd@!qyt&##G6W4nno+1 zC%-tX_MdflJ&X$P{J4cdDte`YunC-Axb37MA(k$db?{^wV~B;yKTD z#a`WH8l4O}7~2GO_lBt0mOJ3sbZ^SWzrcp46L{vJak4eI`p@P_JDW47p=FT}^+5;K zco%6k{L1buvn2PP(yS!+fl}<|kh_0dV0nO~>@0DCd#%M@PXGf6@3}7;oixCrdrwy7kiRo?f$qY@X-@g^DG_u8jWO1(0>^R z>*cf?$C#L56OzC$ zn$K5<5mAa9+W&zsN=K;hzUj7RqnMp%=`2}#PN=knLwBIB z2%$Y5z862_QTtvT;z3n?w>iy{r_cSfCj`#Ei5&wSZWY7FRSBdwk4 z@IqQ&6;>?8E%0h5Zan`vtP8-07hZi_QF1c$;^oI9G&0M>t9p41qD1cih^hcmwsnCT z;`m*~2(!#* zp8&o4;j_HRmk$1S7Ov1kV&2z^xIAsB>5FPr+uJ`p!XXp#Fu-0Y@3SBS?oMhG;<~*C zGXu5ZgQl7o_a4^|yBUs*9OWXuRfgQCku4gSZm3o3nV&&GG@2`I2c(-6uDg8LgWjzq zQ*V-{UxYb*Np7iatH_rYIDQ}g*y`~F^QzL8XmyYA;;X{@#uDe2SdAoqhDc-#BY80g zKKF49S^e z-(_Ok8Wjz@SG59znAc6_d-!c@s`dT^1?%jtg$U5|&3vmMxKydC;h8KhM85uqd>{>z+{m0`=V6(7tmApYIQL3o8lOyuhy^7uLO1 z(nrw!QFFk(Q}4=y=57Os@&|@!#Om6mB${%Oh;AF~?Nwq$bSpHqsP=iRB{`pXt!ismB>ZLiTU15^a@sG9qinazDh@oSFGNA?3JqM}Vx%0udrBm+%ahKPujCc7+Jj_I&N* z^=Pz?^cJ>J9U}f>ECfSbMo^!YSfvPO6NnE^n0r6}c{T{csqlp(U;beOa@ma!y!rT6 z8z0usz0G*wX$9e8{ZD*{0UNGneu@nIEQaAOhylWv3{Snj0_p|cX>yz21`viFgA@YO z3;U-+zGrKCoTRjOy<2(pAIu4~^4R6HS+l~k65wvMq}qH(h+2ssUQl&&e^uH)Jv7B< zjYWe(VVWNeDo{@RETlBuNVc>X*$LeD%>oeXTk`qr_3PKKeoH@ZL@n9YA0Yc_JwI+KsaPr;Mgy>j~&LjRqBnQWNE&q2*dR(V(kFr_f@j z6%F<$G$vgQX6$8}Mw|G_8}07}InIcIm0Ydjb&Vnd z->Ak6n zk;hQLM$a%3v_V~*0XgM?m#()3PU8$f#n$7t_IAuo9aO{P8HRWgd249&9Zqu>leXuNtwy5E@eS$7VKcPd9(jCf%tnJxU5zIjlU&(kV}5jYZJ$ z$oVu}8JOH^&%so4DMB&T~Jp$@cX7_LdX6Y;p^ zelL*b+f^|eFmF*AY2XIe)z>J%qps;&QBx}!Rqw*3a8+Gp`PQM=T6^y31>~FS*JR0> z6COH&WDntB59>R3&{dvd)jJe_wDDbRrm90Wc@pWVxPN@~t()>$^tM1mZt_lnUq2o; zq{5&TcHj7=X|vk<#x73MTQ`=H|1_6UZu1TRV=x>oSjRO&I|fSalffm=lqoPWayuz8?t%hQ8g^VjR?|G z%EQ&g#yUI)^%549bqV6?`*p>Cv@txZ5#s)Ne-fw`V0Snyb}($4P0x@kHpwA8UDN@T z%%@7)kGEF1E*)-~2AtM1CRi|&t})MjbA39mWBR60lQ&*n`Kq3tN}*}9od^CMa#KxA z`uP(0%dZx9#!ugMEPC0A?`!O~Rg?%yMuCO_l5Upb=>%pq&MUAVx;9{sx(Z5iWC>p* z3H)4ks88o^l4mKkH2k_zE%32V(Z18S0*@L1Iw=zQ|J9;$UI3&fg z%7=F~YMQRBtQ2*ex`qk2^Z@mzVJJESqeNj2YK(NRAh{+<(%%2{>C<-$wa6||xF9dD z3cOL?i~SDSYOpMtMc~%u6puxvve!7BLc*gpTlZ3stkzEla+PL*`I+50MH+31%&S^I zJ?ON$w#HgDEHTQttHL_NeX#N~jaxU3iT~ayb|8Wgj6%RZ$zz%kp+}^<*hLygpSUKA zS;rSnKcIm;=E}Zl&i$G1a_wrLWu7FN>Vp&mjh#k8i);hm1%0>46QGaA{^a`t!(DaG zn)IYB|CIM5WzN7ZHjQs{Y;jkW+RtKS=3P2BJ$;;njm%Bhu&TnyUmgsuJoiE9AhiMx z4T@qC5#3^-yAny>oL5L<2wH0NE}z5c3{20N%vTYkcT1j(+ZIUX8!~J|bpR&S98(uG zc}>R3myC%~l53oqBY;Bs%o+c))!w2GGUF)$@SxTYolB_tQG^rlG>IINEJ9B|pScfu zk+Z07t#NB4%RCbrc!}~FOVybRcuJ5I^q;-E z8Rk~3NTUc90@@lv`b4I>bEeVTKu^-JW(S};6PIR=O*5_4#rtmte$)rYv=E=%_;T^7 zm(AA_8kJ1YCdm}+4k2l2Yh#z4aB_15-FzdzCBbbC=l1BCzS`K{0N)&WM_#C_8s(r` z<<-;22Em6RZWBi>Y;2smaKUw=UVU8-Yy=ra9 zJ*;>HamAL2^Hq<@QIhfEyYjXW9+kV)yS`Z%PFwng+Cjh`2l2A**#Y{Kg}}-l;-W;D z>k#UX9&hzoQ|)?`xNS~Nzs!LL(kWmEdyaP!0gXrR$PXYtw?0=N1Gn5DGE&crvFr;je#g`YNG@!Kc$oPS#4$J0sh> z3zZ_dB^|@^%0XaI{CMZNmWFeW-J)lEjCzu%`yx80uiwR?YRK~BzE>jiC{bZU?h7S3 zOQsmA{$-(sa`a|cve&wK+5Hh8Y75Yh7ql~WS&A{!173ks)P059%ZA?V;N&DVfCQ(A z;)A4`3>Q^jjb3?EafVa)45(t60+o(}NMZ!U_3QrQ-8mK8LnW6$9pDvEdl@+mOx?Yq z3RmHjZN1DQ)P2*@!*rN5uG@JBct~-dH|EO2O`GE{HpL1$yG@sNCue~gPKr;m4M&Ht zizND+cE7%DJ_Je{J>1s{C8x$>4Kf2DZXYCzK}BB@l%@I{<1V~nae2A>6-{`Bi5@l~ z0MwaE3A=!n!jn*?1aow%LO`NhHCgn&tmOUSbL&rOATE@0lhMv_&>qqb$~Zg5F#5Ym zYfYPZdTwSG58TB{-*tTDDtQ?7VER=jLcksLb*u}G2TG3ds3uR+zq!Lqec(8VBcwLR z1QDs&6htz9m!?!s!EHUf1X8Mzi#t`Hxh9U{Y8Mw5j>^*feCK|{hmEqN6wO&s@x20W@_A%|uzFJqAO?-Du1N@W# zHR%Si5k?vbJS^Vr)$*Yzocb}Uwo+Ec_K@lw&QsJUHImbXjT`Q&&V{~HovsaF$O1Jr z)siF-AW>t4`sL=52J(#q?CFEu*~c3QORatspVJ}-*;VVFYNOj5t*K!rq)($~9Gf`-Mx&=>uNm@Ds&z`Q)9J~l!TGdt=i6=eFVYjWybjTsF0 z`S12MK7Zi8o8!=-Y=Ed*l4Yl*wg=y-PI-`xNr5|zH2}V1DBzDx9#zjjp%NpZ@NuA4dysI_TC(HqiJJ3EtNI#gaNM;keiK$6ia{qB*nDdcu(YM6AlEhENzX?t{Am z2{cc2VCsWu+8V@h9`yZ`YG&A-dacJYlu+%4@Z+4L-Z<5SNV%p)1YAp%YnJvFf#3Ja;Lh2tOe zfgqjF6R!ua9J9hAqFr_eOY2wWC&`_9JNz!(ofZGy0Wwq*dQAMWj4N2DbdV-2G&Hn@ zSGW>B{vk#`jMsOJD=%yF$5KLJtfZ1ciA)cU%zs*A4JdLmpS+S|9p8hnT9w1kqCiX_c#^!r*u*M!fW|E GKK}>T6g~3* literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/mem/daily-mem.png b/web/api/v1/rrd/mem/daily-mem.png new file mode 100644 index 0000000000000000000000000000000000000000..0a20253c330284c5a416c17cb68a76a80f8922cb GIT binary patch literal 21454 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%0A$v$Wr|u1L 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 literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/mem/monthly-mem.png b/web/api/v1/rrd/mem/monthly-mem.png new file mode 100644 index 0000000000000000000000000000000000000000..15a41e11e3f28f630783c70a096e91450101c6c6 GIT binary patch literal 21170 zcmeIacT|&U+b>F)fP#QCQWQjV9HoN}Af14UC`fNo10ub*ASHw{h>C!Y^o~gHy#xq| ziqb+0y^0VZ5Rd>NBqZmFv)}g{zi;p1U2Cti*7@TsvX&T<=eeJ|T-Wt0_x(&yM}v)p zmxYdwj_uyv+Xi%W3{*Ng`kziP0q-F1Sl9#qX!@x?@H6yu@C&f@v8OXIxb5fZ=_Yp3 z$n&AIt?xx$dp~Dad!LI+e!%}#J^%Wjgq@R$*hMElKQ9GIN!lMI{_78;uAIQ_F4En* zt!DI?ezT2)h3MX~++jp;y7 zo-xQ#yT0D^O%n=Z`1k9Bp$#faS!b!j3eht%VfKaGJ!;GUw}#QN_=PdB&`EF1B4mT= zc>uaDb&G=y!ES;qS_BP9TNfGE=Om#<^8=6JHCH9GQlkS&almhTAHoYe|0-B1ZRH- zJzfm>^wvS+$99>6HnL$|Ja9XW_v4|O>yKPXwY}Hr&7yzkj&g$z>)rYz$7J!@0y%2I zPli8Sdi5G;A2*9tIb6LAA5C+Szp+4OUiS+KVAkq;qq@mrgcx#Zysg7|wusJ+Z8S1} zMT8F0k3QpyG^T3^EmdD{<^Yoi+bDvP!Z}fGr(s3>{DPrg zgwCQ~M7_OJhz=5|AM5U-PuJk0Un~>oMPZx;6BUt5Dx_jvsW)n~r*;#}V{M{?1wo8e zAXDL{-_y52kdHTO3#*JX%R4~s>tZkp_T?E2QlY3{;{5Z6@i*C_2Gyr5suG`zPew@| zXnx>vGj=Rx=c%tKlcV~7io!$qM~$Lx7f$EDjLbAT)y3_W|4<9M$l7l34P=3yEa_5@ zbx5ogh*J!}y;v!n*1gCv0Qc83;L`QqF!q03R?YeexEO7Q)U_COG9f= z;jcD=TwPTli{gnttqvk8jY2w2{2SK2^wZN4)2OOC8PxTh0+HVoW+kG|Z@hhYw!ub} z%c6!AvYq%`a-w9wWFg{)bnwQ+b!w_E%-VSA+fsMlzCsUCK-MF}qCKQpU<*m5>^$R_ z_jzCbp!%J-MMK}-{(eiIM*N|F;My{ql$0D5t)^{!*RREjMSkMmhih(~CL#@wc-j|4 zxgfNjd%>r$`oRWAR;se1j~b|RwO$nCR4NT;btyG^Nr#W`8O!I()8uz4ICzcC*E z<^4&xL_C<%w6$UJ5*n2u(5w! z`+EwO19DC3tcS}aQ$tDZm3hNF^5C5(ZvF6F>x23VWdwB7Cx%;G1X~xh=h6rxL6NQg zSd+qb3UHsJ9u_c?q?qlewPKC!t~l4`(V5?SG$Do6Ec70Gs~%csznrRK+b$q^L3!5M zvU=evSVyGabt9{}$FtO3y3%{C6-##NO`B?Wqc#i-+XoDMy#OA_Zs>Eigih{-T1qdm z6zW6WsYy`cMrp>!L{^XerFUzh1M*qIJOe(w7;UQ!jmfG_9#r#3=ROJS!OipUY~T zXbUJxAhHx3w9=Iv3PzkTcHI|A4QwR_kHd9k_1DrzZB|=NgJHmC4z~qBL`8` z!zfEd_(AG?0I%z;ZX3~_pi9|~CqKZdxbzd4vnls+-qhrIDr2F3g9;%Pby#hJ2qf;l z?6=Se+Dog4j(x(ZrJFa~66$c;h=5H>W2?!H)n=(f&u-#Sj{<@!UYR70oUDb-?r$pg zqS!^TALG;3rOmBHOO15Q&e@S_mTK&mt9K@|=%MGOu1a|E*1MsuPit(wv&guk7%*Aw zSdkgepS?U(-IwXpECBTUc$^wadwL)%w?R_$wTz7N#^a4ikM0V0x4E4M&E-DUOI%is zNiwyq&@$+$ps|T+dzq@52WwC_sP*I$DTN7dr?V%Kuzkx)ErQ&4iYp;w36{gk?v`Md8xN|wLDP;Lu5c6`=Y2+Ey!ftPnP zTn78aV8Mbn8DhdRr@53kI}a6InP1gl4N2}71?A;m|7!p7eN=w*(YqS{TF1ag-7Mv)#1g69O7%3 za~%sKD5anlRO^6}9&C?QL<~S@Uo@|s;ck-8XRiEMoR7^LY8oOsjaKtX&L2#HB+mE8 zHAqo5E_rm@8)g#bkM@MX*1NIybn^Bqy~#zwp-NjQ1+G)zu#HA+s7xDjhvxME$XgRbR;WCmHE55N+ilpn}A72vZs z_YI49Len=l95)xq-D>&Q`p2VhNg< z5v{P3%A}ToE!>+gLk`NJ29Z|rcmd`_hU*XkmgW%mg@WtuHl^2(79=YKLO$$;XLn*5 zExb3qD9qS$*+9h%s$3Cg1o2Ss)3Ph0Y^*b*MeG_g-1}%jw1R_t%35IJx$F3S3m%|R!!d`fJ6I6~G&N$a&_MbHgIW-Qe zX_t|qhW|<%1L2?Wd$})r$C*5MN0=ITM>r^74m(XP1rE-&s#I}}SELTW7kb8|fy(mJ zAGGeddF`0)VPtMito;wJ%#J}OUVvA5{s*m&#tX%|%g0-yTCML$7o~@b z23M8`^F3IyE{&p}hH_Q5|mzqnQ_F38>aCKDYT^0DAve0DhR%TqZMnxZ}hI;1}5j z;O9q;K(~M1F!lD&53v6rn=0ND7CLl49inWM!fU(5hK#T}Y!=R!dz zV)n)%gzjvAN*8ZvJ)M);E$bG@IWmAV$2TXcyI@CT&w~iPj^E#?DW7ti8Dy54k-c{| zOuXk!5b(mk;|W3c-Y+NGiVm3Q1~d|sm*G7e?kjpJ9$>9x3I9@)@|~sCp}fpP{B+g7 zO2sCB?AT6AtKYPQV*U#FLViIBKQIBfo~X-l4CEf+=qFr|t_E*OKhY|AR27$FX{rp> z4Bjy1(>+R#7W}iE2o5>$BD#V_O)JFUK<-wq;~H2x_Q9zDGHc&c6+ginF95#K(unB` zc#DS*m`MvCGcC%2xLVnMSfc2=@`CV02JPe4LF5>Hg-6ynW?GE-re_zlT&m(jUQ*Bp zqW>4G5$NJ+0P9?d`S*(G_oD!iAr>!ifcNjulKm1w_za3iPy;%t-$o>%N25pfRW z1>Elp&+O9G#E&srOIK$3X8Ul6nGM`lbMx#x|21epW#Lvp@eN^P+u;ge`aYSL5fI^~ zt-TtizaSN`u{ZC z6+zPT;ikG#gCRo}h0%xAC62LRiu!E8fqQ}2VLKmkm08CSB*tR%F*(k8r~3wa_!3{P z`{bI4JF<$T(^&L~u!EbPjTk0p7*zS1-Q&@M4C4tNfv5m7g(rE%-BMqZb(1YRkfk~N z6kD{biV@}nfQx@kDc%OBovCmgY zG5G_ZU1|a6sZY(OHaYenW=tYOBvL{?pd=udD@TKZHw?%NoA`M+S^}Kc*^HrB6TPSEXiQ=98>hOCWERHK^Gu)BEpgBk*fRY0`RRbUE3HSMY7KEsz-aU^v2a49N2 zi6LL3O*y}JY%9^tWqvApKYuBa4P?+$YBwhDTC!=c(OtT5uQSCjL1lRGqhzw5Y1YqH zR09==xTwtt(e;QblY|Gn%T+Gx)Hi89Bc`!2D7Va^`|Vn8`9Ru zTT}JDa11zu3AZT^r2O#T`n@RW{v(ezcat&{<-z2acaidRi*=SO%z@^g<+JpC(j1fS$T#^op`YiB{UqP)Vx^ZB7vPQBY`0enTsG=m z95b4BElFaL$FWq5{&Jbwx?J#vNRhz>5HqhkpX=JoGvJ`1HkA{G3ptziy5S!jHR)p+ z;;9BKadl;3YMn6*r$KDllG@a-OF6f(l<9ZTu&}~~+gRy}2c$3*i6?(yNh{xGi9<7d z7%m1Ms<1Pz`@=euh)J7@Ig?p_bd?=4|wm zYo$8rCx4C+1%EC>Y}ZCSBBHoAHRHfDDI*A^%kp+NG^W7i+e_b*WQHP>UCDM)9!6q{x4!#Vn( zG~PU7^e~UkbS+5mZi}$?_|5PZx7DVy()kpFut!s(pT_DlELajy&^$!mjKAcg2T%`- z#!hAu_qK&iCDv{Bs7~9uSI;S)xGw_c+$cpG)3-)=*N2ou8Mc<(ytVPHIxy?Cq7wMw z-Mm>sto2B)5Q10vPJ^eUhilt~DlVi45YZvQn=<3`^IO)TM0;@k#fx6vwCv05Q|H?c zFPG&bev!2hfeC#bKwHI?M!dLoR$ujv{%jer=8E&p2%_=|X^r}lW1^?^>E3vF`xMEb zYcei_7r9up zW@p@-G_P6_T$Tu3|JBh7pI|yI)G>Ucr&7B9R3_Wo&_#>HGW5N*v7Njny_nY-+S>JH z?tT)yT<6zXxh&1D<&O!pk={zn7Y!SWdk)_X!{LRu>7$D(_K#_!Ts%Kf6t@`!7<$o^hl3p#4+!sqKI$%@}D2lv>8zhZc_YH+8I$kE{gwK0J-k_$IdhA*Dra-F!9esjZbj zzAI;R3#7~<4+n~stt5qW>~J-$z^ZN%YJdbb_C>7!zG8mr$3^1sm2WdX*GCIi@zt0& zJyvZlD zU36<^zfImioP1##FRNL@%|flfuW~MqxQ@zW< zny>T9l-5-Wi-+sVcX}$udgEHCYfWDhgs#;bt+xre+s)!R>(-jexb9)DL|f!BT$W$( znUfKDIvgnS*r4OL>8VDy^#>aYTjw7ieFbLUK)D5uiTPN+-teBo+MPhmzDUSegWbpGWc_05LMGsM2O!w?YWlo zqdW!!D-P`s6?fbVRqu=El|0p>D<<6*=o>Uj_~6ob&(g#BOq8^nOemWu z$apgNmfD}^WkI4onxigxgx8#UpMM?+0%>wT5Po3b-YhTVb6eUR`?_V*DS@#hOcQUy zCmF4Nqny=r|G^U<`L9~^UnaSmw?a4SN?aE^%qQKpox6j^)ReI)nx4y2%qHgd1o`r# zGZdWz_m`MgoaUD;fEC=GyV*Bs!Ww~JM=AarX+0GcnH8^blJ2ft96h3nF8ZT;qxECoEUtt{ zu=HyQDr&eo8^^3p`hrQgjFtNG2pub}>-ilzo#`otAEJAHTFVW)t=2H0Ugnayl302skSiy1 zvw>*0)q%-0RbF!$I*H&Cd8&tf1`D#pyG%-JSkqSw7 zDw&t%#rTSVCCuEHk4Yb6R_4|z_NB=@WxhrrdSJm}r zxM^j{dPhLs(Eo4P+(Zg-^vLzFwl};K>j)4H>cfAd z94F{tS<+`1vscAB)-!pV6?t=0)`xx>VP{{YK&$MO3H6L8}3fc#tebtP$J zoic@@(MU;>5bMy-rtsgY0G^|!QzxtQn46{!AXVCZSNhIvMYxtMPv|w`E88i$;G??Q zFt%|>upj|Zh82DrO>~vt&O7m z$Ah3b`r`)oJ_b&}%{phoNoAM_5NnT09f)E1kDsIjV7vOn_jAEpZS?frX)>-e4erxq z>%Ef(uFpPcp%j&9gyBDMQUES-L>xKE-x#&RS5EDjS_gjkOdQuj#;Y6_Rl3J-zMaJG zZ_RI6(D&hX*G7&o8ucOTqr%i~yEK&6c#9_EF^mvUY={!;s_R-Z;r_@q91fayC)S6@ z`f)CHZOxmR{ruC-ykcxc(-#)mz@0~pj;O4fSz*J1gFx65qe$^->2#cw@xgH;l9vI; zr|t!!OkiIOCHYI|k!-eXNEPK0d$z!}hD`0fC%XVcHZzW*K9M{D61&Vh+ST!q4R);y z_WBR{i8o>;g<>VLl7KYX);F3a04#*P1d-w8V3!1esZUj|;}Q_z3p#fD>lMWKb6U-~ zub*Gr~vO8$Y z?Hq6ync9{4psq)ST$WbZMvZuZ_EpzA$zo;?Yd;t0su169J$xI$&MjfNdilz9Y6LxL z3I!-Ry%5r8t;Wq7!(#?jVTx!fo8Ih;aX4Cyvpj}xECpsXY*tXQ-}j?y1rZ4pg|lz( zy`E`o-xCL;TR&d6`OLeijvzMCw8$M@Gv~U%D(xSEjOh z3UXpPPQeyPP5&GR5`q0PRDDs9*|TG=PZKft z=IT7a4hMPhDm9buw7rjEf!D~UzJu5bVzz>R34(+}WKz}|osOIL{L5qk<)G17IQ7T_ zV5uq7hZYTP-iI@eKQkROcHb8y@lkTEO3kbP&bFSDqrm?1R7hAf9g}2-~OzF(+3$9fgM$_!TI)T~0Po7=rPtPQy?l5C_ z@I9iH2?*+YHy~Mdzwkd)aG@;eyOd0Y1El*CMySF6VDVj`{ct!O8N69Po}tob=w38U zqf)C7#Fg~fI_HrYAgax-qf1?<^y?X&qxX(Uk}@MiaNy3{5mFP7NCKkS`F*z9Ngku+ z71Kl{5Zh-9wA0A}l)Z9zzoc2sZ!NEN{(}h#_vdG!{y_i?75d`{4-C9B0)#nRmH^c$ zV844@3Ir3dYIL?-gbYc1j)dF#dnw!Op|K6?(t>6SX z<;^P)rnwNjcB5?nwvrB+tFe!p6~q zg@^q>t+SR&sHq%|_IZGSmK(Am*=YJp?Z5SxY3QWz@nbL_N^)<6Q$q`TyyYoDlCn2O zH^`2V?S6@F=y0EZ`VDsi;-n=Bas z)J*oo_oFPf5YkZZr=Uv@ZdnHfcJ-Y)reEZ!=LB1gV~$xci{!?hY19VKKbPNtiudBo zT#5QIxdjj)mp2{vkCzrdp7ccjdTjg4clM=7AO5*00MyK-KN?+rKDPZPfuz)K#&e-n^DxqW^Un|k)LtLf{&r-` zxuzPzR7+#H46fcB5C-Lnqh5Eegi9XqiYcNSA^}Aha_*abV<6r^km_3$t$S*ZeL4{S zUvo^0jd|nk{}8Fw`{C)ge>!$TERhjLvI5X0SxD_}?n^%2%yj=Yh0pAOjI3$>zx<9g zt=Sv+(UQ?CX35C~5a0OZxTnzBa~mo)tPM=PI^xrvfQb3-v&~M237`SPGpKRU5N1Om zPIo?*=Es*z>#)iR7)F|=B>OK-iS{Yr$Aw~>({*lvo)%l{0jru_M^|4aD;9G`i3q|dUZ ztm~MVtjA0fy~X+ejd5}>aEJNLn{vpJmcLb~$f?HugZR>1$23QjWvSogY({af^& z-yJPB^!WJV93Z1BdkP#oz?i@#`86{PyeC0e#SsF@&Yr5#u3eLN;6L^m0_Ps<1dS0n zTo2F;IW+uZRtunBe?{nq7X(b@Yrn`@1<)ZJjC``You>%ezcAUv)D&ga6wS2)WXRs{ zhOVJN*P};fH(|QO?44WDJ_qmhaAjts9tA28JfYK#o`jV~kJk8d!2EKdh{}CQ{B!q;KrG;8-8by@J=k8{ z84ul6zet+Wwf@WF`H$QNu=4lbS=7BacIC%p9Bp_Uzw(0?#m$ewMXVU4`ameO@z~*V zY}@7*KSqm>!q5Ne2u4^O8=z~gAIBse+kVeiwb`@c$4&<`$yW96*0Fz}eSie>X%dA4 zj628JM9O&P-q;`8ev7Xg(TM*m>k%;JwyH7-8vSr3O>JXEy`K=HULF4%&&?>g@!svQ z<0b@n0IB7Vx0MaW%V+^sh1{WLv+>f`8y$c>{43XAwrQH>MgaIh8Zjo8(DAYWhMP>- z(UXW*ojAq@8vuxm*6;)LfOy8Ks~kX?@eYVwTTa~p*P?C?HRRHwoH}CeR-g*atP~je zFS8QuQ{BYE6#*uN4EhT>-lS8&e$IHx?0BUK4 z&26&gL%Btxgv+U8r%aKS%0c2tp>9B-ZuUNt&R-t!pJkr>^PriG5x2Is;tz}ZEs4(@ zcwJ>JXf-L7bkWaNIW&vH)*grqM@$H;Q(PB>5qpK_3D zPzx_%=`b;V_GvJTVH+Lx*o_z1oAG8Rqt-{Lg*2hVYK8X{G{bUYkS6(`l8tS)=GrEI zOVZB~2EJtY=>6R|hV8`5r#`cZ(pj)+rS#DO=8*C^dYiv*{80^mBNB#(jEeRK=Kg)x zis~JDpv1f=_QQ4{Rei1wqU3twa_bM`ey0YFq{auTusNKMs44ASa`NAd$bcBw#4$~HY1q<7UP{LN#jD}d?e9}BUTy)k4_LS;9IW-*LmC3jQjP-$y8tzY>d%lLLE#O>Kn68jc6X_%weHh5 zBv$~qIMd>feSSsEajEyk89|-LS9T|N|94Gb)Zi&`qdf=sv)C_?0-@31uXT+Mp50J9iVpaXP znB`n!o1%%H-=$%PyFOaW#fF7FYM8++#sAtcFxTGligFyLz(5Y+6x$@yu!o$NUoQ77_dtP@_MgJfKnB5HMjP{ zKxuFkiz<2*;y0weOh!B0Dp-s_&ISnd`yUAI4 zf8c8W;0$c>vi%(o(zg+sD0x4aAZ*wg@fUssy-FMr60QQYngF!1DUl@#;8csto~6|0 zEDYw}YIl8U0uZ-j&SpzAzMF`5c#$f0ONj^1>FS{{0QcQ{Zyqgtu@Iuu>>_3~xVO8T zfV${6)+)#;yf$Te#3q0>kW^Y2l|<^ zbC2`LVHGLi@8gVsZv0cu?8!UxX&_{gYRWFFf6XZs$>CnBQrAbdF83xUcN6iLU_M}Y z#in~yusxy?sY*{COECR<1(4cwg(M25A>kSVu+dq7j9+FnHY~8dJ$%i5N_sxP{OE#l zsqL*=zHmYB=(dzTL22z3u~v=bk?dpQ80!dkXqTfvMj%K;k`iw>x)P5uh= zLo(L&EHB{Y-7IX7l8G0wg1DH~IqA!vuG+h=2no+!a0MW5)+O}EwON3-^DT|8OIzgu z2IMBICQHF4ZNIU7z1q;Y(*a7swPqH2COW%GO+!0}(fasf}Dl04ZD{;DUS<-)#^7(o9SR_^+BEB{G8^RHZ^#lycU;k4A`|^947rznqy<9RNe&$WA{U}@E~ppf z*vRT0jir@b743&Egin{_|1e9@2rps)blrFhWM~@za|y(`$4jwJ6qAZmfu76W(luL| ziUBR@9xcwQW;rA{jTN46ht2KY;!viA%T-K_*Ffy*hlW^T8#1tOR8jfzcQ*C$w=eW$ znTF{7`Icej!smYgicu47%i@{G`;(5D=h@i`QXvb>pmn2;gT<`UBYDAR#wUrHTOoxT zG3VvHa&(rLCZ~sqVCY5)pK?&0qW72g@*18OGi%=@ytE>`W0jAFstHS8pDDFGrz^JJ|f;#M?!;F+Yx;T9l|PfL|dHK@mMHy@D*$&IOU-fs~20Yw<= zM1HdMI*_K;b}kh!yUw)+GMabxh-yidv>C-ZD029;`@u!3I7AuzHtf3N#06TU|199W z-@BvfpqIlAdXY`b!^-;;b{<_%*mOGczl{U6=$5F(jgct{C|Cp{IPc5S{IjV-r%1L5oU!Yran}i%p)$pc#38v8HU03ew zt>y_|oy7POIug1vlq<`_5Cinc__+$}wkhpQ1$1%o*Uy64V%c@7&;3a!S!tz9igTJE3SWyhu9jd)BW~2 z^Q_}Yfi|B0WzQ`(g#etqBnTX-*MSq%t|epy`L_b2VqaQPWqjJEOA4j5#K_>UHd1SV zLVI1CwlzoeV`hD;F&VhF7>Slo0a#-mB_fDBMHWk*8Y7OM!~r&a!nEmb0AV(OshP)0w zEYZEa$`N&;(FH96PnaZ`Jo6!=eJ*K_f~Pa!Tol?a@oAa~Ly;;wA5sfhVFr~5pRTz| z*|lLGse?f$hf8MT(fhOOduW`zyp>P8wA)nO=UJa#aX^0==x zh%D|)@%NdW;tuX`MCrlc#(cS#eiBZXM8tW3&7vMu6ojRO03Cq(3y=DFu0Ii9XG_efX^sd{3-q!(F~P7NZu&8s|xS;Uw)|iGYZb>fiwv-c2Q=-js2d0cA&#>*ea1 z#r~FRd)P`OPTL+4RstoLlveDZSbYC*opeNeeKzYmX?H5ycYiK@S$`pKY}=SuRDOjrK${aV1rB5$NJw=^7MMyz^>V-?3tE3qIXQk(q-~qD-NnHypQ0Y##86^? z0&-BVa^R9>wAm&TRT`|jx)Hr$PdIH+Sa2UJ^7f*tJfpopADIXt?D+6_ITvrcQ0*O@9p0d~EhB%^3DKiAM zrosmfZS`~?Z(hB14%o_pE%*d!FJ8-0EoUiuW+BP-OrRPl%EuFBjSZWIJ)0Jp=4XEsds}u*)REocA=W6S zU`0tLu*Azyt?&{;8#>unX;%AjJPWH{?DeTvV8uC^sM%d|QLFyQg}-TU%%YbaIlT9< zu0_Zx(HI)ULxKH`K=NavI4^(%>={ve>jamHGGQGX@XekF8lT7-;Yh8 z=X9zE&Wb2+XV?(gAU+HKka7Ow_3n0~m1 zc{#0caHOoFnD^=hVEdm`dY!XLR?92}1BQBV zs~&G)O)`CSM7*~TX79NJlt3>SJ|;zIAN~9_-LriSnV(4z>v5a=7Bl0^4?n4h`>6>d z0>&5x7J}szgLaFM1t=9#S-Om?3GuKXbN~>O1t{pIa3d3;lxO9vHP>Spnpr-btV+M$ zmtZgIY1SD@d3g)27qB{b$@ATgiMe3I9t!rHyoWK~kAFAiK=U^YC~ob-o$|qIC#iG5 z9@(cGDT-^^9O$VXK*>AgR^dmk*<*f5U*B5TbA+4{(u)CFOL?$b-F*QM7ug-W#gQob z=J4<^CD1L_txVSab6`?ilsvch+ayX2TepV%^34y%Jxj-tZpK%87KfbRvU;w*>n&* zoDj5<>KLM$gS!@Fvfj+g?x1+zwefp?F79auaB_?DNC8oknRqer2`8#KNr7q`&X-js zQ6zr=2q63HVZYvHtB&Ef;F)r~01^=%EW*PVqj*{<6pHWtm|jin`??5*-~e?PWt1UD zZTbbjVuPDjFA&nb11ERB&fa4Dy@42Ufv#l83{bqm23*^;q>4Xu4UnhhRJ^=nuBw)d z`cxJ@$VLBR$el94?l?}4cCLA4)lla`uoEYFCM(VOZu(q#4nMzmWVDt=aWRU)S*1ZDJ=vbK=xtb2FfE6g`O|V}Jy2I&IA3+%PSP_o1CI8xpzeA7 zl|U_o#p{Od;Q_np~W*iSX$Py9=Nl<h5qmi24nnWO@U^Xi= zN18EH#C1;0gvhLDQo)!v2wjP!w192>J+IH}o-DbKST89J86T*cE=A3RgBO(xdp-ii zPEiQAEdi=^pP1nqjDh@0J{(8xbHLF|ywX>7)S0$GZZY>y82mU%<4k(EVO z^@K68LMJ7$w+}Zyj1>!yw6F-Dm}vGb1lMicn6$SaKFZ;FB7zPnE!KxzcOF+e;x|4$ zm1E9<-Fb_z_BB|nl;kb`_=#yR*2wi)4~U7gNCU`q`ant)BTd$A)a-bn?g8(fEmF-7 z{xCcTr^2YGYLl#$;a!+@0Q78)Rajw3N2T!A2G;Kj>C|~3g-#;^D#7_07XsglTeZ}M z1Qlod@-LFL*!)>1n!NLn2V+-0wP+1ukbSIDY$7>HSE~zfvMv#=0QTzPUd|CYdcx`ewIiN^iNC$7&Ffs^>v!l(by?l>w&h2 zGqYU^p7Ip#Q^59)UX;r(=w5*R86r;SjQx^7edMVYS?>58=su&C_;=FR^GPZpA3vF- z6b}1XrwvcrFJ!qUi(YSyyBxf=y3r-wHd4%CUUVe@sQB$Mkga!X)<)yHY=DdF+dy@O z1K&->q%ob53FX42nQFUepcewBjeb5GYISYTx55?!?49(P%W22Y>+n3a`|(tu#T;4+ z@;d#@_s1iOeiZ_E*FQ=>$^V$%*nm7Xe(@Kxe*<&cFF7ZGcX<{?eAs_TdU}yS;*@!M zoBM}ED-^*1WMjzD(mekzAh{*?A7*49)vf`SsOI}-en)%brn3dc=Tr_B7^!Sz zlTD;C2`#9$m#PP2!lk)Z2*X(_jJvx+6*cIUFW-qfzvcm$R(8~4^0#Z-4xw_{@#4Kp zj!hV*^-hCLmQf!R+Qa?e>wOps0J!jd!))jlA>`M9(L>G13^A@IBzal#$OXn>OvM$b zMSTN~j3T!ltxm7gj*Sry!rbQwB}M*L{wWl{CkQ4!1IEcLkPkp_X*9r#3Ih{akO&L+ z>0ImVWmpkmzT{}F9S-byKEiD^EwK}5G^cU&yHLgZ^a#gYZTBNYkw~=BJx&EGKUDLU zPt%O=tzUgF1-w(1ZR$-s%yLb|SAuuW{R^%3tj5PQ0IDc|a6N;Qo^2aIXo4%BI_+;v z;sDroep~Q9Q!2{naA^Jta7+%GJN1pKG3e`0=aqwYGeZ7?va2Y~_n6#U(XITw7S5Sx zjl)X793ui2lVBECzG^roGvILS`q4?v1Hwum{LUlhIUF^_soQMJh#FA_m!SZ~@=?Lz z<+F)w-?JiAvV@EHx2%{+ZEshZf0OV(v!WnX7lj0(GZ90h+-Cq>)pk3GU34}pFDP`K zL#``4Si&f;otPv~Rp>*Png(OY4bvX@xK{o{8jncmVB|O`Fq4<}*)P1G`o+~H0h3K7 zX15vs#%u#{2Rh|Uyr+Ig>K*FG=1`OqX;EI4e(gI_?XNL*4je7gUrrJ_GOTjpmJ#xt zQ;@Ilv61=I+=yeEx-)ww3$|~D#61(t+NL^Tc~mH$FWf4}z6;5`QTZ-3WKD9&A5}Ut z7#U879I1GSjT^_E(>ATJT;pfI&Phv-N}BmHKHw(}3hr6K6(bc7g83_H*-<`mX{!~l zLkt5zA_%T){*DGcscqI)@At|^ePzz~K~qfrAm%n<%-6}-UpE1msd)H&8wWW2;IlOC zYcxYrV-;Y7{Ah^fXdXPRZk$_g4rhDLn;o<+43<3oPK641?&~?ulQl#2a-K89Dp0?h zowv5Yj*?$$h8563LPC0Br9*SDSM=^u(2a>2adAkuVXiA@{JJ!u9I-VmBlRV`_eI$?(=iBry_cmd>hB>Zh6~h z`|hwBf97L4x#S6dGbS&p5T*Vfo3(tRsw} zUPy1P{lv(Q^;-_S6L@mDwaz@Q_zaNc{ofh8pzO+^m8;9au)&)GJrh;7w}{Op0gJn* z8g{I>khHT64h`P2CAv+w=wuhPV|bwy>bfX~?NE`L8R{(;`a{}T{S5^CU2*M^yvYym zpB3Cp``d-X z7t82?wAy}{q4>801Usq>fb$6-Sb6Ah{|yJ)$N^M8IHOVp6Zf~{^RAU~b`S+jlG9(S j{|%4+zt`LjDo1d0`W91|N*izpCEY!Bo!b>RZ6f|3RGXgr literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/mem/weekly-mem.png b/web/api/v1/rrd/mem/weekly-mem.png new file mode 100644 index 0000000000000000000000000000000000000000..38e4d11581226b2d0b2669a466dd590d11269ca6 GIT binary patch literal 21990 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 TwwD`2!0(iq)$uYDryKtUw8m-W literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/net/daily-eth0.png b/web/api/v1/rrd/net/daily-eth0.png new file mode 100644 index 0000000000000000000000000000000000000000..073ecdf9cd881146ac6099738ae8b1983dcaad91 GIT binary patch literal 24003 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%0A5gv={VRo(AHSML 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 CjfklL literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/net/eth1.rrd b/web/api/v1/rrd/net/eth1.rrd new file mode 100644 index 0000000000000000000000000000000000000000..722a7b2f34b468a0313cf2d493399849bb96caf7 GIT binary patch literal 94664 zcmeIzK}y3w7zWU&P(6YhQ4m)OMm&IoHn`->!!7M)(}8l;8H-irHel@#WRUG%p$p zvvL!4d;gdZtG-_N@nHH#x!HAIWT$y!pXJ%UXx~m6iybCySx+HrRM(7~wZ4`ln*(KS zg{++#vA=VjXNxaNtov%qigjOYS+VY`Ei2Z29o^mEJe-Y^w0`e~84R5_Kh^Jl|C%aQ zovLrHEtKeb+PeRj2DdJReKoG5pt0Lh;?uzl8q#JXWr{1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N l0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PJ_pflp2`Kwtm> literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/net/monthly-eth0.png b/web/api/v1/rrd/net/monthly-eth0.png new file mode 100644 index 0000000000000000000000000000000000000000..1d2bdedc8853b25309599185d18af9ed5a629c05 GIT binary patch literal 23824 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 literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/net/monthly-sit0.png b/web/api/v1/rrd/net/monthly-sit0.png new file mode 100644 index 0000000000000000000000000000000000000000..dc0b9b691e2f74f2def8cd06790d1b11e52c5884 GIT binary patch literal 14909 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�J;@Ni#lk}Ek>aJ;g9c5r?A(nCub;~PqZ1nB0eu0`@3lmw#hAir7W z^qtI`yoWhtWYWZoy*9hOI&NQZA39uMUh)OcK(!L%4Kx#$i*lG9c;P)=qq#9H-w6D3 z>0!|ISFX`x*sW>+4;D!I)nmXKdF5Nde0MV^&0J$yH(+fjU>Q!EHsU&z^CNsdjR51! z?+CdxhBPn8Kg#uh?S_}ioMk&>pIL7ZohGJ*4Q~+{|0d@XF(MJ>;O{?2yw8cIv2v}W z4Qpar3w%1l=MdT)SDU@3Tlg#ir6DG8CV;fIG}t84*WCfveh!R82FTR-EeC)RF$Cm& z)S;GOY&3R9!K0hOm&Sccp(adKLOZQ4T;Bd9blZf&U}v>p?qjE!Z?EXZKQE7ZN5Ha!j z#j(kC$cSnK=e&SDe}GCk=E9E+M+^Z$CLlWW5Z7?2bYmJ8rH;sY9x=n37fqVi2PZC{ zo`2sr0KtOYYibI{H;lqgtHS0@2vj^1at!*m)e1B6myYg9SKTw1{ktgh;=w6^iwJ2w zb!)SUgpRnXVtI|+ZG$-Ri#a#)0y5rwCs?vlyz-STmFIE2jXRiLk&WS`yM?Jfj>=Uveu>d! z{$$&e+p>H&(E)l$Fr&ku(sjM7CX>U}Kele^DX04cwTR%_`xca4W%l!f4I_@rl_M*5 z$fA}iN5j7^PG z*gCq^5Zf`m$?X?^cS27DkW}36N>&LE6w6k5$z=V<(6dMtE3 z*r*wJ{m|4~!zja`Qc?_R78pW5Lpa~C#!x4j2PygMX z^!v9S1X9S1-_%kX6p$j?3Dq0JhKn)bXWp{fJT9sccV8xSz&sZ(i{w_Gn>g^&W-#X> z-tA^fjRU}M{Jp(^eCQ0*d!dnsBYLweHvlIb+UpV2UYB>z*Hz5-!#n6JH~1(W?4;w| z`A!#nt>u%Q8?wmf(wRmds;fCLpixKsTS(lcc2Lh#a9%t8`D>6EBEBOc`-@DwYDMj9$!)^SzRZ&aY zNj@l=*c~hn@=%NWR1nCl;q6)Nm?PO?2B)hJ%dv+ud`6@E;=ROc1sHXNa)j&*I5Lh= z+gPmqKoCY(+f{<(odxhsJWR77)>33(BV((Ub^DOqg|knNkKnquKY#wLf0}rd7%}=h zl@|OeA8l&dc1;6BGhm1fP0*CX*AE?BsWM5SwlDN8JD2k)^E%@kDqGOM^U;X+3#n@J zl>5A731hBB*8`_ggw5Xu?N01EoO!EWhj}a`_UeR@Vne)NK7MA;9WMOYWP)y$9LRBP z!dp*H@=_rG?Q@c2+u>&~c=z{@<|#}?vx>u-7L=%rwt$u+eZv`Vy;kO?L3^0TEXzYq zG5;gXtgVeRwWPI+%C=nFIERCMweFt4;GYJE-NLK2%Ea+NlZ_F_297!ldAYTlZ^|mq zE(Qy@0R&~Px^8E8DK{|}k972%A3V0zklW?%c{0y6;5jgV9+3BxF`-t|{Pij_bRUk`_hnznvC zHKhhH7|b15?~Fso?`^X!$0mcot$RK|fROXg|u=|t#v;?E_RL$^dvwQdH_MVq$C z>`c6x{a$;+J8=#-`uVyBm}c}M84!ifYJ4Xhl5UR=4A#~^)dI)|NqVVqlZV+F=E_wDV4{@CqN= ztMBVQS(GarJ|q*cpvVPF##{NaUD~notrFta(ip#G^HWW5*oQv7V3gv%TS?|KGk@$8)zn>%M1pe#OLk z2J!Fh@iB#oQ-xM9xKW_`^j?swl*jhp^BI>sT=HO>mfX^VZO7~C{ydhS{kZ71$yDw? z2MmCP!2IbU3!?VbDaqFVIuNRmC;r%1<;8Ar)8q%JY4QcwH0i5;w^Mz4Q~vyez%Wo; z9-_hD|2Ls0@vy694*%@<Fkh*fF+e zE-j$J=$X&|*d4k0^|awUITqkX{Ml{hPK~D%^$xcEJpZ&>aov`-Trsuq=x99HwuD2{IQ+)`M5HV zf}F?ZXv^GNyIKzc*V5gxsz9CJtlnY_OGw6Kiefee|%wf zNpieav%|jPcgq^zKM>5lGxun{v(8WbHtn5nOSXSkydQVs+v8{4x0eG`39uIDmowP# z=KG)MfJt1FO`3v!Z2|VLz318MEv?(PX@|zI2hIGSQVr4On5MKkY(H5a8KfQJ+5P9S zS^6FKeWwCN`*rV@UXOhmk}8XO&Z9uL!>SYYYo?t+8WaPcSn1&LFOvnWWuXjgpQJx= z3HC)b!{L*^G@5ovN8kXOvihtnl#w|B;KbD}u<3~NKu>T04+NF8ycmLZ9w+eVQ8u)8 e5RHx={bzqmRL*Sn!$KnlAnYxQvsbrlZ`<6W!Mk`UKk}X>uA=&q=laPHc zgP|$=GGokO%$V)Dr*k^#dcMC?*YB_Ax}N8sYPNgs&pr43er@kh56&7JZ2V*U9}oy+ zo`*oV+2G$4zIEWwV=hy5;IGp@dY64nJnVh^uX@=*&Y%C&$HT)_Uh0B}jnh?c zDVUv)lZ%~~)KMSsSl8q4M+a>kb>yWSeSEHKDk^ebIQZj*k1oRC>!cv3{ycW!1{WcT z9wpuoJ;@Bk=M_QQudws!b*}aL`1=!rN`gg#rFBQ|-raEWxcjbMx2!`Xa!T__hx#9; z3vSrfc_pm0uI?QV+K}g#SgZS~4Q}hNxj?kL)*M)zyMKx>X@}%tXz>ht|kCB z+yc}0F}-AW(e6`*aq>cYb|W)<*D(n9<`4*v6oiXU7s73}nR;5pq50JDpPpSuLJ5Kw z|9zj75O)~c@StkO`fnfl=lOc5+TVlx{rHw4pA<`_yeo0v_rW>OZ)W%Z`(>QR%DY0S zonyznpZ_xmXA_eUZI@P_Km3m|U z-Bn}iR<*iyIdCE1_W z7b-#qmX0fBLGoJ6@#FqEgsOpa!kkr{NT{+@(%%}jJ(hsljY2K;fRlnjK--3`oY|ceD+`a{NybbhS$u#&DT3bAEi z$vzD^(|tJ>?YUN!ct)hS*2Ahbo6oSBC{`1KfMV~VE{l4z^pZ!}1JTPoC*E6Me&Z~ce6-1w#bR^MAthAlzGSF8pMeu{ENOtgfLUHY_=UtGh!rU`XrMsl5>6@!C}5gIH=PODFWwdeAHlx}+-_TF%EkS*a}j|>t&E3PTY*HvtMXdmQCUZVu5xd~kg`IrlJV6UMU*I+o)5iwu|eDz;< zM35bZnp|8XlY6>1n*5#^>xz=lcCNYEs^E9m;9)hMm;h(%Pm>FM zP2?@gz0#bSgOhnyP{tBo5*)~e*jh=Jtc`gkz5bsgg{ujw6l4y}-lZ;wsgU8g?oiF4 zfGdj{1iq85i<~no7BEpDDL7p~iLWrMWF;~M@V$dIGRGXEqa9e#m8n!GWP$i@&aZ>4 zN6Lqd?}Xfq03|eN5F%U@D0>IW$a39dSDsF69%fxlDJ2AM@wqfG+KB3O46H|o@{>?h z)Y?NlVC(SFuhXR=vjfTfdl_FP7hsvKssvb(``5w6x3j0Z%(k4HTM(mJ z9$Rh*xFW%nhYS~fUBZet1)2|=4b)yg*eee<|D*rh{E{SM^O!x@U01)F@^al4Iz4;W zMqH9Go8mqH$zBl@lrjQX+lwrXiyEHlIRvLnC$MM9oK~As#Qi4Z^%jBt;F{8uJCOIR z*&Tr-ZKoiV%(1}ddW^ugg6t(o*^%T@Db(dZg1m8~A3s#y z8&2)+K3C+1Eq(n0UU=;R4PVrWPZ_gaPm&Y~_T4OXMzDJIcE{=I|NhEW~Gu3la}JGK1U5;eR(SXTNeR0QB2uy5Vs@?M&`7ILU+!<*fgk27x0Rw@KF*M4*=~9UN$gwyUT28K_wHt?jNf`BwUJ>mqijU)&9-=} zrakvT)hWYH`3sZOC~2Th)FPoByLSg3mzI|Ho0&M_5HQuX3w!Lb@%yiJp(nBi#(!OD zgtn%w=cgMp=+bO2Ufl^>r}pQEDH^Yf96FzKur^mN>2^VZl8QsePHe02%X1X<;sEcz z4`q}=;(2`8aFFwAf8IMXmIFG5M8;wpTz21;CF zwa3M^{I&(~zDtXefmOJ=RNNrhcz=DrmhO)WS}uu+wcAF^BTk(VpF4W;Y}WRdr_FM; zxl_%c_})mJivtQ^we6&3TMq}J5=}cO0`y`xv|$9r#tioW8IUj#L~vMGdUAv90_7Jy zSoL7Q!lT;m+9HxLSfXFU5IXbie24sWzUe~^s8T{59J4&u0q-SFzSBuRWfHTLM1`$i z15UQ6gV4%}keT&o0RVOGf`krMSwup5N}$wPQYZjg*~4zGxG*GY(+E@^v6s(Ti;J)# z_`)gag^;ok~RKm5LA+7ncGtM=f^+}0nx$BC*e#_ambC;h_X?de2U(Y*hYZmNe@^^v5z*V@)Uz9uk*eP;|SC&M~-%6@5)^*GPTYkg04Q%u44P4ZctP?b-Ls^*4NEw_SC~`=p zpI`*u_%%CdjC!Hn4q$mGjJ=}yLeocQGdNjS3?c8VQQ9L>Pmpe0udR?BEMAIJP~Hzn z`2`D7)ENaL=2b3d;N8DVg^sS*%)-|M(eXvB-7Dj;2>=Mh?qk1Iv~P0A!pKRaXU$vh zdb9x#*fWy8d?80(BGz2*U85U);~iz8gt?PvGX;+8k073!4Lk~<9RIL^J<*=f4$!U~ zK`R_6w2LsS@W~9I6UqW_c4f+)_%$OinI3q(k# zTz4z+j-og`h?L_*_o-RT<19YbfMM~q3PJNa@K>4purplhGQWFu1HTkJT7fddpSxI2ShGKnUo@Kd> zq(=C~D%Sz!1t4h$wbr7vDRCN}BY(R3awI|H&i!0Ra)j;%y=4l9EV;t)TUhfbTE<7a z=adYyvg>X)haQFZ+`XqF!uFCEJ!r{c9F+XAbKB#IdgjHBPjd7%rJfE|CCSptuGDfb zbZ8O#pK1qE`i*s)opbblU6^~fywL9O*~1D%Jj|J4JV8$TG$G_qmCwFvT1*a{leJ>b zf3353b!}^lS81du>p4DSZnQ!Ul)DDx#WdR*SHH>1mLM!(awS~;QkEp zpf`mU)H-yF{`nY}6$y>JM1my62^$QU&nrWn8gIhj;mQYwb~-Wk@+>{wR%z9_z3_lJ z;GhsupSnv5y(c?LYADhvJD1RuqU&GZC(HmH{g5fwwX!t(s4Di0CbxPHb)1`{twi2= zZGyblQ{j83;|2*I2$~x)z*4^E%?5f+=1nhqUy1y~4h2!b|o9r-vh?8Wmqmstx(0VYvMjIliUt&XdXK0(qxutFt+ z9sgvsdM~nBM7FyD#x{EKjM#5uI;N))Y#VZUn=d9MsAj3pqCLs~vy((H^{V&GN7 zF`D{-Wkk3@CYvq^z0dtCIBxeZ^$1MPZRjwGxGA67kFxlDS9Szlv+4DwBmo{rbD3>I z5a8mVsMp5e77%AlN)h{3kU0*kK#;e=v9VCl z1U^3CZ@_piK7`FEyGpV$-Q-J=_`l7ept53bl2XbDq99o;0*T}$Rxc+%(c%J3zAS*$ zAljah5fiG9+{m z{YTl1g-cZELYvA2a~Y>j)`Gb7Wl#47yvFl>liW(bkla{>0*jr~iXEb}@uVg+AA?sC z(Z#@`nF&uk*z{8|%ihO-=|@Q@v>&x4v1@rH9mQS9H-D{HKfABDSZ?YB<)r^6L#C7{ z7QycCSgGCsCTtLL-%VGAZ)_)GnmQBVVT8?CNJBD#eD4oNh9SFg0Bmyoi1gPp^_sE^}nz*_xq)$%EqtuR?*1^E=+pa8DcAf{TTkZ;=X;FHvBb=9qsP zL_MU^n-v#gmo2{SfdA$_#XepJBk28d zX-4Gr0NTW~`}$~y`tz4BUzS?C-dJc?Z)eaJ4hRVT>X%?M>C4zW2DLYC%FTk2qUGOF z&$5a3DRTYCA(%V=S-rp1&BA9n_MlavqKu;D+d~z}zz+Sr)0`!o?w0!{_+!?Qjc%Vy zsZc;q93|~LleKFL-9LZ~Qyy5G)F4qZ>- z*aRP3Hv<=FyyBfCi{ol-z~wn0^I@$za#tMAUKVD$>l8PZP@8RutuEaPCwl`p5VxTi{rS-3p#Z$Wg z5z(314DmcpTlXcMH$;vULYQ=+Yw$_o(KQ94xTwBmpEDAz1_3%Os;!EKhSNRthG&iE zu_I7QeCM0fHoRvulz(j|msxDTtn*GK>SHN2rP-M7YxPS!b9hq;d}^iNZalhGhnao_&ve&xA*x=%j4#j@1y=#LDm_;MK!m#{qC9WJ>UC~5jX~%gWvGT zf2_i~9v0QEfY zvsXlQ^?{$6L5^kl`I6wDBt$Ea5W-41!$Bk8qAsTa4_wV~7z^(UY?FF1n!{L1_hkOY zlP@Akr_5p&ni8&my2kN{J1JjLOqWt*dxdv?(2qI(Q~zEa&{d^L>-gqrGrlS+>CVD> zm&c@ZZ82McNC1}mcjMP{GMB(pJZk_+^SxaF;Q^Oa9wDiLM49RI3n79d2YDd_cu7r z>-|QT`+s=kyTyQ;0K(je5e?s&X9}^#?|ahDq|R~z!T)jz4DNa7{lU9#T^ryVZoa?< z&lFyqd%I6YragS?fg#sv;oo%AtTVR}YTwuFpuvGEZ%|fNw#jg>3IEg!gSw3wACuqp zTgt)qxvCwa@RhL!gs<+2CkrIL=cV7EYOwVqSh3l@9D7WzRZREaq3)NS<|rAf(!O(2u8-b!tI2=Sh(~XxyQH60;s)c;_fqY@{ot6dfjxuPCsFCvpZ!NT z?FBg?v9HnDLPQcAzP`VwPI?ZKUFKjXkoj%4C~ZHJax{cPku}b7U;nXb|EE;SrOSE( zBmfzAK?3@#Sn7w@{Y!lW(yo6p%>VS0!;r9j>M9Yx8NR~K7^#qnPdKOl*ICJrLjPNS z+y8?P0L}joJ~(>n|6ce2kg?@|f{g6=T-2|vBz-;C_wT^~b#-<2AXgP>oSJ$)0ECio zyCH^iX8+4iLj6Io7T)xa`gxNJtlXG`R@-y@(t-E(L)4rQ+(q$_%v z4aKhEg~DnUz5AQ2ec_&_9Pb;6cmj4 z*313WRiwiO%`3)7}>rT9j|hs9&0;olD*XS--jk&1i23)ng`lyy~C!zi%CAXQe`@ijb=!zxl>f zhbuuAJc@1x%T7y~2!%4PVn0O(wZDE_fZ%chA;?5-<(!;IygCli+m-@lr;nG*_ZK@w zJwanV(8I=iiRZOkhbs!4!qAoinJ^acwMzOAZa14qK_7}sOmv++nsQ_0L1`bqXY9=y zHj|iOAQ4c1ltmrQf%AH}WNfr>0*ol;4x-!j`t|&rB96OfG249lrOOw*bvlkkDZ_q- z_g=!^WgBk0OJ&cPqLqPIFGZqROL-23t@_yql!%{9;U$y1dxez_)wAB+T4N7_XL}Ca za&&BJ!ti>Z&LzY)47q!5hVMgQvdwH?Jt|k#(fPch{3<^sF7CRXA$m^;mH0$93_@G% zg;|t5kWOyq|3KjT*qZ^vZqoN02Au-~k@}tivsaW`o+<6O=v)7EGuxejj*nh9_&|F@d%L|l0bGdGJ*uKv zVLgH};6QqoA?Wp4C8_9 zFnZdV*op><`U}6gA*V?L1A`)pw!;2<8%EHOJ)iJ6HWQa{B6QP$U z)GY9X$ovBJ&7$-ZY2n zsd-&4#M35I%CeE92zYViM>wXl>=NI#@Y&Dao!a{P$4XrXY!Zw9a2;%F(34=DIz0gL zAxAa$A;(vbP7b1x=<$nwysfy>IK@6`|JrNCFbcEZ78NffV=S!RY#%({60JX{CKB~9 zyu7=aO+~RCw?(WK9)v%Eb?Y#pMQYffpXPDhq@|y1Hnw3#MhJ=&zaOCQSx7+O|1*i#*90XjCbJy zV$sjK51ra=YXP)a>IW@{Xt@Oqmo!kNc#ehl{~R%gl$j zhW?1@?urmqe6ANEQqnQ_@3K`0V#;vAl>~!>+?8{!4J=zIdtQKjh_Lf+bzs#PSiHDP zm&T6dof zj*U=3H>cIugq4Pg?Pj)i;cd`S66cT-)W=wWvWtRv43hQyI(1r$@|AlgSQ0mBoftrl{#^FaJ=yC~)SpE9gAv0;Qz~$yi;)1gb zyrGM8si@?WyhQv!k%Fg132I+7KZ@h*X-z6G(S(Cg3CkGL!bQvQ+0zzL{*T7u7bV%$ zMoLf>SeJsTCcTbs_{8K1^Zg&jmoRX3MKpt4d=X@Z<#Wog=f)5cG|8Y)L(Erjl3a;n zc2q6)oayDxAM$#JeR@!%w&xLey9q4%2hbY^sB@jawN(ZxNnw^4rA9%6$ab-LtvP+GHQlkgQg%hw ztkeZ_urhu_)g}RfP`@VxFK`$RGRIqE2`a^8GNHdeE~pfDF=+nFu>*!|TFWJ(E+6aTjQ0+auW#_BwvA)s5bcs-S}oSs{dObJ>N?fh+Pu2A|I0eA zdiF+Z!lm2)<{BeADXryyym(_^75T@u#V~Z`Nhtt{nSmK9BYRlCn5H{?pX2 z-+}y}wvDaRuobZg}LYTEEG4|&5}SioU9eCN)c zoB-tyUH0UX+kS(FH9qehk_+40%o!2$NP3$>EmRh@SLqL&(}zBSzFEc+lTwC03hMA44kXD-e9b9YQ&ax5G;>VP#L3XL<63@Xm>%$5}Ev0ov*@turwQc3bO9I$tm zWi_0gtD(CuyysVp18!3S5izO7$yj2Np9RseI5i}_4C%swg`!~QP3hJ>8f%JF_AWGN zZB!}8&Z{FA)F+1halV!AMpj9?`}+V-i&2ETuVvQP-!&_BH9IqOh6W2JNA>wV4OseQ zD!8#X?2t6iD;0T)iD5_I5V;G{En*i`=599dKuG4{(5I(b8+&#!siP>jt%XLf#asTk zNI0brwfnQ!X&Qher=?{A7-*D_I*j=f(#Ib^S!e>a~jsZ!=tKu3#a>q z5_#71Y}Om?_1c4m5^B$|W*-LIz>OBJ48iI>H({#7x7P5=|K;Z+?3S+L@+OBGi+#h1 zW3{vVKL=ziU4Fdn$+Ko#m8aH7rtiW>6WBnN${{UpCfw6HCRV|FHZ)zC`+)c+r5>B7 z%;B4}ITJZ$p9}RsSY0l@@u}FfeAq4yRu_%vwlIo4a5_a!z59@Yw6^t$P~>OMT_b72 z;iVR8l7$U%N#WPGaveCOIWXtBc3|JfO~YIws9J?sr|dR(9*(@lRYd;sm0as;=j0%Y z8MYP#+n(s8b&c3vTn-rJ;i`b5t@2*H7*V>rIQkDWwFJr-F$+g7jt{Q18P>MONVE(- zq;`YG(NZ}ElZf=dKC?KRmO4~3ykZoe?ygd@mAx?8>0x!E{O$7Rz`UebMpeLqxt+4J ztpB<_TOYkR0xyjm&L6>zjg1v+GC!q7Y7wi7mcs7C_t9dlZ#MhwM2z~)QXA)Dl-d*C zxi%o1L{9k0iJMO!YT94JXdYHAUn6y@bbZMQ|LB&%xC1UTA2sa!gLgAFvm^BvGHTjA z1_~P@8T8h>x}KjEvYcT?X$A>SGtq9uDhB0jpS>UPvm5W}y{x9d7skZ$>PDYu78y>x zAKlVRN1&?VyY(*!v(LoH7htTcKP;7L1+6R=2beXhzxR8T1~jSf3jLYZIvoA;a@)Ii zy0Zm)(K|`RUMV79n064kS;oEea84mH&Mma%PX;cSPSBUIlT9B{YX~qyyPA1IjS?mc zQqrxuNBGtFHkNR~C;mwEKG^eG8Cts515ZNZCvQeVez@xs%i;U>ZpyT`@@tjx-W z_k1Y(vf{?-vV}Hi4h6$G-336+U>mvT(Cpw@hE=@bc!A_{*gbS2;xo^+XLZQ080|Z7 zJ6uP6Om{?dvn_P4;IQWro7kt}Sm8;#q|1R%pG54_Sx}r*P_$u^W6{sDgVZ001}lWi zv!YAxfXk=~kv({zqgAt5?4_>r_FKvp{;fK6yh>K{o|uzQsgo{mdhF z=mx^Lm~(m1xDMA5&>x}Z+J6N)I@K2~`azS4e~snsoe+HNe`0L>dVy`ht^(~?8;X^y zy8Dj!4=rQfHlRzL@vD3?9rT$m0zqxc9zjqlk& z2|9Zl=9=|WwDADKF<#!|_+Ra+U*-J#HtAtwtEsJj@;8rS$=$*Mw?0po`uRLVr*uT- z)>x#ussOw|E{P%sNd7FXW4XRBLDE{m%7lq|f(|uTnQi^+R)ez2zC$h~=;(Hb@>?;~ zSOa7QO&U(_-vT8cK4W{u`v)VqB_=qfMS`Xl+1mYh5-^JwdVmugKlam@?HpjGERExT z;sm?FlP{&#tY#zjLUAQj^f;1*i$qhTp zT}ugEo*TFOQmXJW;6N~FCz)svg%=ZS8p5|uJdjC#O*rLegDcUF7uy*}=Se_>N5g_T zAeL(`MWc+HJlc-})XFJ(0yD1c6lyt6qZ~nh?RjsjQXD^h)a$uRM*CQO>ae%bfW5r} z3r%T6+OV*1h5>#Fq%}$ewsGzS5COEi)&APGJ;gIdttN=2jNTyN0iZVquPg2i0=H`Q zv5xc`$#mTQAVeML3|1o;)Bu8WsyJ=%~ zJm*|r#f1~3R23OB*rvpx@~4v7Pt~S^&s{Dpr_WUq6#GGG9%S*g zCTjcb#mx6XJ4aBo(=kfa{msdvo-Wy7>rvUBOu7 zW2B63(}fZlvrsi@;gd$vn_W~uCuKg#K=ny|{L(CDNB5nlgWac#<2$nTj2NwJg8jWk3MvQ>mlFD1r~zqIqxx+IbCWDokj9GXWy^KGzajjMR&)dnbyg-#6JcHIp0 z3iJhn1U~0U>oQC4NK;m1R%$ZH#`vd=L`7XXLYXt`zoU;7x#%t^)uFY>^kS9SB<9jSYkt+U$~rH3GvC zzZ)!%g2vy{JL3pbbP|7~mNy_Gb`=2&_6IKS38vZLK!2ZAOnbUEjXqO$)GZyCd)Xg_ zDG4o9lMY@SYmUnK0|{Dcv1;QY7o7G23nbViJripSn6UJI!bzCNO@79g4en8VJ z(yV;0^(Ba0_233?3*P34X3dM2Mo8s)UwOe;qqDxFy&Y+8oHjW>rHmf3+`8 zg1b}B#d5&PKO@ZqG1eq#F-#h5%$Tm0%lVjNn~e=VUnX{#r1;{5BI9(ZuD-0DFhHme zXLni&cWe94Sq9Dy=lU>HwnYtHiZ*cC0{{oQ(v5Ph=?xluB+afrBx;G|ky`AB4S2T9 zed~?mpqIfq4tfRRgAbGYQGty2aN`;p0IyMCOL;u{Qt2?C<=U^&t9-mbIRM|NEw^Wr zfh+91XTnHTwosvmY}6Be+8?KdqN>7{TH&mo$o%RkII`sV|$FlRWxEp%ZUMlsA4bQ;` z*JH=Y zj6R#p8t?1lNNPFGt+{pgH|pzRbVr;MNdPx~P^Q-AmTKt|Pv} zm+6#ks3W5WZU~m7J&Annb9(RAGH~NBQl+nOXaCMCP(H3@X(W@Wgm!pFZg&`mQ^h`XEkPcoiHH=o{ zpA@TL6`*nPT{{jTr8M80P+fgbcnGy|-D)U&ydFsNeWK5MSKs~&8Ij!a<9_+gA-em3 zj*Yi;G!|M7*I`K4|38y@y>4*}_}>P2IsY%f7xtR22gh`468~@mPeD%U8ULAk{L1bB E1-Pp{U;qFB literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/net/weekly-sit0.png b/web/api/v1/rrd/net/weekly-sit0.png new file mode 100644 index 0000000000000000000000000000000000000000..40c938f6ad16973a70e9d7fdce6711e762220488 GIT binary patch literal 16747 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 J*2!yk{{sr^_A~$h literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/net/yearly-eth0.png b/web/api/v1/rrd/net/yearly-eth0.png new file mode 100644 index 0000000000000000000000000000000000000000..2818a48e617719fb0f8c6bddeb9b177e06c85e89 GIT binary patch literal 21632 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⪼rYVT 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 rfRiG(nYFj#Bm4qYq*I2e9Dxd@iJ*X6wCLka+ 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 literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/ssh/daily-ssh.png b/web/api/v1/rrd/ssh/daily-ssh.png new file mode 100644 index 0000000000000000000000000000000000000000..22e9120905b16883eb29e6a0f80b3abde8eb86a8 GIT binary patch literal 32211 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 literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/ssh/ssh.rrd b/web/api/v1/rrd/ssh/ssh.rrd new file mode 100644 index 0000000000000000000000000000000000000000..93666c78504c2636ec20ce7fcacddd722c521565 GIT binary patch literal 47840 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 Yj$0XkcexxH%%ebipLSGm7QplW2k#pF!vFvP literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/ssh/weekly-ssh.png b/web/api/v1/rrd/ssh/weekly-ssh.png new file mode 100644 index 0000000000000000000000000000000000000000..3f2c28662a27d2f2756bfd44a73dcaa2a48c8a6b GIT binary patch literal 32011 zcmd?R2~<;Q7A}fXN>wRD%Tg31ap;m#RHRf8A&E4WR#{>!nN)-zlroDllTix=6(QP+ z6GA`)WQ@opLlTi8D9Rv1!j#AiNgx4|5JHmk{(#lpx2x~%e(&D3-g@gT)~XWpaL&Jn zZ-4vS`{c&)V~2IWHuzdgOH23XpAMeT(pn6GKaYO76#O@$H1>P&zat?(o(!=MJRcH% zHt3wzi4zAy0t5ZGZ*U0o@Hrd20dp?I$M0Ow2I~;;{ei%R?{<26qqcAG4hgxq-_%s| z7d!v)7j1sug4=D-`uU)ZL&PE>eXhdQF%;sFhg(PHs@Z;YY}NM>d8@OX4$iIa%UUwN z`RVmFfBnX0$0pyS1G*~{GKv&;zW)B(vL(Sbf8DY89rEh)nqR)Tz2R>cAMucD7=H`p zp7LxeyWsV5=Fv#xF)qGmWUXIr*&$h{AC39tP^Lr5pT69GcKBp^|KR=a-k!Mf=da_@ z(8n**7ys+mFV7aAlVdmOls`MQ?fAcbflIXi^@8-p|3@#`MPB`CBpLs^ihGG=Gvx9g0 zCMrb9<(wasm>rmv_rJdPFJIO~lZ%jQCT6_5GzN*6IYdE?NmiLVOO`|S4fa?6d~^)& zYwM}{&3S8_qamlEZSVfgzo347&yYk#v7Y8W`?H6B-FEzf-1XiM4>tVy%19INcOP7! zZ|MJ%>&8!>pY#38+#;*;t>^!Id92fwplZ?6gz_)8{fp(kUtRCAC|T&joDA=}d7j@* z;;JUXV_Gq2x`ICXG&W<%@om_6*J`KSlPm9=V&P7Cr&ouGxV_$KBAH3Ax5L9f-|Lad z>o~@CTOawSqq-0aj^8dg_GYhN$5p#TbH{Q+bN?^>*!gxZO^*Ee%EIGU@?1)z!8N(3 zvr}7IN#}j#=;4Q++2N|DeFL||i9F@`({2eu`2YnrCmYXk6ZKYDJh}MhEBkQEu6;!n(^P-48<3#lJmK0GR z8K@B?dEd4N0veN{*w<84b2O~y63cNL2&bGC<(mxDKd)1l26T70mqq06a4FgD_9FVH zvgsxxW*bvNuJ$SL&Q0%u%7VcUgvfKEQ$=wZ8;_4cl`8hdpKt~0rw>B6c+MSVs8(-~ z*^@_j>c#FMtrQi7Yu<6L;r=y>9alw_Rrn6Q%bM~jv8@-T{bDO0<8KaEmkm5nJWz{p z6U)z*-kU>*PkMt1dTKz!<8>*?$I+v>J}D50_{^-1Z)}KoS4%`9vXC=vBx0yJ_-5wb6=yC z=*;m48HrcICwj`DZqoaXxe~3@8)mZUQJ%7_DnofruAUi z#oWVn_b8!@j<^Ols+*GV6LL$xK-C>9sAuvQRRfn=jwxvon7urj(a_@KJGBbn>+Bi#bW(cCM&hxuYD+y4KaI?0b=t{mv;G`a#Ju ze;u?4?xlUJ-6%2(`j|(a=-V8w{5bbZ=}Z9B&`T~GXmWud@kjeN3cvg8EzKlT1a35y zpK-S05{EP+?A+accAeU9XshPY*ZqKeQmR|u&^qv7*#YjN-?p+p`_foc=FG?PMXvf4 zVk)6uDXwGFE6uOS@R4lS@N34&5l@3WGy(d9lAUco|5V5NgBE?SfB7Wk)>iC0ZSRSm zV3sK!(}}O^aq(dM0>Qe;=1P|jF^U4yDsXF-@BKdJa;QM}#hJ@7y;`19r$3zq@&5B! zU`VBaMY@$Nv**sz95XdmW1qDji|oF^+PTI%ZDG(*G;eD) z@u=q+-3O5~M^wM4q&Q9t94Cj`X(Y$Q z^8=a-bAFw_(CSgcl9V%A9>^au2wPz(e}}zw!GSkscdF3-P(mNmoG?N<^^ZIX19{{! zl&=1zR9zNB0jVl7?d6sdcZEYk@#sJmS|Ucwg&~q?4OUR`&3l@d-S58*8EANWSU;^{ z$p(?u%X_j2H6lpPqvOLPrrsL+ zwfZZE-uH^}LkZ5&;dFuPgiu+3>&=mgAK7wNr`@`kdUfnyHs~q^W!9 zv)S6wfA4coHp_f!V+@2=_QB3}mjs+0X-s+xef2P_55kZY_WMSj1ivX@!L0(Kd8RIf z=j}K}KK4Hba$aoAb*%_v=8pZi5Fe5MDL!;9mAjiJItz_^!g<8LaORvV$O>b3i+(^D z^xY!Pz8Wv-{#y(*KtZE~-KDf61QD0scXib<@9m4<&m&C9qWjClFAUvtx!X*o*m7wT zk^oA~LhMKV5&LG*c@F`?w6A#{-<87 zB6Nwe6HGGSWp?UqEZo1mFEfYIGYe`DAFE&r%64DvJu&eIroNn6UJw%^{Z#{y-7n9% z?rrE4`Y_F7b`CeaUk+s^g`EZ*Xm>U*ymG*(3e|*#Itx4xC*``)K391h{n9{Plz&@F z8#&Wen0Q=fH_SSshnrpr9 zUixi=^U%=ZCo_vVrRp;m4~aYR8lhT|vdCO|AeY|+w{FYz zuO_KxI$Q#i_~lY72oM90p^Megy6v{56Xk+@aVm`H?R)#w%71@~k>9oXlW{GUbIibr zf*y~lp2^@2uJ7Fi$}~MeoOUA1J{1fPRPkn^OtK==9rpgEs2S>PB01&FJ-d6%z)uy+ zFP*Q_x>}l0m~xCP(;A^`$@0+p>yJ|cZ#8y8#9+$Mn!6+M)Iyn4;zEd1!$pauib5Sz z{%x0K9f~9TX$<5^ZaST-<{OK;zzp~m5P5ZNulgLAR>=EY8!0=eObg`bjzmB$ib zNoc(I_^N4J7}5dx9Vhu)eS6bn!wdB= z)#88@k@kyfPBjv>Oix2df;-Tf;tGz|p)(&weyZ^^R%!&dZFUR3u}X7VUa`83W~w)T z+rmQP7tjsk43OiQtzz_tzU>X~7KnsdpyBcD*aR4TQ8u*Jl@F>4;Bw!Y(s{HQ z1^mIOJhUyGQ>>@C3z;h;Db7BBGz;kU`fxdOvd*wN20*izJHxP8AN<~IjvRAjLna`H zATdhJ0J1Lx)~;^t6@Pb286FUUC&i_VdJVgG6*QGCt!p&HBx{^s(ZS2{a#1(Ww!&;b zR4NJ(X_=}b(g;Kp;jyp!q7C1Gc2{3{Y}pScFBk5y@pJIn243c)4?R%K%r)uguixbq zm@tw{p5QjjCmL)%c-e~J{42O)=^sDa%U)pEYPg@Q*vKaI09H|d81*;5ytKOBk^q;8 zj@{H#0T;t={}WB>cFxlqqvg^5j+NtSUjY49#WbyTBlO`iEBwom9Y=3lK2dY?z{;w4|$5>glQ_ zIvRdwDfs(sqW*rHlw|v?kOdn-ZHhWcG%!;AUh`78dOS%T+-PYGP>>@ULCuu$UC2S- z?fR`}A=noEOR#|;@7V15_7~BNfX-l@a}qS&)(OkA)%<2^DIFL-C^}#uM=E9#W~VMr z*6PR1iI_}9F}p4?=KoNNG%D7S)At?|^g#d=Paslngx~(SeAhx=NALO{^O`3@BhFlW zeUk2&T&Vsd2~q!uQod!vk@+qlUy8{KJQ_Hv1nxaF;1WnLR^&2uRWd)&_H|S{5nLU}RLR6wV1y0pfgILOqnmTB zl?!z^F7l5Gc)1gP`PHY(ID%&gXte)`{U84x`@6#8Bd0!l*$vq}r3wD}y;i`lr$zzn zek&7pYFp}`T<8I=f;O@PTWH-A%IfUPv`Bs=5$C5`Xv~8Ol(In)=P81#7I{uO0BaG0 z*=JJ7WvXR;H&{(D7)m^pHS+r8 z2z)t-u^IvxLsbdATD}u@6`SOqEO`3zRI#rkhmN0dNc;oW29|~l^41%0u6xV^WUlMa zB5?UMz>^u$k$q7G5!;$h0W#sYv)L(j#Cl*|OR#&cJa=<603N@Ff8c6-q4B(i;wlie z7w#ZyT$*J&cKwY_G`RxiE~IL-Fzd;hRgP=%*Q@4uklMTc4_yrRSr<$4U1;;ouSWJ> z{*O=7w)iS-pA#W&phfc}?-rf}gT2C?jGGMBPzbhy#ecjF0dV&$|M>o=7tcpSINg#! zo||fQN~0f+sGMZQ5a(o$Pk}L_R~_4z`f~u9w$P4$FU}fzT0;hee)_%6K9ShoQ zP>?Sz{Uo}Pj@*Ue*iH>hijQ7hw-G7dlImWK_+YU0(AbG_xEtN)4*({wFl|IH8Cy4T~r zzYjGVx^GW@H=ojXw-ZNZ!_kCqfgK;8+%QpQ8qmb`RaDu1uvrP-iGu~;E{h|5Yk~_Vj zY}YwaZ1J3DT(YbcC#MekAMK2@;I2i<3Mh`ep6NRj!ZQW+1TvZU?N4MO`YS?r)4R7; zvY~ELe>G8faINBt>$Ucg6Y}|R^Pwl~l$!FUX~=?;l9Tkqq9`|%XYEY?R=|beK<;Sr zRgIbKx}Uj_XVV>!B&spbb<9ds8H|d7@|XB{I)ly!8rd+j^fu^iE*$Vb$i1cmnDjdJ z*tOca0vv^_L$9p6DXO(sSB@h=7$vtWTAkguV-}DEs5oOW=DYcOTvZ$j(4S8;r+Jc< zR3LPQp1$?y4$w80L)^M$WH*Zq=9{J@FV1Ma6N{vE9Oc4qw*C*l`HXgusE>Eynd*}c z`k|jHs&0p-=cmW%FFfkt*x53zdwo1XT*0iT6i$cXB5$qc#b$!yj|UnYGDn(8dwnuF z*;*4kKz(e5Md=mnc=8<#;sMP*hbAwgNps1)BflOtT1|{_ik1H6_`iDtTV47*XId=> zoXILuP9D5-IGZMGqbY6?lbVY@VJuE*$g?P*Qalo>?Xh_i1_t`R<&az8tq+KtnNebM zgJ-VX&3dS*o0|sk6!2T(lDa9$JnsOCo`x^!F+eM}&G}|BG}wpGv7^o&HW$p74ZNYL zavlcjTdRR)SIuM_dQP+WNE|{kwbq28kC~k=neir>;hY2j^a`wzkqcx%or#EkoESP9 zBU6HEggiX`dY&5nZ`j%PLnEPr@^l2azxdsJq0~fylSRr0L+9wZ5+bSx*TCE!@zXlP z6+b1zf%>^lU2IW;QSc{OjFoVXG<^v@9Y-8nh?3Cwd8eN0#qXiy7j-}iyPV&p+@^CF z0Uv#yU96U@UK=~`b}tzdxLwVeq?PfDF0ulsUs-T39vVP>ELPjLdumEc*O&W88#FDO zas-VasRURN_8IaNJNcOvY+mgl`=>o@*R3~yY(bwGx}qCnooXY8>(LkCE?KK{J9rJ5 zJDBsy-z~S3T40-q!@FVpyb^||f*3rbv|rZTYB+CVyJF`gv$398KZ2E8pg*UzF58B! zNg1}(NA0Q#DK@lXw2$N+u6);fxV(eu$MCh#fc?qB=}*hCvx^q$<;8UU5f)2#oY;z1M z2 zm&^6+O)2FT^y4S*p>yz*;g*CBMR4Woe3Jcmc?VT`C2P_FGwnRfk#HunV9#em@|cRT zBY^Zr?);-a@2vonzhhQADyNe~xugeR+;_`DfCfU~vZlw&Uxr=IRKaKOZ(dVR4yk?A zX9Y$2z8dCZc6`E2w;Yz$nvynwdZY}NcUYjyzn=`rdkod;)1C)0`PTpwpAJafvhT~=6C3RqpdjyTb|4;0k$W1TO(ETVc@o&!gC-Kt|SLwNxUAqJl9Yn znFm*J7)P(8`@_`+)PW`Ok1A#-PLn%y!dx?ldBENk1q1eoH>B1fnY{faB({K&WTTtm57w)sJsMeQ@iShkn(vEKWY zRptJ-*aqZVYg-A8{0i85#O?K(1iG&<6_RPkJSXQmr~}JOT)pg}fo1-J-HxDqx~=cf z#o^}b6*Ehgy?aZN6*;bHaxv?@k;%5EKXw6n3E_EYfp$f{{j`XmnbSM(4T119S=yQa z-%p-e?;FuUnf*TR(ta4k_lA!GfX$2ad6FO3(|!!2)v+i{n&_K3X+IwQF|l3u`hfNc znD+`sOu8D3Yq%-l2NGaEQrhvrUL96W1k>axuTW8ob@|8Bw<)VVNKd>IUEjeJ$7Q~>!@ zy39ShIMSLU#fFM6j>g4uK@I`i5K`uC19Ulj6nBv$>RY6fsNh1gi|FJeJ>ng;oql+F z^oXCz(#_qOnH2_P2*vBRi0sVS9D+YiC~wngBb0YwRUzqsS6Igw;G{_;O`{dA#sC&C zZl$XCh^5ICv^pXJn&Z((UVq#9|1^UmC$Yh!vDJ6T!QQ(h{xP2{+DTtBvrv^v`|&xx z4*?j7O@7bNV9P&)Fvyq4f8@)s!F|vXR}MgZFmeR+c$V^-RCkN27o7ko`1m8^GlB?${y0(_#9fj`$M>(kH_d`J?R!hKp~6v%P-rKd%D>7@9d`_ z?yM6aKL)q|SLKAI&*|{WCb4@0Txk(+r+ep~ot$~;%-B^q8%GO~R?0b1S+hm$e%VA9 z1W`g)&dL2>7Vk$vmQAS9eclAVuKBFN-{#LCEZ?#KsS`wy3G6*1LfAc?0^4I}();j}Ejld-gG66+$Sogr zr82WKid33C|ItJ(Euuo(`>H6e7N=e=BYA~!f9c?I>VkfQ-S1Mx9^0?E#_Z~fsUPBxx zMRKJaS$P&Tr)XOX@7+7YQQThT>?1ee$#Un6Sz|3|B7Og%WFr|7Se!^KDPSwRIVCOW z@f%A1i{p{&*OkQ4K$Ok_`SxP9uEo_PtMHxjfK^2~6E|0zyvfQ;HV_I9K_g_fG5xWhS zjep*wbyE036l+&35){VKhk11+aXUl5C}@}0+eqr(Q{1QSKeihPljOn8h)2VL4(q6AUv5-``Q7!p)1Rk?>7{3@qerXjhXdrLTSjX5 zU1Hx%V=c8!JEetl#f%t-XhobxL(9lF-p!2OUYLn9Rl#$ z%Kdo42SXe%eon*5SwHLam~7^VK4j+42bt?>b|*ZK=ufP_k+z2rN5dWQwD=Z4%J;mj zq&?8Li97eVt*nWuJFNHAVolfrLBK2!gyzYtn3(d$g(6)rMbUeCW&wqcsjO{U7GsM4dDoLQtvSDRD>G}KH|$CNX#Jz? zIy17mEtE|(r#mt2_P0i8fFbyFWx3FfMh@5~bTri~q0-%7QdRAR$&T%B7}ZcHEpkjv z;k5+_LxD{S>>X z2(<0}ABXILwj`NF+OhzO`0jKS&`9MUJ%>ae(gJ2-NXhYYPe*5c{t(A)r%f61{)<&h z^#4+p$D9r%FWOZ;#$p(THr(HFw)5q=cHMxE-?*Adt$sZi+d8+Tcv*Z4y=>Td^d<{O z3aMpR*TwO^W(P9dtI8|#y+)O%j7ReXEH-hsfAXLh3rUNQMV=u_Bm0cm*cIkVd18|A z6uYa~58pYEY2vH0R~^T$u+q@9fB|f&S}DFuRl0C0$GYP}E2iGjoPTJY_UHfwh8l|G&<+8Hp-3S53;AhlhTZPK(%A4|9}Q0}R|lS7tg zaU94}pS^%wclou(`}hiDcPjXU9Ae>A0INx+ZI!&nk1l-_d^D730J9{d_X!G|k?94o zeXE_HxC~ty-^+W5^EWN~&GpsUpq&9hjp-+! zZcFy|=d13m&4nE;@cG!HObn?T)HR~wBA%Bm&?CwN=)SMI$g-%3LT?RZrV)pkP5p|l zu8|pMnwu-~)Jftvr@;19!o={0L=$ygoMBY2_O5X+IB#}@T&5Hml$-D&(&VxdX{^y` z=Vr~c$BHgECzD;+NUGdt#t2w%mSi?`8frT^sOzBvO8AQag7SAhTW(71!+wW&z>s`;kc?xcZH~ias=cA@;Xn8&TMzh1VzjrY6s1C#_?Sg4O4L1sl zv!heLiIQH~YHqjxG5K!e!^+eFdl+o*gFjN0YJNBD&g3O3hr9(SNz~~a6lFjEIoPp0 zhE_=~4nOkR`Md$_Q&e0wf1}=3wJ>;RwlT&txr0yKL){**af?6c`wLcCH5VS{N*7;6 zj@I6o^a|D96u3aY_>(h|PXqc_VQ+N$@L-HmvuJPpRKkTsreemszvhJ>w8~jkjj7F0 z( zU$^cGW{Tn(Ec?tDLu#z|T%AA*=~lKg53e$gcAcZX;v-1g%-gZVZApBq4E=_rS9~4R z=-WO#4kvWP_$X^vST(nrRzo@Z%Ju}@6}R5#ehVq-W?+X-24~NhH?()`)?35*@)SI_ z&{vs2iw?2h)oK_bkiX%=WtaTLr4~#u?}V#^N$n#=2cvJ#t9uLlw%7e_>%eAbf3S$7 zWDObsp~Q0%aDlOs*#YC|nj2^RwJsPMXV9iH6s(S1RQbn(o>MW37#J={o}4@nV`Q@$ zJ&ELjLJTR`@HK9hvk`5v$un&aoR6C}=X4)eW^gf+9~7^@P26HM&ipqphOQC%qTrE( zcbxK1!yrryP2rz#cG(cB8mh)K)?ApYJ$1GLgDUvcdm}$?xHH{NYhS83ZI80#xv>_h zszm)l8;Kt*ShV3h1%WZGqk=xM(gr^@-5X9U!QIRqT8_RCl{P}&@*$b&)ov20<98HO zsFQh>suE?si556*2SMckiL3l*s2x3#bDe$Uk|$-aVPQl8W<7A+R6>WEm2djZysxBL zp8+TF-S za<+8suR4waNF~~c!4Gc!y6uT{oqAlL%_9xI9Nf6AxX-~R2@(LMR^A8;SvzZEq{q3cl zcKELF?cx2t*76kN7}40626-p-ZG{Ig=upv&uwv?zb1sn4a*QSq4A#WZG#puT`smY{ zGVBrI#?a_^TIjE**~zEL)4^@sZsTsYZGqd6PU_;7A-`fv;ObdlOzn@Z(x0jn%b`6h zbeALdWVmUC7##_BeXwxUTFp^|7l|d-C|OFT{y^r117>Jf0HF@(!My88f;TLS$+wN- z*hYy#2me$@mdC8CGQHlDR?&eV!@seJZsSd_8pwejGTtTfX{ZDz1l*`Fb|{|yZ^GSv zhSbC`p@!D-dF{-um9T@y2=bet5z)Y;-}6vkD7^-L!fRB1T0cE>JWEQMUGN`ePvfCp zaF#T<*U8l7(9mwEAZ|mb_RZO`ZKCo;W6@uJ*ncmY_FUh6kP~IbFlNCI!h|kl{OIF~2h9#?!OmrehQSb)K0t1?9Qk4n z=!mMG5tKeXXP3MRE_rtC;TX9+XTF0~q+jP;Z$Fu$>3wc|OMG7r; zzS!C90-NG!ttezs{&0ZVY>wOH8}YD3<)*bAp`M1fkqw{Dnd01}N2AJ(B2AuZBf4z) zG)40US@Q-0pbeu}hyvOr@v==bqbF4bez7%i8-e*|WYltqjWCbgHZkZ^W`+#~XBVLC zoX5&lMQpQ*lM@`j<(jw)#0BDd8>&-H$yL91jTShQ|F8s~E9wj%D$GBrLP8~o&byCv zkxBch5gUH!uXa8dxLs4~Puk|$&zY|2ZXDk^A_pZ*$nRViEnOQhzz#@s^K-rDl-QBb)`aX!wJZ%Ig3k~~H(S&nVU)}5S zPEHPAByTr$jxmO#(bn?U4{{=&Xvu#yAZ_D90@G-gEJ;8Al}BIPL-`VWRcegUm)Mn- z`dSGrZ(-F#hB2o1vh|#U8Ua@xc@-`gdBZ)-WTcQi44XxyIhtdWYO;^EJD@s)LT$)upfj#j+$ zNRHh?kls>{#d$5YDrL?k+3UA$KCgebu<=Y`@WPJ5e(yZH%BXwiFPjaDo31SJjJv&U zW~bH~7I%Cz{5m$hFLRU3|23yd2mB!{#Vh8_0ABHq1$T(tmQ=ndT`?^=X?)$yU;7ZE zM(^~mL(T9LWMztuZk;@NJ$?o9MWAYOS--vm<70thAae&O25snJtSSYD^%-CSou`LM z-r($?jYc6I5b!)%wtj;VUU(}X8gd*8MY^$D)E{SmA3@>Cc7SoA+i7!;Wd`V!Ou@J+ zS$&+)u{wvT55qUNMp58jQsv^+pP7HhaY36pwsyjRUFc`X99LAnlK-4Xeh*WhXi;|R zmp7BM!px8zkNoyr0Ntm&8lhL(6V#xVatYHPsv@Svy9L$Ey@t9=K3+ajjrmb1{o*n# zLtzWETEW;91UfQ!9CCE5R-R>e{5|Gq<9-{7r{ONehOp+F+hSz56$3g*?_G5>0E9Hz zNWsn*!uWOsI^fPevuA2Eh_6GGAF0;4V`AQpFodUq#85L%j)t;@Flga-66BMNmrNrqPDUnj%b16#Ri`w!&+R$y+etd&vCQ3ApH z`MrvNzqP?*qN}VHeTs6$Tz-h0$~WF1bMFp)N-bZM%3FQP_&Sxd^cL#6QPI-!QLDg#RT0)rvmScN;m1ipJS$sc?bHKS{;zr2F`2{7D_{+XU&G-@wail3ZuzUpVZw_GzNagTwM zY~(lV_cHjAdqBC?f#&XpCQgvCjElXRolj3V&^K~d)zD-J!U|&Z06s{v+El@vx+ry| zF2|~;w*IV&L0%$V9Lv5qdye`gk2xw?BDGbw)1G{*9(Y66lYMcv@EQeiTmbcolGo%b zTa2sIALO6;q)+@&`Frwu6fUfgP1#~mL7VM=8+VBTVKbeHq}d^=_q~B8P-J&?KpmxF zjFwXQ=KPQ47ZN;md{uFjxEM~|@$nW&QHFTb;~#!n&UZ$e7ng86GbQKlstZvC$u_Lx zQvMJ40HO~|nuDD^shJu%60JY%9LA{9Kpb^-&)uP1%Qfl1yAgyo7#IroFKD>CWJYkh zyiO|Ys`Enf63S(n-u}ZoE2x?| z-2`2*QSrk!O=C{O9&$vF|%1D3bLi314GcfMH}NFtsPvBx6<@W@`k;iZN>`{GjtTnHpS?5k|K5}&HW2z!< zx_(l$5$E2@jmnMZ({>7`49Ep^XJTR!(bYm$pU}A1#25x4l%I5Z_a3`jb_io@qZ#ef zjGrez&oTsyE}JgdC~M5!B{ss8)sA|3*NrAqTcVaGP>%p)C|1{Kw@j}<9+%#O>EiUY z22&JqEu7lsSPEHa?;|--90U8OSc$=is+Kyf&7j>nh;XnB(cBYb z`fP*hiww>~JpjKFbjY@Tof^F^TgmGTy3Q%1cC2g1&|b9%o~EeNJD4Am|LeX;IRxgr z-zI~-;;0TE>$@Koc6$Fm@a&zIk#aPooUUdwWX0mw+AtwjFwt9K!i^kBDy3R9m<|)= zfw(CX-F3DGP8cnDisB0F*xhcHh4B2^b~6Kf98-8(|Jr7?;P7ztWI+UB8eYl^z`0+ZgN-3~`Rms+6A?Yt3p3o@fT(Yoz$SGfdE_)+r7 zWPB2dl-PhN$tE2nD(FXvO@i%%KJt@39;5P>qO5Nc5@(1zHoFyniinW1GrQQT6*{Yvx>jQ}khV#DooI z^+5!^fh51-jwzszOay0_3&9|+%0JI()O@21RH~#HIL2zvp0W!En3bYs?ROo$HB5_ zLM3J$>R2s61{!gqlHml&0lB8{baN>Rp2pnGgrTj=?jJ2|=Z=);u)U?Jg36&`j59m5 z(76{tN=$q>d?Wjn*mJbgNBIyjn2a8>g+{I!N9(flp3A-=to2ph8M7as)P9;7(QW#8 zW}}2OmzbFx^1hg=9(daq7I%;>j(_X#HGLiF+UwmPHM%XyFYFjxEm&4Wn=Rr+&Yil| z$J48%YtwWOcwXL88eZiHJhufBu$i0IE2gfAnzLPdO=;a5)cY2_xQ1mZJ|II;=Aj4m zFg`=fNoh=sGln~K7_*XC>wpwCvmupW>2Ek$;}!*H=11ifdF*^LY}ExYQ?zNaFNe-@ zMpELzmPequfj;`?=oL)~Op!4&oky61OPb>HVUU@mpFJ?ywSp|Z7Y(Z$JPqNNGd{9c zkV7r4W6xrfvIi?t%i;i(7vW8JPVMiK8gv!fqf|OP zVPa!id5>FZ9N>xQI2bxwzNjU}37nz>!RRuHOMW_*-Uh3{L3@d1QL}}ntDEJ`@?ZC} z*Z2C!n~FIF13Np!fp#exn}Q(2Ejn(w=eiLfaro;-##%VB{YtA9Rum_c;fk=Eqb3>r zvoVa1fIaFw<>^oA^i!0nt6Ko6{a34j{Riol8tnv_t}m2hgfj!P(2BLV$#%@PIQUNl z?;rD+Z#~Vo#VozCNOv2R8$}!KjKpPwCVUmb>bNw;GpIdwOu(h6IQ8Wo^pQO6f9Cpr zv00>|8T)Yu%vhWBBYBjitQnO5DiQ8sbVU}8fOL`ndRhPkSd*ujYg=vOli1|?mKpF% zS;>A#z({G18Oxz%yn-}KT_5jbTEG3jcR&pYHYx4HZx1|uPN$%rE1K((2Th|T2pk`V zT6;Gw6XX%0c-p&(I+Z$^R@8x&Haj20m}SJQx01QZHw1aZ9AV|=zwhKXXkKu1)vQtn z|21f_NuJ>f+y(`4C3%C|W4=WJZ3n2xKM~}NPT!#o%wXBM1+)N5#K& zG|iZQ@3D1vv}D=I2kG^W2m|s4f&#IB^`y3kP9ErFGU%+|d}(`RH_ecPoPwD*I(KaG z&vDK33Ke)C$!X#TWmBV==^11n*L%|6g2VZ_=BpVd6ny@LVaP=Jbm1}-D^}^uJmWg1 z?yI70za6~k_tDQMEags_o}I}zT~aZ&(ruNxzvHdl;k${~#_RgZ*ONEAobPOsK(~@$ zYw``q1U#XAP9^Gy*4ZNMoM_WQ<7`8HRW~xPV}Y`N7&f^0^7?~%bzqVy^cbxzH9VRr zy;FC^=`W0_)M9lVrStiEgBptkD{KO<*KAG(tq|%|1Q(INv=sx3wA)E{DSI=Jh^j zvA+!Z>pHkBTW)XNGV+B3$o&fkKtHyYSbs0PM1X5eCghMb?W#LckCxcn8UyR@sB}oVd)`PFg(_&y}ab5o~+4RscOp6& zapY6Q^q|<0x=btRxYUC%n9_w0*^W{lP)6(_9GCV*ohA>k{2lak`wa~oP;?!h?Z5XS zSUwgYZJ3usAJL;V9tOJ`X;7;DO7u+*OFp`H9J$3FpI+d6YiuJcp01C&zP`)0J?g^x zL;6=N+0_vENEYXWX85u5=;qZeVoV}f90GKNIKBQSE3qj_eMKbASji8<=V{Kfg5jnG zo(D{u2!n7B)>rNp{vGK2->swh2q2o6@VYO*uy?>yqGA1+$Cwj)O?5L(p^;}z!=AAI z!z(SXuLnb;Ao-G_}cRBs>4M_p)aW}yK}oj6L~CyUFQL!fbsF2lZI&$C!Y z3&LtPV2=F@gb%ZmW#lLyA{93aP9%_!3A-ls0 zgL+{>#hEjo@Yj*gadm-R6=2@f52hi=(T8WG9*XiAPu?0!mae`3sRvT-SE4zA*gSH| z_q~qH-I<6(pl`~qy5YNWW}b2RSwl3WxGkt7mGsHPSA-9HM`;1?NsOTf`TBpye&NF< z%lm+`V3P*I7I9htLs-FD>>Y?evKF8RL&;9D`{Uv_5+ZcdMxVYI#>r`a%&s*bbaVFe z@Vc+dkFoNC{4MiZoFT&z`D>#=zPiFUhFg4TM;Sc&(1^IL5 zYfE)2F2Hm*RVb%u*AN*0{A7+H3=Ch+J#gLUc)_m=%%yavCz|brXM!ZOZEp zluwqvnV*BZS*?pV=!j)J?a;R@NN_?)V_+Vc-h%F+>hc#p1Eo2k*{D6QxDsR5QK{)% zpL4ZBIs%j)G0#x7LLUtj?H@rzfNA&xbdbbm$kya(pe6TW^)twr)e(}7YvUg#NXD&S z@cg!n#En%ml`m=61X~!SAk~s(d}$JNW)%=PoZpaLCFx5Dfk?Ubcp5&`Ri2VWSrc46 zX#HF;E{b|v_AA!QHS-3!suYc2%#hj9&?|9lf{}_mlz^oYo{761<3p`Fu3*7aY?@m8 z4X=RYTl9ZxB2;9gn1r&e}sOHA? z*!HuOo=xSc$b&G6Bt%r|#w2|d+>iBYttp-U*my~Rz3VJ};YT^s@Zy{+Xy^8y!M%0P zR(;#Kr^xS-kxK>qF`U#^Cv&nw=OOsGY>cSdxpJaBQ)Vb|i95T8okLX)W=T1gXGE8j zdpiw8e~V@Bcx9dfdW)o+oZ8!JTa2n&$1_OsEz&BEVpOO#0t5?{&E`^dv0w*rF@m0x z|Kz>HT~FNG@0NLOZMVg)MAklp2MH_Hw(%%pApZH=PdVI0xQ2sXzr3&vF(VJ3m-7ld zSvH|Abe!~As=2c=&d_3Mg^qg{g+3h!nG}ZWNyuJG(>O?l3j%#&)KUSCW+{0cmkoA< za_}Ma?Y+ne&Edk^IVj~?k4$K;Rxk4F4nZtKab;;sni}Yeb{vVGK8^$WK1(U+ zK5v0lHL&o*ctC!C3}``{bovZC1i=3XB&oVEvh(DNJ>C;Zue_i z8huVDF2CizPTBLye3oEK?hIM=bFW;x;M&qYlTDP3lgPQX2q;@8?#xO+aO9&;)1C)u zphf2~H;T#O06{fAZxyn+)k|d4)U5VhJl?q#q1xX;LnfnUJu`7f5|ioLzL;!_M_yh^ zi}mW4DsWuz$uDBh>qeYsSfjIvHT!HjnL2{{a`!xoWU}ASh4mTRu%vQ5#n-st)&vEm$Pm&7CO&t9C zf3_f|rO=+ywRL>#E?SYDSp=2}Py|>@+6)po-jO$u<3@~keb3&#S4nYQ%bhKa%Fwy4 z{r3NVX5eyy^A=t^dEX@_Yu-_$i$7jYF^6mN%UCO{zTzp!t;s~tuz>*gZ(tp>*r2=& zLO{IwPE9p<30^EH+A^VI^ zf7Q(BT11%)O=dTZHps?+R6t#TY6UH zlT##d)Z6NhTQKK~yV^n#$<{tIjonR} z4eY?G8&OF};`IDmJ&J03Ovg1?|1Um6_GGzxHdzurt~~J~^LjXq zYXrxHFU|@|A6IfNLH3xae3mV(v5*Z%AVrHWC$(4bbMmMz7vbVIi~>vD6GvQrqX~CF zsG*5*@aHT?X|eiz=6?BN$B7oPjfT;fnuGn*$OyrYpjL74&Gr)EJzCfiykd|7`n^2d zku(_3Rx(P&U}ia2w#7JE7J2xpCUfLbzn~0+UrE@m6@)5o%0I)MSp7EiO@51PFm&K7 z<;(zRu@=15*HK}NSxg%2amSci7=bZ1-`Ph}rpL+kux>9@29P>82MOt*2%$moopG4! z`m+4_{Kpc76Xm6e_xMecyMj^;v6u-p{&Kxs=j_S~JX~UVqs`#s;Y-EFL`%IEv1&5>`b&H4m-x zKn#c&>+jZ>Lkj~9#tAL&X4XKf6PoJClF1LY(&5haCj3BMz)61ODF)CsY$-Z`>@;k$ zT=Xbi+EH63Cd{+0eAv*w;i(b{;~#ymJWZao$2Sdv3Yd&$437v6;K4nsWXclW^_Iv9 z*TUx-oE`}TE2cn|ALTx4V2jJ8wP(c$&z6{1$xf}<#)Hi=D&I`m2YSIkDG43|363H@ zpJrOQTa!eMfcF6`VYV+MQnh?yWH%^+a2voXFXbqknNUA&h!)>G2DW(e0PJA!-G+%mW; zh#kpN(Vs?^G!2IVp*P9tDf`$O8ztCjUMxIPRcoo8zJ#oypHO_N@>(0typ!xVPtcXF zO_)8qFdU>P!UAkT<*AS=vm2%w<~ zs3+U85U@Vcu~1NuTmpz$$G@9<#k7t4-=_t>8u}_a<-QOID;4=A^sx!Ua?w0*8LdN+ z;9u@Q_CS?Pd|wJiTS0CINd5cwhZuVvWZPfP{eR3_;b`pn@7T&3gI~=9GBeG79x&NAuN$S;CBCbu(`X^D-rKr z3W@gmcF8h5p#!&W54W3JNCqt_U4+y-lweTtow1S`(5&{gu;#WsqSeJ8!R06iSo(3Y zF1U~N7T;qJfVaYr>vuvzn4v@awj*1FXvh)R6pOga1A6!@$_y==wqku{ESDk#oyDxF z#k{Jqq>4qy2XUZB|9Y}IB>WEE?PkJgnwnb|NT0qbX$0~!YWXx|Cymg z`_{)z4*Xk+%IuT6O7%;q*Zrz$NxO82Z65|!PRjo(t5TSR9v{49Toy_fJ+l~3g;kRR zmv4{VAwdW4VZ?~e5bzhPTIv2`mjy%{zv{STa}~CQ5Sy-^0GE9Qtlrc)E&FG3>50VA>gB|km1;H zZw?z=lsNZXRovV<-8qsUoLWGtF;2ckvA>4e`+Qj<&ip-Vx&LxId+>Ir(1tvS|+Cz zqK7zg0~K8=D-;btmu{iX(A7Js?FAmL!(YwvoKrz zS%ZqYRHHF1LY$*_!wPWS1?-?Y{N;3>mW1e2MN5G2RyBrMnT{DAFl-ncdYDk25*)F` zc^mKgsI_A*&mzRBdkbn&jyR4G9{5Gm0P)SsNdEFN+HhVgW-EKC{f7f7R{LV=W+p-_ zcuuP~GjOhPMI$m%bk4c8K>d@NEYB|lP|c`hP${>l&nsh9@q3UVqSl4ERtL8MsxYYn zH)S$*YX2lz!o$vlb~Oaw5%GfOlwiQWZh)^wQBO#|6w|H}u+7DkYFmA`BBTTVAtT?J zkRywCiDW+|sxyef992I-L)O18Nfj-aS29#y)nP2Uw%oATR1{dmS>C{M=G)6g8kmu5 z7?4PU=|Dfuvus6W=*`+Nk^+Hm!?k@yFL%kNY~2$n65UaFtGhk|^^ z6M&C682fxD{;pXxMZ$0ZN&|@NeT)sb4LCPormb=^SX0rhkD#Ka{}8lfLeGPfWDsBD ztnvP8?4L6k-%Jwn-6Wkj1$d`~X_!(43v^l~sUWX6WJc^FxXpr4p;ncfl& zdkL~M7}(yWMk4eexG(YttwSwhi2)8EKTK~5tU(bH;O(rZ4g^t{Aj0Q0)WS5``ryER&zF(vB)O}F82WUFaA{Z4aF z9>%7DJ{##6Qyv!U>$j*IE^hDgZ_p`358%eK@{qJ3YtA}T#wZF^e_E5rPmu^%H&vsT z&;{r(b*|dZt+^(;)uxbAZLy!}jSbK&{)qXL5PBoneA1fMF zL&CMD?ZluhQ4QGw3cR(b@kdo)Edp?_lS0;8%7TuDHI|8V7>_ptobpW8Ki&cOi#)>Y zFJjxjAqC;U{2TAi%7R_8jq>^4enL6v$6}Q;wJGN`;?IY;L8caSeV^kRIv!^9&eLdV zbyK4`h|T!f^utxLdAbFS?B5hAt21xVN!(ZWMK&&$%^#qVJ`b$EM~DE0c(F5vtFFvT z5dt1h|7}jJ^!|aPunUK?TCXJF(i$P4AtVWua9Xli0TvdrlKF~ag9|vO`aD$jGqijH zKh!d6*Kxghi*b_@3Rj?dn(O2)dcIg>9pOn?@P8|+$J~V)N8iWqftJ@NV_e?O{t@3- z#@6%pcs>Pjk&30@H|e*d570zea3lHiLr&v2(XzyluMEX%x_rsfHiHy!4ACIf8*vO~ z&4eFVI+)q`SMv=}xw4v8tR3mEa~X-EKQ+jVg)JC|1c0JX3hZ5PCwV20(D~`lpJ2f9 z1X-YJ8t^|jpSf=Wo^ui*sKx^IiqXB^A(fk@xEiCy+oK!RK{hx+KZD=%S*S%Ab#EOK zYOfL7UZCM|`3pCw1i;J65uCj_gp%siNpAy!L4%S5rmO(~@r{3-)UWA=-vt##2{S?XOG$P`gtvW#^ zfJ%d=EOeqykL?PU{Bhga@$aL#gm$IxT_xoTVRD9@KOu4aSd|L%Z{C(x0i-fUqzmai z7umt+SX#w5%>J{i!}Vc_n(E7`$AimPBCbZLROjt?nP3tU5nhc`|H*rV6q(2T$IUf? zm_QPHB1lnfVID(MjmD}uOH6UWGBhaYFXX`d1lvV#hT9boOeo&4D2xP<+I;`-i1@3x zM1-i~-;nYBs_ZfL-SPRR-?}pOlWRaZ;oA!D z1uOi2@yV>VNa#3vyU***3L?f3uaQWJ_NGF=2jetCL%)y-jGt0N zdJSo=BB2c%Rt|UxZ+L&;3Lo?!%eF)#PV;$KoRv{IgvT#Nzrd&PBx6O>=j7L?QI1Oh z4+d+xL7Xf5sssEomIH4BdsdJ{#5~%1^2kV zA=?AIS#ZnZe*z{9T;?SAwcB)z-F+ssSx4U1;(my@&chm7NM^RjU9u$AEN|qjAtuW- zV~ZbcWDwijt;Y*gl31atinoqvCi;KBrQY0Oqt5f2E+Wf!1dpw`g9-A$67$@xTXQ<+ zaj>~bU+XwYRhTTX^kZc^llLf7+}8_io-xcdo*;q+%lh_C+ny#4g8EANGDCjKxO>aoN;g>SLvsIT9ZRA= zJjjoyjU*wNaqr%{+sPq-r>*z*B`GfH3(`YUiKQ=a(D%H;@-O+)l`1I^6PQC zwzw?sTo1+0Pg>AvOFExdPa$HxTFnd25au@deQM83#pp>Ihp?Af)Ei%mY4!?ZyN5H& zaDHCnDuw9S+`dx6qFs@!gVU&}g5s$*oVKLbncLNTm#_%UFAw3DRzZ|!-+OWzQb1?t zfXw9LPQ1+{IYaha&5%V>pjcz$u*P|8|Lz!=s8e52gD^Fdt$c5kss}$J(iUgD%+nv_ z*@^Adbz2-J&840Cp_V%F8)F0I*7q?t5-`N_Il(Y}+8lz|E~;n?5EKXYk6k!4rrbGJ zHYY7?djrSwf=lOGI$Ck-7D_#_pK|eEUhksl^zLn1tRtC`4H^^pw=e|C&5@aT>8iUT z-gIW51J4h8anXoMM9z zRX-({{ha7Jy!$M;?-VfXc|njRn6k0Tn$w(n{S;JXA_lQqCQoiB5~3`lth`q`wIl#0 zN_Ulxr zDMm{kqA6M;+p#2?BKaR%24oXK+3)D*GClWFMO{ZqA!e^s@KC>6pOnrG_!JGfG6Ty32z-at*n&PG!hC*55tkuT=sq3KgeQKJx0 zbPIY=rwIUYJ12x?NuR&L{LMO~Tja9L*Tfo#NZiwJ`|$$@}Elma`BA*fz~7VZIe znPdU2VQ;Pw=(0(O(tk>P^C7W%?@Cjv^pDp-bCyNA>uhX~)(eP}H!$|eYcCwhN{ShM z4X2D}z7SfvByU%Zc~01uu(W4|a4JSRngAkP{FvF!GWSoDKv9w6^EJ9XG5O{?LU8lh zsMsC;E_~PLy&E(?%jzfsaUAxAYtH`s`t?Iyt3O$W2iWkmNK_G({{=nZG}T|LP?{U~ z*68N&Q3i`yBt_$G2C|B*rUo7nW$%0*isQcQY&Z3&RU0>F-OeLjx;3&FuDw{+^ zQFu&DkQT^c@+3Ya?ACB*TSZseR~xYrc@QXe{C_-8zJN!Z*tTU7?BpK$sZ=*YZ869iyEL{JRw^39o*7Pm7q7zgKSK zu2X*VsFPr@K*GNU)@HDd)b;Hk2=go4KWZiiC_HtwHn>aB_h}}sOrs?EdU!nV0+O3~TGq7TRmulh)s-~XWH?KR6G+5Y|95&x^t4gE_c;hf&w*KTDi z-M%|n8SXiNLAHXhhhuU^g|~9jY8`hdrv9fFm`04er2-I}tdel=m)@pwo|H)=!Sc41 zM*J}}N^nG!K;ln1B5)iY^=u;l{SxEI2C}84wAyWSZ8qpGH!Wtj0_2&GRDvIu8ihoX zQXdJN#G}DWi^>q~P>*Q>7ruQZ&dI_Ji$KYSReJ_i-!e&98tX#0EB0{;Z*UHONFGi2 zCh50kEeR;4{k(X9TcNxbk3ODkzeTcCG9~|3GwrdLEb$&Uz>Tg2R82;yOfR5>xt3r2 z)8}_Re(_th!MI%)JwWec6KxE)y`(krlV%=;9CrfrT>cJ? zjtNElx)B_+`RyK{bCE8aYgfzaf2nVz|LI2Xi5|g+Efw5&#{Ygw}4Eci*QLbU-!!N*5F0CC53)vXJJ#q zc{fTq8^~?f#RnZRo?cRoe8i#Q`lY#X>|&t$cnpYWm2jXhfp}nv*?A}pbvF)%QHeP^ z8fhBUnr!nlVLfL^)nlf&?)XpG2@P6PJRW8Kq ztw2tkIrllVrxhz4yk9=IN<@xXoE2FzW-;DXjk5iL{Pu~CYuChztfAg6@ADixYkhXp z^ax2htJ{3FUGwsiq5P$NpA7^Wl*4eDBoYwAob*FjHM1$UA(x~ZBgI~wZ}w*%%Ekh= zOu8^u@0-@<(v%zY(8s6KKaTDBYkmdorWlAwCirxf+!&JhF4~v)ac}!BQl2_Z%XE+DmMTkNY4Ci~caS^>)fied-+>%+jU1r&8Lz(3pUhZA? zSX#>3=Vt`|^7rT4cix(YF8i?N`&Yhw8e00Z;R40;^G?NoeiVGZbNTPmjSmC#W!EbW zT&*WMiM|kFjw4Ux6c4=GG*Nv|fv)&y@XK=^Ez*B>_>4}_^kp4S);=BY4z1#l`L8E~ zn3_#sM3KP?T)X?1WW9KkuChSijGIxmHSC{#I|^&ptLQc)+dKP)6I=~51QB8%pmqPe z_Vq8qHW^`>CWgbFsEvKvHSKaxhQFqvt0h>@O(|e`&-NCZ75B5uG?-& zfUi@;x~*sRXh%&|;Mlivv=`GrsGtOxOX};$D=38r3S=#Nf(8w243vn1q;W8$O-=rv6Xyjl+B_SZE1C*@+3@-4Pa5o#b43)pDeWOzx_1Nj#{}*&#xLxcXC`mK1n9w{cOlq z{2X*?-Tri~?hp9c;YNI`k$$W-jQ_aV>T=#Lug;q7vvT7?M!b-4S)?MdV|GTBC96q~Jr6 zZ$VeS&hpa{E@5rhh; zSA|rvxIA=x`GvRF`Z8rRv&Z6}P025Ko|;}5BF)c_S~#2bd0aj*1u3}`z+c0R9;LS( zsk(Iim?X-#42HrlT;Xz@KYwjzS62Ij87%m9ZAG5QuxX0gwaiJLhjc8ztPP@S(01a{ zA7{4CZg`lprt^*FYVol$-S%VjDGozS-F?a?z_JKOXJQZGMFJPuxBGC<#jIS%As~Yz zH~;71dfnYK9nnozkrq(}H}93<=h+0pDTCdTQ5!Y$m|28lxX&~D^=fy#JF8DcYhLPV z@EPg%j4B^x#prpCwc6eJ+XxEos=za9=pIiFJWz%&LzVc^YqupDN5~f?n^X!gMV|aK zIki{)O-@e8xMd(zw`adbI$seLG4YeVMueO%16+lcS?fO$183>P%Cj|y2RTgARq?(D zj_PGkJq#MwX6EhSJdG%+(oKcYf1^7~0(y=jB{i=epobMZFmM#-k$9KI(~Iqoooz&$ z?IBJMmp(JGl7%6kseby`^7)<_h6Z0gs@ylBUnOr28HC(PN10m}-U7#-unEG_V;Q%- zv6M7WqPm;tt(!tV9}ccR?kY*x?>JZ}_m7pgz2`WxJ?x&wewpzIH#S>A{8H&u>Yo*v zX5>~KxiMT{=l(W5-5Y}zD`az3hA#|e*^qsXx?}`vax*ql4oNyjnb#G>V9bCjNpTxL7bJzYUL$J5J(o6Bf^rw;R0CGeJm`?bXnS<2XCwie9 z7{Eo)Q5wpg7n&#fBA{Q^goM4i;*9`Clm%~mc&Ya|6_O^HkMYCH$lHI6nT9I37wCKS zPUY5BdNCPao-^ECiXVsMUi2(GHDromT?4aoBo-9WEHjislN_~r67A>;$KV6{tM6Im zh_BA(g+Kno^!_i}ucG!~xpnc**IQ+p>mE-*njbT-Z*dL`iIM^t{)yrNddGPpedoaD z4x8k&BBo-YFr8^*V`3B3(ulaKSPD_m?M42|)R^7Az1U)ldLbFOF<#r9Q6~|3wC{w7kA-Agzi7*7%c*zcq98Xr#;F`q7S?ate4#$; z&7;jfL_<#y6t3<#zmx5sQ%Oz^r>i5e-;m3PHM&$!Sp^r!~V1e|&6(PNo*`S40&Wccxx1383nHDSy46zPl>24hwS)ss%jH&{Tw^I@L362Y{Qif7J_~eVL@~`2>Y|e&|Y+K2~sTqfh>e zWJ{t!`_Off;5xKtU;WM%`!>8ZG=$`-TNB^y&MZR69WVLRL8kAQJ5>~v5!4$h+XXN~ z_lpy8U6C8rx&Uc)d=Afa%<=2nb9190!8GTYLrG4O<`YbuTu_Jc`;JdSKCj!Agd6O^ zFM2QGn_~;8f~(P_`<1Kq#=kfxwMj0WqsGL@2ZD)OrS}yzPFfTL3`34kU$?SuwH6Nz z;^55D?%~FCvB42^&AMWO6iSc)LY?qwM+1;|IRAK{)0f7_H5h=6K=ZvfAUHHMq53rmdbH{4gP7XDY`6Qw)$QjDymvK@KW; z8(tnu$*CjQFSg)pyo>FVkcpuyWPhPQ32Do}6y7<#KK|+5_lZZf^pasAtW)G0AJ0lq z*eQDA$@_Lrzop>OxXV57g793#tc`@)DRSV`@}A^UGIhA@I&#Esj|u4?w0CWoBfW;d zK{Mnjy{E{{J{W`8T<7wR^;-|U=-aWQ!o0g{Jed(}xzPIlQdsUDi}h+My0gc);FfbY zm`ga+a{ABX8=K-DzESyP(e}Q7(w2DLplgGhsiF6LOO}m}ss8nT6XP-oknU3M`rP5V z=aqd@Y;(2GW`K4xZ?|?CYwWtqIrW)t`p)X--+5|O)EH~O3$3lY)@3$lSY>ep$z<}v z_w$qo$u_FNk?@<7DH=nM)XbFzE%*0)AtBf>;c)tThC_(cOVtC0fnU(&nWCISQ0(M~ zew9{mQ>S~Zy#RL7ds%zX=n7f+x8Ns_Y-ep;tH<8qX?JG^K#iy?&Gi1e3SEzu-`NwDjx9y8MK@G=+FaCT^>B8~#PFxJG|}{Z zinX@PZvC~*bM*iTRt3+I6q`@I?@&E!d^-IgI=Z$iz&oBy=d2Cgv$Aj-IU!~?%etr$ z80?$la{xyK6UH4z-k#8n%;+HhtRvT~K={57ds{py<%6mrW16&F4}9*|tu=ra2E&e^ zWrEi@oP!4fTU*0{X(inCa;5-L%(-X3Y_cE#w*_IKLh0nLkw5mF+ux zB?Om$%)EkMS^haGm}Yb170&Fu`3Ki8$s_)MR9V>f{K6tpz+ozVC1PLi9Iy2i@eY%+ zCPec?Yg5O52$vg%V^@Oj%$uj~KKyU6m09WcD~Q18T(uuQG<*UgaKWp9J9mGGz>h!# zjwy=y^N0V^9%RAwuRAs>{QwWl0X)!S9X<2|Jh*%Uz=Ka7=59a00~G)dhU|DB*Zlww qegp7eU(UAFAK=0N@rRSjYW3U~4fi3of$8QlCrqtO@{V1+{oep^B6G3; literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/ssh/yearly-ssh.png b/web/api/v1/rrd/ssh/yearly-ssh.png new file mode 100644 index 0000000000000000000000000000000000000000..8cbabc57d0f71e92507073e7c103d29e5e766fd4 GIT binary patch literal 28252 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 z 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 ZMf1tmFG)e*-7^x$kC+_JJb2;e{{u99*69EM literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/web/daily-nginx.png b/web/api/v1/rrd/web/daily-nginx.png new file mode 100644 index 0000000000000000000000000000000000000000..b1eb9af79522e5cedbab7d3dc0a5b9b9c0471e86 GIT binary patch literal 15718 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 oi^!zMx97{G01#qkQ7ytkO literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/web/httpd.rrd b/web/api/v1/rrd/web/httpd.rrd new file mode 100644 index 0000000000000000000000000000000000000000..870317a5824368831432dd3ce5f501d5d532c5ac GIT binary patch literal 47840 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 GOa2ehMl?16 literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/web/monthly-httpd.png b/web/api/v1/rrd/web/monthly-httpd.png new file mode 100644 index 0000000000000000000000000000000000000000..5fa08067767fe315f019d795965a70bd2123c614 GIT binary patch literal 13480 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 H``7;hj?mm? literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/web/weekly-nginx.png b/web/api/v1/rrd/web/weekly-nginx.png new file mode 100644 index 0000000000000000000000000000000000000000..34cb37cbb6bd462a3ed4f9cc6061ebfd553c028e GIT binary patch literal 15243 zcmeHuc|4T+`?u6d>O`qXVw6f{3rX2V8=m@)Trk2)vc*Lj|k-}C&Q|9<}@Gjos6=W}1z^?qOP_jNxwYihWD z?Y6Z70s`xePMtU}ARq{U{~uYi8vOSbHgYfc!`S!aMPG9-XWxJ;-cADN&!6!1^17}l zd%^3f+Z7*KGbdj+4<~O~9bfQweXsAoDLcCADayL~`rgn|QQ^O#{PT@gkImqplNB&J zarDBi71VT6y!7W1)Iwt#$2Y2x933n@XQUY-*C6G8K-eg3^#-wzDZBOEFTqrw91T?pZ~$R4R_|So&@OOmMgnsp$~P&XSat)(D=PR4Thzf!HClb_ailKQ?=VDt6d= z;Qo;i)*DGl$(lcauU{{J`@EC4j&^p<&rb>5_DFh9DsnNg+uldmtSs{9l4E&aay$&e zwb!1zqi}o4%lbBJrteZPmn+vSU6ilz^j!x#-o@~LeDdbiL@T+PYf1fif3_^%f*%X~ za!8Q-6$^W%x@yUCR@ezLp&T5PtAu+V6GU#zvB<3}3uM$4yR}4wxIbRMetq)fq-RT8 zn^RCwP~G(Ojm$c`npoyAw#U(W>7RaIa_l|tONYH#D0vb~j1dDUA&fK3iw$+j>eN{Y z<&JzCm({CRqaEitoHJftUf*b&kNsE{{|KMPubH3_D7HA?eWll|YyF#A&-GEXnsZo4 zb(ffTw`f=WyY8)%sOx^`1KV;YiI}9~g##{iN#dS$G?%o~E`3D>TYVEn*a-%;KY;5p zuS)W!J9eMFz5srH=>6@L)@ilpF_AAXMFQ4E&QAEb*;yx(QtHa)2p06#^wX&s%mfAJ z=V3F!igM+kU=Usf0R<~|MAXty)KU!GTl8JF^pQ%JyR43AC=s6eE#Hc|Kav{4k>#*z^V-Kh_NOvBi&zDjRuSBW!YsGh`pc_uZA zyZWi?JOrRYh6p?c=N=<=&jRHm{R?}OQc~rSCapc*cnr|R{AR{Ad$DkOru%Wf133W3 z8IbXAJi(|s(IC(3uW*RllYYuNzk*O!XgFl!`EIuj?s5uTcI)=-*UPAey_*Mu$+7uD zGzabnL$Ppw!7msyq3!Z3FkSmTK<#*4FbA?;A<}cAWiAvN-1n?4bZ6zw!Y)D^a+6&| zXTY$uw*O{JQe5o9=AeVOk5xeXppOrZgpGzBR~0MLu@q_@)9|PyV5Yj58YGjD@5emA zvt(RL?%yM8z0NGZts3zxd&}mXyp6y!0}~;Ap$!pnPX_m`ll|+oRDDcddG1BA!sy@`Ms z-Z6FcYs}Ccs!dR^mPS9OJ{P7} zhksLjc8&aD88Fow&4Q>LUDisga;+G{gAh&}_4$K1M7T&FgywbfrI&TbssV;30V$$y z751X;$8GJw2q9R*oKO2P(!yQs78QiMQnXl>sD`tafL7Sqs0u|h>o9jt0SwuFeDXoE z%`v}Cz|FqKxTl*g)yHxfcPV0rHv;#8vw|;H#>5L8?}i=WwhW?_^opsQIHQ&L0VtK# zf^q0zsq8qnPIOR+aPL;cI`9I7f*PEN+arr4uorvc;ELug3)Dtf>I!sg?4$y zHY(s1`9<4&c7Z#9xYzj#_zFDR`oKB^Ezq`jyy4xO)Ukhz?EzzwvUP`6gEYG;l=Z<& z_~Cs-1!C`t<`q>&VLK)<+j*n(4sl2q^TC3zqXQl3&vhfCJh({@UnR)YiiQHwjIST= z4hePGC21TG_NH*-#}N}sjCAus-f!!~Uv+gb!HDHP0QQr8NVp|w=fpUfP{ltEul~wt zgBh1n`3l1Ev^azTkGiG^JnbeS{`Q)a2j)tAr1(pS(ftuqM=Y1bltthWf`W%z)t}t5 zlP9gkU;3$PFqrOfF@yg+8w&HTh4Nx3q6j=(EBih|NMiAHTL0~Ika9=miz8S_0lj4f zki4ulN=swLADJt{^Sld&(3<}rAq2BK$<=7lPFYCt5p{KUdwCqiGFAF^$-lssDSTpr)s$+@D7aGWD_iS zIvjzA=3Om4`xtYP)rjD=Y}dK<<#!Pg40p%V{t5u+H(vMtz5bss2n5OulPTVptQ(9u z;xlym5HYCf53urtZ&Q~Rkk;R8a5XVoQUCkb?wG5nQ+kGb034=Sy)YssMn^?GIUX*O z++P)&s$f;HIivSxAEF`c$WY(s$YgT~W!nQj!wpKlHwJ4HNZ6J1=-YV`XO@*g5^l}3 z#G0_VZ=b@~nN1z0K|R{@>Ym~8`0H+1xcy{LsU{~(79z%+qD*Nkl4F-uD5=NJZ7Y1! zUqR4bL`DCmV&Bo`i6gJP2n+3s4*0UsXY^;6$J_IrL6|hycB`qo$lc;fVADH`$2E?o z7Om>NTEz<;7*RwYq70TD!B~>776T7y?MJy)51>sMYT>K1QzJTrCngTl2>#SdMS+Z= zy1_H4ha}nS!_s49blt6_h}u(SEopjit<)*pctIu4Ss{w6PKV6zQhA{6d%Dh>+GGgh zOq&JFoY7|fsCP5_egq2TbR@>nq3QvGtx*IA$&;gyTk+5O+Dv&zetN;y)0fs61% zk;A5fzu&|TPMakWFf0&_C$gnDkAUKSGjgb1KPB$z--)=4vP?bo#n@_&O1AnN`+gCD z!~6>rBmlac4LjVLPk(c*Pz}A$fF?tTMNreFgdNLCJcoqdErnAJ+Wr%J^KdiOz@6XL zq1SRaocee(JvZhA$x&R{_M+$Z7iklSl^z{2RX(?kJ$#9dUuc8^I;E2*BgH@C zc$oIcUnf?FW!(5y1zkF&qr+v7Sw>p9Hb5UFl7g9o((`^#HY^7dQO4RxEx-L7l@D~} z9VZz{$$fdaVpdYu0CXrOCdPRS5i5YU3l|1&ICf_XHqS$l&Q7J62|ZQNKR@)HP{w+a z??SnZg)3Xg7H%$qs{lT?@Z)m}H`_kKtB?-H>5HGMtcTBcA9B2cLQ!!NX!DR5@C^|33SF@ zmpGGU$a87TfMKqauC5jmLZw7T`5H?u4?Rj|Zo1J3*J{M_J)+&`{(@vUE^*gXD#Cjq zw%iHtlhdt&x|EN`qy5~zGi(Iukoh2OU)2u`7|7V~V?@H;2TLFJX1{^lywCHN0=rW5 z9JiGCT+1X9m>us(ZPerBy=sV2avVU$0bk?;4G>!wgg>9E^B#TU*bd3DQRngND5}Q3 z?-&`uPjSt;iYOpwRS_ITu&b3qM7(V717fr%4`_DZxSOoy=iVQP2xJmOHi7#@C`BTl z{7B_?s(|_TJ5`arc&A{{i-YL>)H0CGO(>-~z-KKm#Sp=e*(7m*?Xp0{H0sM!4HxfN z%D*wfTw^%|qh6Eb2$eU>s7s`Ta$r~5vOXiOz@+W(FXwg<60a*O@tj^D>QgifdgtXB z=4QGH<+Fyw+xw|};=ByJGG1@SV`kyRul${+-e08fy-}g7gF5fRz3P<3$C7;7F@T<_C&LnQOG@^?+z74q47uenB z(0?cV&p%HG1OzZw_Ge_ssO#w1-jbw$8;CQMQ3Zj55IEChSpPXvVqGjhF!HNsl*UuS zLU==SEh|RWK77pfSmfrJWad{%XfpmnhB^mEz zx9MRcg&V3RV7KCt+K&dAMgSuUz-UJU8YLYM z@`=VNFkE&GW@cuRcAy`ND%ZbU;LN4w+h9|S;`d0peLd*|$`Wf@>AEe0Ro|{b4xv#%JW7j#4Bd_?&-h zk0%jr*T_ZLm9}5+EjyxK?$)wLjRx@?Q<=ZG!N zB(zhssGy?=cTR-g3GC_yqv=>E+54Xd>c#o6KS@vbl0V^h-wsP|(!F!cTl`B}UyTZk z2pr>g<4!Abe&`zV&Yr?;XFzI2Kx?%HgzyR>B;^$2SgvMpg`q+F_N`yvpLrl??62NAZ(B^nscW2#iHv&;`+x%fY~z$*vOO z1R2}-miQcJBMyKdR&P&DMzpz%_#Hc0i7HWBR_B!4{9z~8sa6F(i&f;oeyh)5W1Z6R zCzhAG7PuoS^HdCq*W5?3Iw#FsY)L9l|I{$f{!_!qN~eGjG53si4F+8RBEU&q$YHmn~1VE}3{jS}aQ@Oo$h4v!d`S(ha^Qdws zvnQ}BM*5ybQs{)sw~zN6_g}|&)g6_7v&d<8>uY^IEPSA%C-DdQgaR#b5UU?Ny-{I>(SaAWK-5^qwvSvHG=nHo66@({>Km=-zwddQ^zc7kN$DMQ=z`t{8+wYY;m9~E_(#)dW3Zwj& z2|#wv(a{@ZeHWU;yUm@H_t{7+B_vTZ#O>5%;DN2}mSM05T4W))?kz9R7=*68oXz(J z+OEIz9yBfrnjO22A563<&|>DS1j;|C1K+%aiVX?HRFjW+W1E0mV@-=Js6`sy^0$Tw zzxP8%)ogjbiR1#A6NW$8t4l{MYJ1n8{%K(3F0}fEdxvv>(Z`f^!IB`?4ud7%R`u0^8!;=adV#o#{#*D`Sz(G zfA7BtaY3VPC9l9Tf@0RGWZFBW?q6&Jf3;4+8M=Q|a&sTz^m>i1+sjH*n3Av^*e~4& zQZziG%4Q9RvNM8e{|L3n8??19<%@o=R9jYjS@Fl!UCx2Ef){>xKW25^VmYa-*i8s0 zKX;2Num;)L**SmubG?DR!mgq`B3|qCvIIj9w_$L#P0vp{7L<_iszQG6`80GHimr!I zKX@Un@AFWk3f|Rrib*9$Pvm}Dh60+Ml@7N3>DmD)pv0HF&-~@J|LS@v_9Oi4MaW&p zj=xzRmBS?Z%V1d@xUU!eMP+ncLvQr>k+MCE=ylR9_^K|rS>qzVb8{f}$vX?K zWy6T0VSd{0zqgeT+G~DWi6DzwzH5D??Q5hgAh2zkKMU{?{0h)U1(UQ%wPPRWMc$(H z0dfC#4$mwc34*I~DsjMV>_lfa=E&M!r{3{!-*p+P^eHUm&tXUgG^t^Vhq7DhAcpkD_v~hps%1|yu zVXnA;o;shR557-;6*2f%g`E$J#8aOeb z?Fo)^IRC#}4v`|T;a1Rj`C-RPX8xz$V8VunrKxLab#)HgT=}6)8l^pRyqf3{tLIJz zRisR>uEOl^%4?Qc)AzOrfs~0ZCxA{7I3&^!gXZF;?gdbo>Y!kwTDGW5Q-?nYK@N)Q z&U|^|9U#PyU9m~fi`qee9r>qw#&07`tnOlb%KIx2rw=dU!MT6M162*!xgN0hbg&F-;cSJ0;>2DW!Lvt8{lI~T z-$tgUG|S7&@442>@GazDB%syat8(K0kN+O{`m_Jzy>-r$-S7Us{#RxeLE);Qp41f98L65&+TkCvW@ImIDrSJF2^x6^@5LafB^`Aj zb1CxL0QSCap{!4Un{z|ivl|&Y?D_9ASV*-&0}DBKS2e-3(Ws*&EL zo5YIUh|q**4?8>i#3e?bYd`lBQo{L=68Ms0Y8We1k{j*RM2o(gwuLRbAw@(+XRFpO zcQ)8tW`Z77)CgTcnXtON`A% zpuWLlSdS|5G#zgriQ!Mpfjn{P)LiVDr_#?U^V7PeAJOU+AbxV*SwyV*idq9`w@il< zlvn7ESKwuW3x7wj#>HN>YxPmS?IWzXd}rwlqMfiTZ#>9_w(jQ)sDR)R!TZ4W4TqM_ zOP;j?U&HlUbN}P&7=b>h&@Sc>IDc4oS5&X_iJ^hPB{eqaabkVDzkE5{AAJfWLL{lU znC(ZdCMw&x<8ZjTg*l3s9>8TJj^*?p<+Gwn{oaXIaKPhHBxpUmjvhYpN)i!F51uM_ zd1;#Nt{HC|6ONEPtH<*!4Iag74W6E}mg4?qweHi=kDXfScMZS*~V=HRW@c{Z8Ca|UIH7Ib8N z@17@6QWXGh;sB_q)C`G2xd#xJs8|?RBXYs=Ek>}qDs*nLhp+8BgBriV%)_!3k47E9 zIapZCA31k=0!Va%D1TJ?}jsiL$W(U39QihnbEpN z%S}gPQ3>7^_cVD7{o>&ma+9KmC1ObwvGv30OK zYN6^|n~QopjO`x}XN2~ds*UW1Bhyd(krepBP+_jViZ3_~ffJl0#qrms^;-{-HD&bl zm}(<#l;&ceVN*t(dSg`f{H2V$EH4I3X|4ah;K2kd^u~DyZl44x0VGVsYIzsQch{Y~ zfm|Bcd7uINiHrc&^tTBcfdB{Naj=&5T75xY z6Qi^;09mRGygkoD)`Kc_{Yp`tFB?>uW!z>74)d*qLx?KL3!Vi{c$=sLR6%*FkyX)B zn$E5vY1r$eM}z6v$k493C#s*W&M3pVgS_>kqArxR#GssbDRScNiQsSdBq|32<}L>G zWF$GvcbfEK<3kwn^!M3=my_-zOrD=HnWNoxSQxXivQ9wtQRVg|sW{+s@)B0d%Gaf6 zC}^WlC>5J77>Pw{3{CVK;V`Mh+VfmFAZz+tIHciGeUd{cN&hn8x5L5Ai6^3`^U+DQ zie5>CklpNocr#~AZEM@xx7+ertWw)145r{(cphJ6P&T*A1WDO=z1I(8S~i0rhq7Bu)fjECz24jT;B8fhpPd23=^)9Je*ZCdwZ6eT zL-@G`^SqThk8Z)ay;4Zc+-a=V^wlU*2a#l=Fs`Rq&nm5|9Wgtn?Gu~df;*59A}jX< z?JGGP*a@548qibqxyqhN9?mx(^h(y~ADQ&&7-Wak82Z~6yT;|e9Br<05J?oZQ~Q`Q z23D;-jBcOCWD3BWBlRcIr8aYdwIMD6#e@WkF^fgalvfL*QL&UmdKa^ALApCJyi(33 zYwYk~k{+|Uv3e?MAelewAjKB{s}!u#e9w4UWi!++*T|?{6Mp*9^nmqS&}!2ZiQDB1 zTEdzbbDP50?P*$mWBWzayk#4mG7jIoS|?}e?T~j%nC4#TfFDb!I&+P$6rzL0a}o}Jno^B1|v=ft4%#qZ*;%{LrGDD?Q(al_5?u{1ZdybX_kutH5XBU)C8VhqQ@P{JdV4_WWY_hT#xz6g;4!=gwHfFDULp;{L5eVEF zhwTw)Om(+(HiS?346}Xc9iz_Y$jAK$o<|cRE*YSBe?y!2~vFYDdWL zf_<6n0^9+E~?2k0+#=WGOm?L$ZV0Ul?{W$xTnhhA>{SgRtl2R?~IondvdJ55sK zzpvta-qj0W6jYuyU z&?cHH?D`F~vNgQQXa+6B!yw*|f=^*wsx)15;pkIkSk_wc4tHtLlvU@?npnTNe0y=; z1jI#Do5>(<|IP!454(E4{kEC`g1x5uBh;6aY5yl1zc7ap^5dwR+_D*^N9_b9QL zN_PctQ9HSYsIrOltZvPP$pC`7O4;-s@IjY)kt4n%52wz~E{MJLJZ43ZRhHc+Se)Pi z_(y)_&)}ig*%3m^0~cmHPz#YmYvoV8XRZS+M@{}@Dgxk8_z0@+u<@y}jj%w@6;+s1 zh^B_6&ABbW&X?ig;i+PzcRtzHVA@)PWt1;)i5*s}q4VdnRPe0l*63>w-hrrHkAacz zIC;O1lQTr)22%fYA|@t(3Kw-5u7SLZ;d{s&@nf~f(D_k=WZUqlp&s9sGbD`~O#1x% zJR0o``Mt9LZY!tD1C^iVt6=cm^$C|bg`AILlShpwOsolPyQeWNcbdoHaVjyOq*th za*(K4eap~>pD1fvbMe#4-dA)U-`6}(Q0nyG%lu3*BA%QvqYE| z3B7yMcJ#Rmdj^{&O|li^LoVNdw8e>T1qW^YE%zYsy!r7;TwdqZV<#z`hDyUUe)+rTP*i2gV6|WlsW#$;NvPV7A3cB!?{1E z@jv8FhOG>Yz@wjI9zo>^N{3RYL~;T7Q0zi0H3lQ3a@np{iOmtq!t;x^~9!?L~ zMxL}fi#9i)58m9)4%!bLq;}G2EZJEy<>&;ds0tL2J1nczt_b2WJ83&J=jd0=_dM{@ zbeq3w9;39MQIfzt!iK%ZzRIsYWgv}YOArRbtr7Dr$ZHy$Gh$Fy{n^%evmzFMf9oD{ z@m$RI<2D=Dp7z`EMX{2K2j?-a%^S~)B)=f|a0;=#K}0^tllmXeb^DmLhuSI^Z%H!n z7|-c*$RIz0cvkmo(lr_#V|Cl#jy;DEaYwJ*H8l0@NQDs<;s=C^=_QX=JzN!^-VNc_ zIv#D*VMHmpEApRF3kBEX>~MyZeiC|Pd#tD!cW2r4@|7!Bwr?i>A-uU{3;Tv5>{RF* zWv^sfNvsY&B={x~4%>||4JEfX<>jABp1KumFRwyXAPv}83$3u9CDjBJm3VlGH%{uM zRxwl}Z^UjiVZ$i+_JXl4XavTaO3BPY9oXDY&kPK_9jU`qgr;E^o{a2m3O|Ib?f(Lf z{nuqYeACgH=V{YEO1ubj`q&2$5Hmp86f3DCM7(^M(BieWV+jKgxNW-gz!e(BsKGmb z36gI(l?=lBU}@~sk{69Yc$fDpy(zu~-km^re>|m!UjpyDK+cV9rB+%m;U14c?qQDS zutb({kIf+WIFFTbS;9Te^SK9mvR``%_c#x752GH>w58nRzk6|9#0J`3E&0uo+rg)6 P1&mIbo+vnW`Og0WB*Wco literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/web/yearly-httpd.png b/web/api/v1/rrd/web/yearly-httpd.png new file mode 100644 index 0000000000000000000000000000000000000000..867c9db03a192830b069c13fe9da68cf7628931e GIT binary patch literal 15403 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 G!~X(h1`fdh literal 0 HcmV?d00001 diff --git a/web/api/v1/rrd/web/yearly-nginx.png b/web/api/v1/rrd/web/yearly-nginx.png new file mode 100644 index 0000000000000000000000000000000000000000..bef0d74a483ef173b2991108e1f5077d888cfb3e GIT binary patch literal 14576 zcmeHucU049w=SUQD0ZZX0y-$Dlnh-uf`U?26r>rY7?B=Iqz0Wq29aJO-9j0pNexY6 zr6quX)DRF!LI+7`fsmXxI?OlDU30(8I_sRZ?p@zMKTUXl`|Zzu_Oo}wFPP}>+%B}8 zgM(w|`EzG3ad2=k!T-m9*aDt+&=JSMKL*}suX>xg-}FY@fID(rx^%|d-Q7j%@MU*9 zryE{}O&z_RoE_nZ)xE)IZTD}VWbAKgN*%uC?d_oofw2A{^RGXAblwlTJIrzZ%<0Q_ zIA_vlybg6&%(iQJ&E_6DHSCt2T9X+liJlDH)UxNH>kH|J^CJ{16jR)M302fF;$jc&g+4cW_mixIgw z9<{gx?ABfqNHKUo1LKNfSr+B1A$ZE2qI@$upF zqQb(h(^9R-9QDC-f2`40tCJRY4N)?DlZRT7N2;sj|I(i*_e$vSYB+a*&i8NKe#(LQ zV$GXO`w?`uF*>lWhl{xAZ`^IxX_Mc7|5$wc7amMRf~8yJ(fG;;^&Odde=(TDGAN%% z)A{~IU~m;%&k#VC`G35CSeuxh_CBcO;*oDr+-7&u_29vSUc$n{MK50xe0+SW=jZ1; zm5@1f7bL9|0~yQvZvV7j9)Ap7=w>89rut> z@%`TLW75Mh2V(mbGFZm=KMOp#SeL7=gM{z$X~hUF8=%%7K72S%zJwZA0U11}HA$KO*^yZ+v&MG`!Wv5}=ZX7&XIvH=FXMPHfre6BY8oY{ zx|>)*9~rp+pr@~Ih**nNRTM$Lb%;{Q58s!(H`&-r z5IkFT=sL2`nKrj2Zw@05slbm?V|M!Wn~HbrQ|hEQDngpx?@2a}INXXHoPXxogtuxs z|8-n9zO59``>M^@6x!wAZ%qlW>wIJBOy;-zqwP1x^e%3rH;jD9^@(?_49tnOTsKHZ{ z)j!%8-9?9(pJwX~fhh}YrbTdnv=q!3OfV0uK3fxXRy736Va#T0l!A3IITN}feORIu zX+yndvm>^@{0FdG!dgOMb%mj6XKsS+KBNbpWqU9e9&$_FCKmzt$WiY<=)@RJ5g^)u zd7h0SYt627oFckP6OYP?$)%EiVm(7wLhW$A*)%kT2Sck!L9^Ed_2KxB775U$w-7r2 z9st2bey3&bH@R4C2K_~eM(Pgr=$QQY^|pwCr{%BE;|*N=isN8Za|rmZ-Med@i>n)& zLkb!jclO#sQS00D_`VKF+uHh|SGmblSVNQh#xPH8408~J#PBjLr^3m@W@#|SXhwCy z>#Vt)4l4(xNWS*JU5*TH+s*P7xm_Zv0%`gSKb(ZbjGNfWQ z({8b|@HY1x)2SarXJ_SMW9|ZXz`TB8XD#*G@AY^mk%!|`|37an1F*1P1+gezlc*hGS3eiJwYqXoOh&yK8x2GtIo%LuiGE4Cq#V{5j%IfOV z06x7i+isnr4tI5pZrQq(_x$SGnytG#xII(7#Rvh&H6szZOvMg%z~>R^e1uzSTAFvR zX{PU3Te_FLynM2$JFwl^`8g*ym-n~4yc4|x11a08oO_FiU7WOc+GGGw?0{35`h*?2 zdE1;ktj$65

Vx<>kfov9}jhUX!NhM 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 Date: Thu, 28 Oct 2021 22:51:42 +0300 Subject: [PATCH 3/3] Fixed cron autoupdates and firewall banlist. --- web/api/v1/add/firewall/banlist/index.php | 2 ++ web/api/v1/delete/cron/autoupdate/index.php | 2 +- web/api/v1/delete/cron/reports/index.php | 2 +- web/api/v1/list/firewall/banlist/index.php | 9 +++------ 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/web/api/v1/add/firewall/banlist/index.php b/web/api/v1/add/firewall/banlist/index.php index 608f8f9f1..e60b8066c 100644 --- a/web/api/v1/add/firewall/banlist/index.php +++ b/web/api/v1/add/firewall/banlist/index.php @@ -61,6 +61,8 @@ $result = array( 'ok_msg' => $_SESSION['ok_msg'] ); +echo json_encode($result); + // Flush session messages unset($_SESSION['error_msg']); unset($_SESSION['ok_msg']); diff --git a/web/api/v1/delete/cron/autoupdate/index.php b/web/api/v1/delete/cron/autoupdate/index.php index 33fe87b52..f26de9987 100644 --- a/web/api/v1/delete/cron/autoupdate/index.php +++ b/web/api/v1/delete/cron/autoupdate/index.php @@ -11,7 +11,7 @@ $error = ''; // Check token if ((!isset($_GET['token'])) || ($_SESSION['token'] != $_GET['token'])) { - exit(); + $error = 'Unauthenticated'; } if ($_SESSION['user'] == 'admin') { diff --git a/web/api/v1/delete/cron/reports/index.php b/web/api/v1/delete/cron/reports/index.php index ef664240f..7ab5db428 100644 --- a/web/api/v1/delete/cron/reports/index.php +++ b/web/api/v1/delete/cron/reports/index.php @@ -11,7 +11,7 @@ $error = ''; // Check token if ((!isset($_GET['token'])) || ($_SESSION['token'] != $_GET['token'])) { - exit(); + $error = 'Unathenticated'; } exec (VESTA_CMD."v-delete-cron-reports ".$user, $output, $return_var); diff --git a/web/api/v1/list/firewall/banlist/index.php b/web/api/v1/list/firewall/banlist/index.php index 5b92826c4..54136bb21 100644 --- a/web/api/v1/list/firewall/banlist/index.php +++ b/web/api/v1/list/firewall/banlist/index.php @@ -9,7 +9,6 @@ include($_SERVER['DOCUMENT_ROOT']."/inc/main.php"); // Check user if ($_SESSION['user'] != 'admin') { - header("Location: /list/user"); exit; } @@ -18,9 +17,10 @@ exec (VESTA_CMD."v-list-firewall-ban json", $output, $return_var); $data = json_decode(implode('', $output), true); $data = array_reverse($data, true); unset($output); -$i = 0; foreach ($data as $key => $value) { + ++$i; + if ($data[$key]['SUSPENDED'] == 'yes') { $data[$key]['status'] = 'suspended'; $data[$key]['suspend_action'] = 'unsuspend' ; @@ -32,22 +32,19 @@ foreach ($data as $key => $value) { } $data[$key]['delete_url'] = '/delete/firewall/banlist/?ip='.$data[$key]['ip'].'&chain='.$data[$key]['CHAIN'].'&token='.$_SESSION['token']; + $data[$key]['delete_confirmation'] = __('DELETE_IP_CONFIRMATION',$key); if ( $i == 1) { $total_amount = __('1 rule'); } else { $total_amount = __('%s rules',$i); } - ++$i; } if ($i == 0) { $total_amount = __('There are no currently banned IP'); } -// Render page -// render_page($user, $TAB, 'list_firewall_banlist'); - // Back uri $_SESSION['back'] = $_SERVER['REQUEST_URI'];