diff --git a/x-ui.sh b/x-ui.sh index 972487cf..9fa43960 100644 --- a/x-ui.sh +++ b/x-ui.sh @@ -869,34 +869,32 @@ run_speedtest() { } create_iplimit_jails() { - # Set default bantime to 30 minutes if not provided + # Use default bantime if not passed => 30 minutes local bantime="${1:-30}" # Uncomment 'allowipv6 = auto' in fail2ban.conf sed -i 's/#allowipv6 = auto/allowipv6 = auto/g' /etc/fail2ban/fail2ban.conf - # Create 3x-ipl jail configuration - jail_config="[3x-ipl] + cat << EOF > /etc/fail2ban/jail.d/3x-ipl.conf +[3x-ipl] enabled=true filter=3x-ipl action=3x-ipl logpath=${iplimit_log_path} maxretry=4 findtime=60 -bantime=${bantime}m" +bantime=${bantime}m +EOF - echo "$jail_config" >/etc/fail2ban/jail.d/3x-ipl.conf - - # Create 3x-ipl filter definition - filter_definition="[Definition] + cat << EOF > /etc/fail2ban/filter.d/3x-ipl.conf +[Definition] datepattern = ^%%Y/%%m/%%d %%H:%%M:%%S failregex = \[LIMIT_IP\]\s*Email\s*=\s*.+\s*\|\|\s*SRC\s*=\s* -ignoreregex =" +ignoreregex = +EOF - echo "$filter_definition" >/etc/fail2ban/filter.d/3x-ipl.conf - - # Create 3x-ipl action Definition - action_definition="[INCLUDES] + cat << EOF > /etc/fail2ban/action.d/3x-ipl.conf +[INCLUDES] before = iptables-common.conf [Definition] @@ -916,9 +914,8 @@ actionban = -I f2b- 1 -s -j actionunban = -D f2b- -s -j echo "\$(date +"%%Y/%%m/%%d %%H:%%M:%%S") UNBAN [Email] = [IP] = unbanned." >> ${iplimit_banned_log_path} -[Init]" - - echo "$action_definition" >/etc/fail2ban/action.d/3x-ipl.conf +[Init] +EOF echo -e "${green}Ip Limit jail files created with a bantime of ${bantime} minutes.${plain}" }