[Web] add manage f2b external option

This commit is contained in:
FreddleSpl0it
2023-07-11 10:13:00 +02:00
parent e2e8fbe313
commit 65cbc478b8
5 changed files with 65 additions and 34 deletions

View File

@@ -247,6 +247,7 @@ function fail2ban($_action, $_data = null, $_extra = null) {
$netban_ipv6 = intval((isset($_data['netban_ipv6'])) ? $_data['netban_ipv6'] : $is_now['netban_ipv6']);
$wl = (isset($_data['whitelist'])) ? $_data['whitelist'] : $is_now['whitelist'];
$bl = (isset($_data['blacklist'])) ? $_data['blacklist'] : $is_now['blacklist'];
$manage_external = (isset($_data['manage_external'])) ? intval($_data['manage_external']) : 0;
}
else {
$_SESSION['return'][] = array(
@@ -266,6 +267,8 @@ function fail2ban($_action, $_data = null, $_extra = null) {
$f2b_options['netban_ipv6'] = ($netban_ipv6 > 128) ? 128 : $netban_ipv6;
$f2b_options['max_attempts'] = ($max_attempts < 1) ? 1 : $max_attempts;
$f2b_options['retry_window'] = ($retry_window < 1) ? 1 : $retry_window;
$f2b_options['banlist_id'] = $is_now['banlist_id'];
$f2b_options['manage_external'] = ($manage_external > 0) ? 1 : 0;
try {
$redis->Set('F2B_OPTIONS', json_encode($f2b_options));
$redis->Del('F2B_WHITELIST');
@@ -351,8 +354,8 @@ function fail2ban($_action, $_data = null, $_extra = null) {
switch ($_data) {
case 'get':
try {
$bl = $redis->hGetAll('F2B_BLACKLIST');
$active_bans = $redis->hGetAll('F2B_ACTIVE_BANS');
$bl = $redis->hKeys('F2B_BLACKLIST');
$active_bans = $redis->hKeys('F2B_ACTIVE_BANS');
}
catch (RedisException $e) {
$_SESSION['return'][] = array(
@@ -362,7 +365,7 @@ function fail2ban($_action, $_data = null, $_extra = null) {
);
return false;
}
$banlist = implode("\n", array_merge(array_keys($bl), array_keys($active_bans)));
$banlist = implode("\n", array_merge($bl, $active_bans));
return $banlist;
break;
case 'refresh':