# banIP mail template/include - ban incoming and outgoing IPs via named nftables Sets # Copyright (c) 2018-2026 Dirk Brenken (dev@brenken.org) # This is free software, licensed under the GNU General Public License v3. local banip_info report_info log_info system_info mail_text # log info preparation # if [ -f "${ban_logreadfile}" ] && [ -x "${ban_logreadcmd}" ] && [ "${ban_logreadcmd##*/}" = "tail" ]; then log_info="$("${ban_logreadcmd}" -qn "${ban_loglimit}" "${ban_logreadfile}" 2>/dev/null | "${ban_grepcmd}" -e "banIP-" 2>/dev/null)" elif [ -x "${ban_logreadcmd}" ] && [ "${ban_logreadcmd##*/}" = "logread" ]; then log_info="$("${ban_logreadcmd}" -l "${ban_loglimit}" -e "banIP-" 2>/dev/null)" fi # banIP status and report info preparation # banip_info="$(/etc/init.d/banip status 2>/dev/null)" report_info="$("${ban_catcmd}" "${ban_reportdir}/ban_report.txt" 2>/dev/null)" system_info="$( strings /etc/banner 2>/dev/null "${ban_ubuscmd}" call system board | "${ban_awkcmd}" 'BEGIN{FS="[{}\"]"}{if($2=="kernel"||$2=="hostname"||$2=="system"||$2=="model"||$2=="description")printf " + %-12s: %s\n",$2,$4}' )" # mail text preparation # mail_text="$( printf '%s\n' "
"
	printf '\n%s\n' "++
++ System Information ++
++"
	printf '%s\n' "${system_info:-"-"}"
	printf '\n%s\n' "++
++ banIP Status ++
++"
	printf '%s\n' "${banip_info:-"-"}"
	[ -n "${report_info}" ] && {
		printf '\n%s\n' "++
++ banIP Report ++
++"
		printf '%s\n' "${report_info}"
	}
	[ -n "${log_info}" ] && {
		printf '\n%s\n' "++
++ Logfile Information ++
++"
		printf '%s\n' "${log_info}"
	}
	printf '%s\n' "
" )"