|  | 
|  | 1 | +# CSF Firewall v15.00 - GPLv3 Release | 
|  | 2 | + | 
|  | 3 | +## π Major Changes Overview | 
|  | 4 | + | 
|  | 5 | +### License Transition | 
|  | 6 | + | 
|  | 7 | +**CSF is now Free and Open Source Software under GPLv3** | 
|  | 8 | + | 
|  | 9 | +- **Previous**: Proprietary "Way to the Web Product License" (restrictive commercial) | 
|  | 10 | +- **Current**: GNU General Public License v3 (copyleft open-source) | 
|  | 11 | +- **Version**: 14.24 β **15.00** | 
|  | 12 | +- **Copyright**: (C) 2006-2025 Jonathan Michaelson | 
|  | 13 | +- **Repository**: <https://github.com/waytotheweb/scripts> | 
|  | 14 | + | 
|  | 15 | +### Change Statistics | 
|  | 16 | + | 
|  | 17 | +- **Files Modified**: 121 | 
|  | 18 | +- **Lines Added**: ~2,448 | 
|  | 19 | +- **Lines Removed**: ~766 | 
|  | 20 | +- **Files Deleted**: 3 | 
|  | 21 | +- **Release Date**: August 29, 2025 | 
|  | 22 | + | 
|  | 23 | +--- | 
|  | 24 | + | 
|  | 25 | +## β οΈ Breaking Changes - Action Required | 
|  | 26 | + | 
|  | 27 | +### 1. Auto-Update System Disabled | 
|  | 28 | + | 
|  | 29 | +The built-in update mechanism that connected to ConfigServer's servers has been disabled: | 
|  | 30 | + | 
|  | 31 | +**What's affected:** | 
|  | 32 | + | 
|  | 33 | +- `csget.pl` - Download server array emptied | 
|  | 34 | +- `downloadservers` - All entries commented out | 
|  | 35 | +- `ConfigServer/Config.pm` - Fallback server removed | 
|  | 36 | + | 
|  | 37 | +**Migration Steps:** | 
|  | 38 | + | 
|  | 39 | +```bash | 
|  | 40 | +# Option 1: Configure custom download mirrors | 
|  | 41 | +echo "your.mirror.server" > /etc/csf/downloadservers | 
|  | 42 | + | 
|  | 43 | +# Option 2: Use manual updates from GitHub | 
|  | 44 | +cd /tmp | 
|  | 45 | +wget https://github.com/waytotheweb/scripts/archive/refs/heads/main.zip | 
|  | 46 | +# Extract and run install.sh | 
|  | 47 | + | 
|  | 48 | +# Option 3: Use your distribution's package manager (when available) | 
|  | 49 | +``` | 
|  | 50 | + | 
|  | 51 | +### 2. Version Check Functionality | 
|  | 52 | + | 
|  | 53 | +- Automatic version checking against central servers no longer functions | 
|  | 54 | +- Manual version checking against GitHub releases recommended | 
|  | 55 | + | 
|  | 56 | +--- | 
|  | 57 | + | 
|  | 58 | +## π Detailed Changes | 
|  | 59 | + | 
|  | 60 | +### Removed Components | 
|  | 61 | + | 
|  | 62 | +| File | Purpose | Impact | | 
|  | 63 | +|------|---------|--------| | 
|  | 64 | +| `.gitattributes` | Git line ending configuration | None - cosmetic | | 
|  | 65 | +| `ConfigServer/Security.pm` | Stub GPG/SHA256 verification (never implemented) | None - was non-functional | | 
|  | 66 | +| `regex.txt` | 143 lines of log parsing examples | None - test data only | | 
|  | 67 | + | 
|  | 68 | +### Modified Components | 
|  | 69 | + | 
|  | 70 | +#### Core Infrastructure | 
|  | 71 | + | 
|  | 72 | +- **Download System**: All references to `download.configserver.com` and `download2.configserver.com` removed or commented | 
|  | 73 | +- **Version Checking**: `csget.pl` modified to prevent automatic version checks | 
|  | 74 | +- **Attribution**: UI footers updated from "Way to the Web Limited" to "Jonathan Michaelson" | 
|  | 75 | + | 
|  | 76 | +#### License Headers (All Files) | 
|  | 77 | + | 
|  | 78 | +Every source file updated with GPLv3 boilerplate: | 
|  | 79 | + | 
|  | 80 | +- Perl modules (`.pm`) | 
|  | 81 | +- Perl scripts (`.pl`) | 
|  | 82 | +- Shell scripts (`.sh`) | 
|  | 83 | +- CGI scripts (`.cgi`) | 
|  | 84 | +- PHP files (`.php`) | 
|  | 85 | +- Configuration files | 
|  | 86 | +- JavaScript files | 
|  | 87 | + | 
|  | 88 | +### Unchanged Functionality | 
|  | 89 | + | 
|  | 90 | +β
 All core security features remain intact: | 
|  | 91 | + | 
|  | 92 | +- Firewall rules management | 
|  | 93 | +- Login failure detection (LFD) | 
|  | 94 | +- Port scan detection | 
|  | 95 | +- DDoS protection | 
|  | 96 | +- UI functionality | 
|  | 97 | +- Control panel integrations (cPanel, DirectAdmin, etc.) | 
|  | 98 | +- Email alerts | 
|  | 99 | +- Country blocking | 
|  | 100 | +- Rate limiting | 
|  | 101 | + | 
|  | 102 | +--- | 
|  | 103 | + | 
|  | 104 | +## π Migration Guide | 
|  | 105 | + | 
|  | 106 | +### For Existing Users (v14.x β v15.00) | 
|  | 107 | + | 
|  | 108 | +1. **Backup Current Configuration** | 
|  | 109 | + | 
|  | 110 | + ```bash | 
|  | 111 | + cp -R /etc/csf /etc/csf.backup | 
|  | 112 | + cp /usr/local/csf/version.txt /root/csf_version_backup.txt | 
|  | 113 | + ``` | 
|  | 114 | + | 
|  | 115 | +2. **Update CSF** | 
|  | 116 | + | 
|  | 117 | + ```bash | 
|  | 118 | + # Download from GitHub | 
|  | 119 | + cd /tmp | 
|  | 120 | + wget https://github.com/waytotheweb/scripts/releases/download/v15.00/csf.tgz | 
|  | 121 | + tar -xzf csf.tgz | 
|  | 122 | + cd csf | 
|  | 123 | + sh install.sh | 
|  | 124 | + ``` | 
|  | 125 | + | 
|  | 126 | +3. **Verify Installation** | 
|  | 127 | + | 
|  | 128 | + ```bash | 
|  | 129 | + csf -v # Should show v15.00 | 
|  | 130 | + csf -r # Restart CSF | 
|  | 131 | + ``` | 
|  | 132 | + | 
|  | 133 | +4. **Configure Update Source** (if desired) | 
|  | 134 | + - Set up your own mirror in `/etc/csf/downloadservers` | 
|  | 135 | + - OR rely on manual updates from GitHub | 
|  | 136 | + | 
|  | 137 | +### For New Users | 
|  | 138 | + | 
|  | 139 | +Simply clone and install: | 
|  | 140 | + | 
|  | 141 | +```bash | 
|  | 142 | +git clone https://github.com/waytotheweb/scripts.git | 
|  | 143 | +cd scripts/code/csf | 
|  | 144 | +sh install.sh | 
|  | 145 | +``` | 
|  | 146 | + | 
|  | 147 | +--- | 
|  | 148 | + | 
|  | 149 | +## π Post-Upgrade Checklist | 
|  | 150 | + | 
|  | 151 | +- [ ] Verify CSF version shows 15.00: `csf -v` | 
|  | 152 | +- [ ] Check firewall rules are intact: `csf -l` | 
|  | 153 | +- [ ] Confirm LFD is running: `systemctl status lfd` | 
|  | 154 | +- [ ] Test temporary IP blocking: `csf -d 1.2.3.4 "test"` | 
|  | 155 | +- [ ] Remove test block: `csf -dr 1.2.3.4` | 
|  | 156 | +- [ ] Review UI access (if applicable): Access CSF through your control panel | 
|  | 157 | +- [ ] Set up alternative update method (GitHub watch, custom mirror, etc.) | 
|  | 158 | +- [ ] Review `/var/log/lfd.log` for any errors | 
|  | 159 | + | 
|  | 160 | +--- | 
|  | 161 | + | 
|  | 162 | +## π License Implications | 
|  | 163 | + | 
|  | 164 | +### What GPLv3 Means for You | 
|  | 165 | + | 
|  | 166 | +**You CAN:** | 
|  | 167 | + | 
|  | 168 | +- β
 Use CSF commercially | 
|  | 169 | +- β
 Modify the source code | 
|  | 170 | +- β
 Distribute modified versions | 
|  | 171 | +- β
 Use CSF in private networks | 
|  | 172 | + | 
|  | 173 | +**You MUST:** | 
|  | 174 | + | 
|  | 175 | +- π Include copyright notice | 
|  | 176 | +- π Include license text | 
|  | 177 | +- π State changes made | 
|  | 178 | +- π Disclose source code (if distributing) | 
|  | 179 | +- π Use same GPLv3 license (for derivatives) | 
|  | 180 | + | 
|  | 181 | +**You CANNOT:** | 
|  | 182 | + | 
|  | 183 | +- β Sublicense under different terms | 
|  | 184 | +- β Hold liable for damages | 
|  | 185 | +- β Use contributors' names for endorsement | 
|  | 186 | + | 
|  | 187 | +--- | 
|  | 188 | + | 
|  | 189 | +## π§ Technical Details | 
|  | 190 | + | 
|  | 191 | +### File Header Example | 
|  | 192 | + | 
|  | 193 | +```perl | 
|  | 194 | +############################################################################### | 
|  | 195 | +# Copyright (C) 2006-2025 Jonathan Michaelson | 
|  | 196 | +# | 
|  | 197 | +# https://github.com/waytotheweb/scripts | 
|  | 198 | +# | 
|  | 199 | +# This program is free software; you can redistribute it and/or modify it under | 
|  | 200 | +# the terms of the GNU General Public License as published by the Free Software | 
|  | 201 | +# Foundation; either version 3 of the License, or (at your option) any later | 
|  | 202 | +# version. | 
|  | 203 | +############################################################################### | 
|  | 204 | +``` | 
|  | 205 | + | 
|  | 206 | +### Affected File Types | 
|  | 207 | + | 
|  | 208 | +- **115+ source files** updated with GPLv3 headers | 
|  | 209 | +- **Configuration files** maintained with new copyright | 
|  | 210 | +- **Documentation** updated with new attribution | 
|  | 211 | +- **UI components** modified to reflect new ownership | 
|  | 212 | + | 
|  | 213 | +--- | 
|  | 214 | + | 
|  | 215 | +## π Support & Community | 
|  | 216 | + | 
|  | 217 | +- **GitHub Issues**: Report bugs and request features | 
|  | 218 | +- **Documentation**: Available in `/usr/local/csf/readme.txt` | 
|  | 219 | + | 
|  | 220 | +--- | 
|  | 221 | + | 
|  | 222 | +## β‘ Quick Reference | 
|  | 223 | + | 
|  | 224 | +| Component | Status | Notes | | 
|  | 225 | +|-----------|---------|-------| | 
|  | 226 | +| Core Firewall | β
 Unchanged | Full functionality retained | | 
|  | 227 | +| LFD | β
 Unchanged | All detection methods working | | 
|  | 228 | +| Auto-Updates | β Disabled | Manual updates required | | 
|  | 229 | +| Version Check | β Disabled | Check GitHub for releases | | 
|  | 230 | +| UI | β
 Working | Attribution text updated | | 
|  | 231 | +| Panel Integration | β
 Working | All panels supported | | 
|  | 232 | +| Configuration | β
 Compatible | No changes needed | | 
0 commit comments