Commit Graph

5192 Commits

Author SHA1 Message Date
Master3395 02aea512a6
Merge pull request #1650 from master3395/v2.5.5-dev
V2.5.5 dev ModSecurity binary fix
2026-01-10 03:27:32 +01:00
master3395 dbde02926a Fix ModSecurity LMDB dependency crash (Issue #1626)
- Always download compatible ModSecurity binary after installation
- Removes conditional check for custom_ols_marker
- Fixes undefined symbol: mdb_env_create error
- Prevents OpenLiteSpeed crashes with SIGSEGV signal 11
- Compatible with Ubuntu 24.04, RHEL 8/9, Debian 11/12

The fix ensures that compatible ModSecurity binaries (built without
LMDB dependency or with LMDB statically linked) are always used,
preventing the runtime symbol lookup errors that cause crashes.

Related: https://github.com/usmannasir/cyberpanel/issues/1626
2026-01-10 03:22:45 +01:00
master3395 0bc8c745e4 Fix issue #1643: Fix downloadFile function to properly parse query parameters
- Changed from incorrect URI splitting to proper request.GET.get() method
- Added proper URL decoding with unquote()
- Fixed both downloadFile and RootDownloadFile functions
- Added path normalization for additional security
- Added file existence validation
- Improved error messages to match reported error format

This fixes the 'Unauthorized access: Not a valid file' error when downloading files from the file manager.
2026-01-07 23:47:23 +01:00
Master3395 8131ffe7c7
Merge pull request #1645 from master3395/v2.5.5-dev
Refactor: replace url() with path() for Django routes in plugin Insta…
2026-01-06 19:25:21 +01:00
master3395 ba262bdcb1 Refactor: replace url() with path() for Django routes in plugin Installer
- Updated pluginHolder/urls.py to use path() instead of url()
- Added new API routes for plugin installation, uninstallation, enable, and disable
- Compatible with Django 4.x (url() was removed in Django 4.0)

Ref: PR 1644
2026-01-06 19:23:04 +01:00
Master3395 25048fc9a1
Merge pull request #1642 from master3395/v2.5.5-dev
Security: Update Python packages to fix critical vulnerabilities
2026-01-04 22:25:03 +01:00
master3395 4b96e5e2ae Security: Update Python packages to fix critical vulnerabilities
Fixed 5 critical security vulnerabilities in Python dependencies:

1. Tornado (6.4.1 -> >=6.4.2)
   - CVE-2024-52804: DoS via HTTP cookie parser
   - CVE-2025-47287: DoS via multipart/form-data parser

2. Requests (2.32.3 -> >=2.32.4)
   - CVE-2024-47081: URL parsing may leak .netrc credentials

3. Cryptography (43.0.0 -> >=43.0.1)
   - CVE-2024-12797: Vulnerable statically linked OpenSSL
   - PVE-2024-73711: Another OpenSSL vulnerability

4. PyJWT (unpinned -> >=2.10.1)
   - Multiple vulnerabilities in unpinned versions

5. psutil (unpinned -> >=7.2.0)
   - Security issues in older versions

Changes:
- Updated requirments.txt with secure minimum versions
- Added requirements-secure.txt for documentation

All packages updated to secure versions that address these CVEs.
2026-01-04 22:22:48 +01:00
Master3395 7188e1023a
Merge pull request #1641 from master3395/v2.5.5-dev
Fix: Enable website creation for regular users
2026-01-04 22:06:27 +01:00
master3395 a2c359401e Fix: Enable website creation for regular users
- Fixed bug where regular users (UserACL) cannot create websites
- Changed UserACL createWebsite permission from 0 to 1
- Also enabled modifyWebsite and deleteWebsite for consistency
- Resolves issue where non-admin/reseller users were blocked from creating websites

Related changes:
- UserACL: createWebsite: 0 -> 1
- UserACL: modifyWebsite: 0 -> 1
- UserACL: deleteWebsite: 0 -> 1
- suspendWebsite remains 0 (admin-only feature)

This allows regular users to create, modify, and delete their own websites
while maintaining proper ownership checks and security controls.
2026-01-04 22:03:27 +01:00
Master3395 e5033be0ad
Merge pull request #1640 from master3395/v2.5.5-dev
V2.5.5 dev plugin installation and management
2026-01-04 21:33:07 +01:00
master3395 6a0d3fd443 Add PLUGINS.md reference to INDEX.md
- Added Plugin System Guide to Plugins & Extensions section
- Added plugin system to Feature-Specific Guides section
- Author: master3395
2026-01-04 21:29:24 +01:00
master3395 7ddc7e20d0 Add comprehensive plugin system documentation (PLUGINS.md)
- Complete guide for plugin installation and management
- Plugin development guide with code examples
- Plugin structure and requirements documentation
- TestPlugin reference guide
- Best practices and troubleshooting sections
- Author: master3395
2026-01-04 21:26:19 +01:00
master3395 10898f5a87 Merge branch 'v2.5.5-dev' of https://github.com/master3395/cyberpanel into v2.5.5-dev 2026-01-04 21:13:35 +01:00
master3395 ed7d4743b6 Add plugin system enhancements and testPlugin
- Enhanced plugin installer to properly extract and install plugins
- Added security middleware exception for plugin webhook endpoints
- Improved plugin listing with better error handling
- Added testPlugin as example plugin for CyberPanel plugin system
- Updated INSTALLED_APPS and URL routing for plugins

Author: master3395
2026-01-04 21:04:51 +01:00
Master3395 11a78d81ca
Merge pull request #1639 from master3395/v2.5.5-dev
- Fixed CloudFlare proxy toggle button to display as oblong with a round dot
- Enable CloudFlare proxy by default for all domains/subdomains except mail domains
- Automatically add AAAA (IPv6) DNS records when creating domains/subdomains
- Added GetServerIPv6() function to retrieve server IPv6 address
- Updated DNS template styling and Angular.js binding for toggle buttons
2026-01-04 04:17:02 +01:00
master3395 b1adb8f52e DNS improvements: CloudFlare proxy toggle styling, auto AAAA records, proxy defaults
- Fixed CloudFlare proxy toggle button to display as oblong with round dot
- Enable CloudFlare proxy by default for all domains/subdomains except mail domains
- Automatically add AAAA (IPv6) DNS records when creating domains/subdomains
- Added GetServerIPv6() function to retrieve server IPv6 address
- Updated DNS template styling and Angular.js binding for toggle buttons
2026-01-04 04:15:46 +01:00
Master3395 0a331ab00c
Merge pull request #1638 from master3395/v2.5.5-dev
V2.5.5 dev
2026-01-04 03:59:51 +01:00
master3395 d2aaa50311 Fix session status logic: Add IDLE state for logged-in users without processes, improve process detection with TTY filtering, enhance status messages with clearer explanations 2026-01-04 03:57:53 +01:00
master3395 38918c4f49 Enhance SSH Activity Management: Add active/inactive session indicators, improve IP extraction (IPv4/IPv6), optimize user activity loading, fix modal display issues 2026-01-04 03:44:29 +01:00
Master3395 a818dceced
Merge pull request #1637 from master3395/v2.5.5-dev
Fix CloudFlare DNS Management: Filter main domains only, auto-delete DNS records on domain removal, improve table display
2026-01-04 02:15:42 +01:00
master3395 cfee3d9867 Fix CloudFlare DNS Management: Filter main domains only, auto-delete DNS records on domain removal, improve table display
- 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
2026-01-04 02:13:46 +01:00
Master3395 d8dbe6e410
Merge pull request #1634 from master3395/v2.5.5-dev
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.
2026-01-01 05:30:21 +01:00
Master3395 c3abff58f4 Download CDN libraries locally to eliminate tracking prevention warnings. 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. 2026-01-01 05:29:46 +01:00
Master3395 88810d6e87
Merge pull request #1633 from master3395/v2.5.5-dev
Refactor configuration modification methods for improved safety

https://github.com/usmannasir/cyberpanel/issues/1609
2025-12-31 23:15:09 +01:00
Master3395 18b1bad51f Refactor configuration modification methods for improved safety and validation
- 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.
2025-12-31 23:13:53 +01:00
Master3395 b5d81eb68a
Merge pull request #1632 from master3395/v2.5.5-dev
Update rsync exclude patterns in backupUtilities.py

https://github.com/usmannasir/cyberpanel/issues/1615
2025-12-31 22:56:17 +01:00
Master3395 b127b878ae Update rsync exclude patterns in backupUtilities.py to use leading slashes for top-level directory exclusions. This change improves backup accuracy by ensuring only the intended directories are excluded during the backup process. 2025-12-31 22:55:09 +01:00
Master3395 cfb217e377
Merge pull request #1631 from master3395/v2.5.5-dev
V2.5.5 dev

https://github.com/usmannasir/cyberpanel/issues/1612
2025-12-31 22:46:00 +01:00
Master3395 6c7cce4d17
Merge branch 'usmannasir:v2.5.5-dev' into v2.5.5-dev 2025-12-31 22:45:34 +01:00
Master3395 e693afab8a Enhance venvsetup.sh to conditionally create timezone.ini file
- 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.
2025-12-31 22:44:58 +01:00
Master3395 6084df2397
Merge pull request #1630 from master3395/v2.5.5-dev
Add support for PHP versions 8.2 to 8.5 in installation process
2025-12-31 22:36:17 +01:00
Master3395 3549da5b12 Add support for PHP versions 8.2 to 8.5 in installation process
- 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.
2025-12-31 22:35:18 +01:00
Master3395 3285bb9888
Merge pull request #1629 from master3395/v2.5.5-dev
Randomize acme.sh cron schedule in installation and upgrade scripts
2025-12-31 22:28:14 +01:00
Master3395 dc8bc57b35 Randomize acme.sh cron schedule in installation and upgrade scripts to prevent traffic spikes to Let's Encrypt. Added logic to generate random hour and minute for cron job entries, enhancing the installation process. 2025-12-31 22:26:50 +01:00
Master3395 47dc442ace
Merge pull request #1628 from master3395/v2.5.5-dev
Implement Catch-All Email Configuration Management

https://github.com/usmannasir/cyberpanel/issues/1626
https://github.com/usmannasir/cyberpanel/issues/1627
2025-12-31 22:19:45 +01:00
Master3395 ff382f2d78 Implement Catch-All Email Configuration Management
- 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.
2025-12-31 22:18:33 +01:00
Master3395 ffaa0ca63d
Merge pull request #1622 from master3395/v2.5.5-dev
Implement dynamic PHP version detection and configuration updates
2025-12-17 19:54:05 +01:00
Master3395 f8a2370336 Implement dynamic PHP version detection and configuration updates
- 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.
2025-12-17 19:48:28 +01:00
Master3395 b9758727b3
Merge pull request #1620 from master3395/v2.5.5-dev
V2.5.5 dev
2025-12-17 19:22:16 +01:00
Master3395 7c692ab250 Implement .htaccess feature banner and extraction support in file manager
- 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.
2025-12-17 19:19:00 +01:00
Master3395 bbc4ce28ee Remove deprecated rDNS fix scripts and documentation for CyberPanel v2.4.4
- 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.
2025-12-09 18:37:29 +01:00
Master3395 b9162b10cc Enhance reverse DNS lookup functionality in mailUtilities
- 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.
2025-12-09 18:32:52 +01:00
Master3395 4fe142ad8e
Merge pull request #1607 from master3395/v2.5.5-dev
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.
2025-11-15 23:56:24 +01:00
Master3395 9710cbd24e Merge branch 'v2.5.5-dev' of https://github.com/master3395/cyberpanel into v2.5.5-dev 2025-11-15 23:55:49 +01:00
Master3395 0433b0f6ea Update README and mysqlUtilities for versioning and MySQL account resolution
- 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.
2025-11-15 23:55:47 +01:00
Master3395 85da2a1437
Merge pull request #1606 from master3395/v2.5.5-dev
Implement ImunifyAV asset management and routing
2025-11-15 23:25:45 +01:00
Master3395 0aca2a5aaf Implement ImunifyAV asset management and routing
- 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.
2025-11-15 23:25:13 +01:00
Master3395 34f10cebe3
Merge pull request #1595 from master3395/v2.5.5-dev
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
2025-11-02 20:30:51 +01:00
Master3395 22402c1933 Merge branch 'v2.5.5-dev' of https://github.com/master3395/cyberpanel into v2.5.5-dev 2025-11-02 20:29:52 +01:00
Master3395 b6528bb21d 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
2025-11-02 20:29:45 +01:00