FAIL2BAN-REGEX(1)
π fail2ban-regex β test Fail2ban "failregex" option
okay bestie, so you know how Fail2Ban reads log files full of password failure reports and then bans those sketchy IP addresses using firewall rules? yeah. this little icon is the tool that lets you test your regular expressions for "fail2ban" before you commit to them. it's giving "try before you buy" but for regex. no cap, it's a lifesaver. π«Ά
β¨ SYNOPSIS β¨
fail2ban-regex [OPTIONS] <LOG> <REGEX> [IGNOREREGEX]
πΈ DESCRIPTION πΈ
Fail2Ban reads log file that contains password failure report and bans the corresponding IP addresses using firewall rules.
This tools can test regular expressions for "fail2ban".
π¦ LOG:
stringβ a string representing a log linefilenameβ path to a log file (/var/log/auth.log)systemd-journalβ search systemd journal (systemd-python required), optionally with backend parameters, seeman jail.conffor usage and examples (systemd-journal[journalflags=1]).
π REGEX:
stringβ a string representing a 'failregex'- filter name of jail or filter, optionally with options β (
sshd[mode=aggressive]) filenameβ path to a filter file (filter.d/sshd.conf)
π IGNOREREGEX:
stringβ a string representing an 'ignoreregex'
π OPTIONS π
--versionβ show program's version number and exit-h,--helpβ show this help message and exit-c CONFIG,--config=CONFIGβ set alternate config directory-d DATEPATTERN,--datepattern=DATEPATTERNβ set custom pattern used to match date/times--timezone=TIMEZONE,--TZ=TIMEZONEβ set time-zone used by convert time format-e ENCODING,--encoding=ENCODINGβ File encoding. Default: system locale-r,--rawβ Raw hosts, don't resolve dns--usedns=USEDNSβ DNS specified replacement of tags<HOST>in regexp ('yes' - matches all form of hosts, 'no' - IP addresses only)-L MAXLINES,--maxlines=MAXLINESβ maxlines for multi-line regex.-m JOURNALMATCH,--journalmatch=JOURNALMATCHβ journalctl style matches overriding filter file. "systemd-journal" only-l LOG_LEVEL,--log-level=LOG_LEVELβ Log level for the Fail2Ban logger to use-Vβ get version in machine-readable short format-v,--verboseβ Increase verbosity--verbosity=VERBOSEβ Set numerical level of verbosity (0..4)--verbose-date,--VDβ Verbose date patterns/regex in output-D,--debuggexβ Produce debuggex.com urls for debugging there--no-check-allβ Disable check for all regex's-o OUT,--out=OUTβ Set token to print failure information only (row, id, ip, msg, host, ip4, ip6, dns, matches, ...)-i,--invertβ Invert the sense of matching, to output non-matching lines.--print-no-missedβ Do not print any missed lines--print-no-ignoredβ Do not print any ignored lines--print-all-matchedβ Print all matched lines--print-all-missedβ Print all missed lines, no matter how many--print-all-ignoredβ Print all ignored lines, no matter how many-t,--log-tracebackβ Enrich log-messages with compressed tracebacks--full-tracebackβ Either to make the tracebacks full, not compressed (as by default)
π AUTHOR π
Written by Cyril Jaquier <cyril.jaquier@fail2ban.org>. Many contributions by Yaroslav O. Halchenko, Steven Hiscocks, Sergey G. Brester (sebres).
π¨ REPORTING BUGS π¨
Report bugs to https://github.com/fail2ban/fail2ban/issues
β COPYRIGHT β
Copyright Β© 2004-2008 Cyril Jaquier, 2008- Fail2Ban Contributors
Copyright of modifications held by their respective authors. Licensed under the GNU General Public License v2 (GPL).
π₯ SEE ALSO π₯
fail2ban-client(1) fail2ban-server(1) jail.conf(5)
okay that's the whole vibe, bestie β go test those regexes and slay β¨
this has been fail2ban-regex 1.1.1, dated August 2026 β catch you in the logs π
π¦ where this page comes from
- arch rolling: fail2ban 1.1.1-1 Β· GPL-2.0-or-later
- nixpkgs unstable: fail2ban 1.1.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms