- Filter domain dropdown to show only main domains (exclude sub-domains)
- Add automatic CloudFlare DNS record deletion when domains/sub-domains are removed
- Improve DNS Records table display to match SSH Logins/Logs table styling
- Add loading states and proper table structure with ng-if conditions
- Update CSS to match activity-table styling with sticky headers
Updated index.html to reference local copies of qrious.min.js and chart.umd.min.js. Added functionality in install.py and upgrade.py to download these libraries before running collectstatic. Updated website.html to ensure compatibility with the new local scripts.
- Introduced a `safeModifyHttpdConfig` method in `installUtilities` to handle modifications to the OpenLiteSpeed configuration file with backup, validation, and rollback capabilities.
- Updated various modules (`modSec.py`, `sslUtilities.py`, `tuning.py`, `vhost.py`, etc.) to utilize the new safe modification method, enhancing reliability and preventing configuration corruption.
- Improved error handling and logging throughout the configuration modification processes to ensure better traceability and debugging.
- Added logic to check for the successful installation of the timezonedb extension before creating the corresponding .ini file.
- Implemented a check to verify the existence of timezonedb.so in the PHP extension directory, improving the robustness of the installation process.
These changes ensure that the timezone configuration is only applied when the extension is available, enhancing the reliability of the setup script.
- Implemented logic to save new PHP versions (8.2, 8.3, 8.4, 8.5) and their corresponding extensions from XML configuration files.
- Enhanced compatibility with CentOS and Ubuntu distributions by dynamically determining the correct XML file paths for each PHP version.
- Improved error handling during the installation of PHP extensions to ensure robustness.
These changes enhance the PHP management capabilities within CyberPanel, allowing users to utilize the latest PHP versions seamlessly.
- Added new model `CatchAllEmail` to store catch-all email configurations per domain.
- Implemented views for fetching, saving, and deleting catch-all email configurations, enhancing email management capabilities.
- Updated URL routing to include endpoints for catch-all email operations.
- Enhanced error handling and permission checks for email forwarding actions.
These changes improve the flexibility and user experience of email management within CyberPanel.
- Added a new function `detect_default_php` to dynamically determine the default PHP version based on symlink and available versions, enhancing compatibility with PHP 7.4-8.5.
- Updated `phpmyadmin_limits` to utilize the detected PHP version for configuration changes, ensuring accurate parameter adjustments for the current PHP environment.
- Enhanced installation scripts for Redis and Memcached extensions to support PHP versions 7.4-8.5, improving backward compatibility and installation reliability.
- Improved error handling for missing PHP configuration files, providing clearer feedback to users.
These changes enhance the flexibility and robustness of PHP management within CyberPanel.
- Added a new fixed position banner in the index.html to announce .htaccess support, including styling and functionality for showing and dismissing the notification.
- Enhanced file manager to support extraction of 7z and rar file formats, with appropriate command handling in filemanager.py.
- Updated JavaScript files to determine extraction types based on file extensions, ensuring compatibility with new formats.
- Modified HTML templates to include options for 7z and rar compression types in the user interface.
https://github.com/usmannasir/cyberpanel/issues/1617#issue-3727006951
These changes improve user experience by providing clear notifications and expanding file management capabilities within CyberPanel.
- Deleted the `apply-rdns-fix.sh` script, `INDEX.md`, `INSTALL.md`, `QUICK-INSTALL.md`, and related fixed code files as they are no longer needed.
- This cleanup helps streamline the codebase and remove outdated resources that are not compatible with the current version of CyberPanel.
These changes ensure that the repository remains clean and focused on the latest functionalities.
- Added detailed error handling and logging for reverse DNS lookups, improving robustness against network issues and invalid responses.
- Updated virtualHostUtilities to handle cases where reverse DNS lookups fail, providing clearer error messages and guidance for users.
- Ensured that the results from DNS queries are validated before processing, enhancing the reliability of the rDNS checks.
These changes improve the overall reliability and user experience of the reverse DNS lookup feature within the CyberPanel environment.
Update README and mysqlUtilities for MySQL account resolution
- Added a section in README.md detailing recent fixes, including enhancements to MySQL password rotation to prevent errors when metadata is missing.
- Removed outdated test files for MySQL utilities and ImunifyAV route checks.
- Improved mysqlUtilities.py to resolve MySQL accounts more reliably, including better handling of user and host resolution, and added logging for account resolution processes.
These changes enhance the robustness and clarity of MySQL user management within the CyberPanel environment.
- Changed versioning in README.md to 2.5.5-dev and updated the last modified date.
- Added a section for recent fixes in README.md detailing improvements to MySQL password rotation.
- Removed obsolete test files for MySQL utilities and ImunifyAV route.
- Enhanced mysqlUtilities.py to improve MySQL account resolution and logging, ensuring better handling of user and host identification during password changes.
- Added a static method to ensure ImunifyAV assets are created and permissions set correctly in CageFS.py.
- Updated the URL routing in urls.py to include paths for ImunifyAV, supporting both legacy and new routes.
- Modified the ImunifyAV HTML template to use Django's URL template tag for better maintainability.
- Enhanced the cyberpanel_fixes.sh script to ensure ImunifyAV UI assets are installed during fixes.
- Improved database user resolution and password handling in mysqlUtilities.py for better security and reliability.
This update enhances the integration and management of ImunifyAV within the CyberPanel environment.
Enhance Postfix management and validation in installation scripts
- Refactored the enableDisableEmail function to improve handling of Postfix service enabling and disabling, including better error logging and cleanup of stale marker files.
- Added a new method in mailUtilities to check if Postfix is installed, ensuring that DKIM setup only proceeds if Postfix is available.
- Updated virtualHostUtilities to verify Postfix installation before attempting DKIM setup, with appropriate logging for missing markers.
- Improved overall robustness of email service management during installation and configuration processes.
https://github.com/usmannasir/cyberpanel/issues/1570
- Refactored the enableDisableEmail function to improve handling of Postfix service enabling and disabling, including better error logging and cleanup of stale marker files.
- Added a new method in mailUtilities to check if Postfix is installed, ensuring that DKIM setup only proceeds if Postfix is available.
- Updated virtualHostUtilities to verify Postfix installation before attempting DKIM setup, with appropriate logging for missing markers.
- Improved overall robustness of email service management during installation and configuration processes.
https://github.com/usmannasir/cyberpanel/issues/1570
- Updated the calculation of total disk limit and bandwidth limit to convert values from MB to GB for better clarity in the system status display.
- Ensured default values are maintained when limits are not set, enhancing the robustness of resource reporting.
https://github.com/usmannasir/cyberpanel/issues/1592
- Introduced a static method `restartCronService` to restart the cron service across various distributions, ensuring immediate application of changes.
- Updated `website.py` to call `restartCronService` after modifying cron jobs, with error handling to return appropriate responses if the restart fails.
- Enhanced overall reliability of cron job management by ensuring the service is restarted after changes are made.
https://github.com/usmannasir/cyberpanel/issues/1589
- Updated SQL queries to use backticks around database and table names for improved safety and compatibility.
- Implemented escaping for user inputs in CREATE USER and SET PASSWORD statements to prevent SQL injection vulnerabilities.
- Ensured consistent use of safe variable handling across various database operations, including user creation and privilege grants.
- Introduced a new endpoint to manually regenerate the 2FA secret for users.
- Updated views to handle 2FA secret regeneration, including security checks and logging.
- Enhanced the user interface with a button to regenerate the 2FA secret, along with appropriate alerts and confirmations.
- Updated JavaScript to manage the regeneration process and display the new secret key and QR code provisioning URI.
https://github.com/usmannasir/cyberpanel/issues/1577
- Added PHP 8.6 to the list of system PHP versions and fallback versions in PHPManager.
- Updated return values to include PHP 8.6 in case of errors or empty results.
- Enhanced phpUtilities to recognize PHP 8.6 for CentOS and Ubuntu configurations.
- Adjusted recommended PHP version order to prioritize PHP 8.6.
- Added PHP 8.6 to the list of system PHP versions and fallback versions in PHPManager.
- Updated return values to include PHP 8.6 in case of errors or empty results.
- Enhanced phpUtilities to recognize PHP 8.6 for CentOS and Ubuntu configurations.
- Adjusted recommended PHP version order to prioritize PHP 8.6.
- Removed local installation function in favor of a direct installation approach.
- Updated installation script to prioritize the development branch for downloading CyberPanel, with a fallback to stable if unavailable.
- Adjusted PHP version lists across various scripts to exclude PHP 8.6 and ensure compatibility with existing versions.
- Enhanced error handling and feedback during installation to improve user experience.
- Added installation logic for PHP 8.6 in the install script, ensuring compatibility with various distributions.
- Updated PHP version lists in the PHPManager to include PHP 8.6 for system checks and fallbacks.
- Modified phpUtilities to recognize PHP 8.6 for CentOS and Ubuntu.
- Adjusted upgrade script to support PHP 8.6 for AlmaLinux 8+ compatibility.
- Revised symlink setup logic to prioritize PHP 8.6 alongside other versions.
- Changed the default installer URL to the stable branch, with an option to use the development branch if BRANCH_NAME is set to v2.5.5-dev.
- Enhanced the logic to check for the availability of the development branch before falling back to stable.
- Updated the archive URL selection based on the chosen branch to ensure correct installation files are downloaded.
- Improved feedback messages to clarify which branch is being used during installation.
- Introduced a new function to install CyberPanel from a local repository if installation files are available.
- Updated the installation flow to prioritize local installation before falling back to the direct download method.
- Enhanced error handling to provide clearer feedback if local installation files are not found.
- Adjusted the installer script to include branch specification for better version control during installation.