Changelog¶
15.09 TBA¶
feat(csf): urls in/etc/csf/csf.confare now clickable in the Firewall Configuration web interface.feat(csf): correctly detect interactive--versioninput in the CLI.feat(sponsor): sponsor icon updates:- added a new setting in
/etc/csf/csf.confcalledSPONSOR_HIDE_ICONto hide icons in web interface footer. - sponsor icon will automatically hide if the user enters a sponsor license.
- removed the beating animation for the sponsor icon.
- added a new setting in
feat(webmin): restored the Firewall Configuration button.feat(csf): added AbuseIPDB service template to the blocklist file/etc/csf/csf.blocklists.chore(directadmin): updatedplugin.conffor CSF:- added
update_urlandversion_urlso DirectAdmin can fetch the latest version.
- added
chore(cwp): re-brandedCentOS Web PaneltoControl Web Panelto reflect correct app name after re-name.docs(install): added DirectAdmin instructions to the Install chapter in the documentation.docs(integration): added AbuseIPDB integration to the documentation.refactor(csf): added AbuseIPDB template to/etc/csf/csf.blocklistsfor improved integration.refactor(docker): re-wrote docker integration script inextras/docker.sh- added caching for docker container list generation
- POSIX compliant
- added optional
--flagssuch as--help,--dryrun, etc.
refactor(openvpn): re-wrote openvpn integration script inextras/openvpn.sh- POSIX compliant
- added optional
--flagssuch as--help,--dryrun, etc.
fix(directadmin): corrected an install script error:- fixed an improperly closed
ifcondition in theinstall.directadminscript.
- fixed an improperly closed
fix(webmin): descriptions for settings in interface now render correctly on the page with proper structure.fix(cwp): segregated formatted--versionoutput with no ANSI colors.fix(cwp): ensured proper sanitization when sending version information to CWP.fix(webmin): support for almalinux, redhat, rocky10 based distros- Debian, Ubuntu, ZorinOS:
/usr/share/webmin - Redhat, AlmaLinux, Rocky 10:
/usr/libexec/webmin
- Debian, Ubuntu, ZorinOS:
15.08 Dec 12 2025¶
feat(cron): Perl croncsgetre-written- Now compatible with all distros
- Utilizes tertiary redundancy system for fetching updates:
/usr/bin/wget/usr/bin/curl/usr/bin/GET
- New flags added:
-r, --response-n, --nosleep-k, --kill-l, --list-d, --diag-D, --debug-v, --version-h, --help
feat(cli): new port management console commands via PR https://github.com/Aetherinox/csf-firewall/issues/57--addport,-ap: Add a new port to your whitelist--removeport,-rp: Remove an existing whitelisted port--listports,-lp: List all ports that are whitelisted within your/etc/csf/csf.conf
feat(install): install scriptsinstall.*.shnow detailed and proper output to userfeat(cwp): add logic to mitigate immutable flag +i on cwp installs; restore flag after install completefeat(webmin): automatically installwebminmodule/usr/local/csf/csfwebmin.tgz- No longer requires webmin module to be manually imported
pref(blocklist): optimize blocklist generation scriptsrefactor(cwp): centos web panel nav menu label for CSF changed- Renamed from
ConfigServer ScriptstoConfigServer Firewall
- Renamed from
refactor(license): update json response structure for license / insiders servicerefactor(scripts): bash scriptprotect.shnow POSIX compliantrefactor(install): make all bashinstall.*.shinstallation scripts POSIX compliantfeat(core): add warning message ifLF_MODSEC_PERMthreshold below3600seconds (1 hour)chore(core): add comment tocsf.conffiles to specifyinput value type forLF_MODSEC_PERMchore(core): update config description forLF_MODSECchore(webmin): add propertylongdesctomodule.infoin CSF webmin modulechore(general): clean up files no longer used by applicationchore(general): revisecsf.blocklistswith updated urls to the various blocklist servicesfix(cwp): centos control panel menu linkcsfofficialreturned blank pagefix(core): prevent output if latest version and no terminal present, stops unnecessary update notifications; adds#no criticfix(blocklist): remove duplicate entries from highrisk static blocklistfix(scripts): add shellcheck directive to extras/scripts/protect.shfix(cron): croncsgetincorrectly assigned wrong user:group to file; triggered SELinux security error- update
install.*.shscripts to assignroot:root
- update
docs(mkdocs): add new chapter Advanced
15.07 Oct 24 2025¶
feat: Add new "Resources" tab interface.feat: Add "Insiders" releases.docs: Add Privacy Policy to CSF.chore: Add Discord serverchore: Remove spamhaus edrop list, merged with drop.refactor: Cyberpanel installation script to ensure POSIX compliant.refactor: Update functionality to support both numerical and tagged releases.perf: optimized logic to make restarts faster when using resource intense pre/post scriptsfix: Cyberpanel integration error:"address form post error Data supplied is not accepted"
fix: Dark-reader causing login page to not render properly.fix: Whitespace in ipset blocklist definitions causing entire blocklist to not load.
15.06 Oct 16 2025¶
fix: Backwards compatibility issue related to older versions of Webmin control panel. Specifically v2.111 and Authentic theme v21.10. Webmin detected as "Generic" installation; header icon missing; generic footer loaded.
15.05 Oct 16 2025¶
fix: Correct HTML escaping in the Firewall Configuration page to ensure settings are processed safely and correctly.refactor: Refactoredcsf.shinit.d script; POSIX compliant.
15.04 Oct 15 2025¶
feat: Added new settingUI_LOGS_REFRESH_TIME- How frequently CSF automatically refreshes the displayed logs
feat: Added new settingUI_LOGS_START_PAUSED- Define if automatic log refreshing on page load starts off running 0 or paused 1
fix: Corrected an issue in the Webmin control panel where the log textbox height was set incorrectly on page loaddocs: Update Webmin installation
15.03 Oct 15 2025¶
feat: Reduced the minimum font size allowed for FontMinus / FontPlus from 12px to10pxrefactor: Rewrote the JavaScript librarycsfajaxtail.jsfor improved optimization and maintainabilityfix: Restored missing Module Config and Help buttons in the Webmin headerdocs: Release blogs now support comments integrated from Github
15.02 Oct 14 2025¶
feat: New login page for Generic installations- Light & Dark theme
- New csf.conf setting:
UI_RETRY_SHOW_REMAINING
feat: New footer design for improved consistency and navigation- Added logout button to footer for Generic installations
feat: Integratedcsfpre.shandcsfpost.shdirectly into CSF for native pre/post script supportfeat: Configuration files now include headers visible in the GUI for easier file identification; called withHEADER:feat: New codename detection helper func for conditional statements depending on the installer used by end-userfeat: Added an official help page to the download servicefeat: Implemented Light/Dark mode toggle in the footer for better theme controlfeat: Added optionalContent Security Policy (CSP)protection to web interface- New csf.conf settings:
UI_CSP_ENABLEDUI_CSP_ADVANCED_ENABLEDUI_CSP_ADVANCED_RULE
- New csf.conf settings:
style: Rewrote configuration file comments for clarity; now more descriptive, organized, and include practical examplesrefactor: re-writeports-blacklistto be POSIX compliantrefactor: Download service now fetches version from Github repo; no longer requires manual bumpsrefactor: Overhauled the baseinstall.shscript- Ensured full POSIX compliance
- Added support for both absolute and relative execution paths
- Introduced new flags:
--dryrun,--detect,--help,--version
chore: Update CSF SSL certificate and keyperf: Implement CSS optimization to pre-load required stylesheetsdocs: Completed several pages, including:- Installation instructions for: vestacp, cyberpanel, cpanel, interworx, centos web panel (cwp)
- Revised package / depenency commands to fix inconsistencies
fix: Resolved missing VestaCP header on the/list/csfadmin pagefix: Restored CyberPanel integration functionalityfix: Resolved regex pattern issues when dealing with strict conditions
15.01 Oct 06 2025¶
feat: Register new domain https://configserver.devfeat: New blocklist service at https://blocklist.configserver.devchore: Bring new update server online at https://download.configserver.devrefactor: Changed csf update server code to point to new csf domainfix: Invalid sessions still being able to access backend web interface assets
15.00 Aug 28 2025¶
chore: Download and update servers taken offlinechore: Disabled automatic updates within csfchore: Added country code validation and warning outputrefactor: Updated regex to extract client ip from logsdocs: Changed license to GPLv3
14.24 Aug 02 2025¶
fix: regression bug in v14.23 "Modified UI HTTP header checks to be case agnostic"
14.23 July 21 2025¶
change: Modify Apache regex to detect "remote" or "client" as the IP triggerchange: Mdified UI HTTP header checks to be case agnostic
14.22 Sep 20 2024¶
build: Updates ConfigServer Firewall to v14.22remove: session IP match check from DA loginadded: example spamassassin temp file regex to csf.fignore for new installations
14.21 Aug 30 2024¶
change: add header animations, app name returns user homechange: clicking app logo or name now returns user to home pagechange: add faviconchange: silence curl in openvpn patchchange: removal ofNETWORK_MANUAL_MODE,NETWORK_ADAPT_NAMEchange: new animated checkbox input for firewall profileschange: clicking logo in header now re-directs user to homechange: enhanced login screen animationschange: enhanced mobile viewbuild: update main source release to CSF v14.21build: dark theme now compatible with CSF v14.21fix: docker inspect error when container has more than one network #1fix: extended sized buttons with text cutting offdocs: removal of manual mode values no longer needed
14.20 Aug 28 2024¶
feat: add new patchopenvpnfeat: add new command-line arguments:- add
-d, --devfor advanced logging - add
-f, --flushto completely remove iptable rules - add
-r, --reportto display dependency stats, app information, etc. - add
-v, --versionto display patcher version
- add
feat: added new login page to dark themefeat: add dark themefeat: add traefik integrationfeat: add authentik integrationchange: docker patch now allows for multiple ip blocks to be whitelistedchange: optimizations to load orderchange: updated toggle switches for various setting pageschange: start migration of in-line style properties over to stylesheetchange: new ruleset for openvpn integrationchange: auto disable csf TESTING mode when patch ranchange: add-r, --reportto display status of dependencies and setuprefactor: re-write of scriptrefactor: merge all scripts into onefix: interface bug which existed in light theme which caused certain divs to breakfix: openvpn ip detectionfix: issue with manual mode being disabled - #1fix: error"docker network inspect" requires at least 1 argument.- #1fix: errorinvalid port/service '-j' errorci: dark theme now included with all releases as .zipci: auto-update /docs/ on push to repoci: add workflow to automatically grab latest version of ConfigServer Firewall and append to each releasedocs: update to include traefik and authentic integrationdocs: rewrite documentation to include better instructions
14.19 May 06 2024¶
change: switch to using iptables-nft if it exists in/usr/sbin/iptables-nftadded:IO::Handle::clearerr()call before reading data from a log fileadded: "Require all granted" to the MESSENGER .htaccess fileaddedUID/GID rules to IPv6 if enabledmodified: dovecot regex to look for "failed: Connection reset by peer"