diff --git a/CPScripts/mailscannerinstaller.sh b/CPScripts/mailscannerinstaller.sh index 9175cd102..917c678a3 100644 --- a/CPScripts/mailscannerinstaller.sh +++ b/CPScripts/mailscannerinstaller.sh @@ -49,7 +49,7 @@ Server_OS="" Server_OS_Version="" if grep -q -E "CentOS Linux 7|CentOS Linux 8" /etc/os-release ; then Server_OS="CentOS" -elif grep -q "AlmaLinux-8" /etc/os-release ; then +elif grep -q -E "AlmaLinux-8|AlmaLinux-9|AlmaLinux-10" /etc/os-release ; then Server_OS="AlmaLinux" elif grep -q -E "CloudLinux 7|CloudLinux 8" /etc/os-release ; then Server_OS="CloudLinux" diff --git a/CPScripts/mailscanneruninstaller.sh b/CPScripts/mailscanneruninstaller.sh index 2061fe9df..9eebad670 100644 --- a/CPScripts/mailscanneruninstaller.sh +++ b/CPScripts/mailscanneruninstaller.sh @@ -6,7 +6,7 @@ Server_OS="" Server_OS_Version="" if grep -q -E "CentOS Linux 7|CentOS Linux 8" /etc/os-release ; then Server_OS="CentOS" -elif grep -q "AlmaLinux-8" /etc/os-release ; then +elif grep -q -E "AlmaLinux-8|AlmaLinux-9|AlmaLinux-10" /etc/os-release ; then Server_OS="AlmaLinux" elif grep -q -E "CloudLinux 7|CloudLinux 8" /etc/os-release ; then Server_OS="CloudLinux" diff --git a/CyberCP/settings.py b/CyberCP/settings.py index 21cd676be..ac1579490 100644 --- a/CyberCP/settings.py +++ b/CyberCP/settings.py @@ -187,6 +187,7 @@ LANGUAGES = ( ('de', _('Deutsch')), ('id', _('Indonesian')), ('bn', _('Bangla')), + ('nb', _('Norwegian Bokmål')), ) MEDIA_URL = '/usr/local/CyberCP/tmp/' diff --git a/IncBackups/IncBackupsControl.py b/IncBackups/IncBackupsControl.py index 998dfde21..2b4ca6e3b 100644 --- a/IncBackups/IncBackupsControl.py +++ b/IncBackups/IncBackupsControl.py @@ -845,7 +845,7 @@ Subject: %s logging.statusWriter(self.statusPath, 'It seems restic is not installed, for incremental backups to work ' 'restic must be installed. You can manually install restic using this ' - 'guide -> https://go.cyberpanel.net/restic. [5009]', 1) + 'guide -> https://cyberpanel.net/KnowledgeBase/. [5009]', 1) pass return 0 diff --git a/IncBackups/templates/IncBackups/CreateV2Backup.html b/IncBackups/templates/IncBackups/CreateV2Backup.html index 81f0726c0..eeaebff22 100644 --- a/IncBackups/templates/IncBackups/CreateV2Backup.html +++ b/IncBackups/templates/IncBackups/CreateV2Backup.html @@ -13,7 +13,7 @@
-

{% trans "Create V2 Backup" %} - {% trans "Create V2 Backup" %} - {% trans "Backup Docs" %}

diff --git a/IncBackups/templates/IncBackups/DeleteV2repo.html b/IncBackups/templates/IncBackups/DeleteV2repo.html index 4513e4112..02a0a4c0a 100644 --- a/IncBackups/templates/IncBackups/DeleteV2repo.html +++ b/IncBackups/templates/IncBackups/DeleteV2repo.html @@ -14,7 +14,7 @@
-

{% trans "Delete V2 Repo" %} - {% trans "Delete V2 Repo" %} - {% trans "Backup Docs" %}

diff --git a/IncBackups/templates/IncBackups/RestoreV2Backup.html b/IncBackups/templates/IncBackups/RestoreV2Backup.html index f5b27f3b3..ec15c8f02 100644 --- a/IncBackups/templates/IncBackups/RestoreV2Backup.html +++ b/IncBackups/templates/IncBackups/RestoreV2Backup.html @@ -14,7 +14,7 @@ {% if BackupStat %}
-

{% trans "Restore V2 Backups" %} - {% trans "Restore V2 Backups" %} - {% trans "Backup Docs" %}

diff --git a/IncBackups/templates/IncBackups/ScheduleV2Backup.html b/IncBackups/templates/IncBackups/ScheduleV2Backup.html index f33a1a5d9..6fc22d0e7 100644 --- a/IncBackups/templates/IncBackups/ScheduleV2Backup.html +++ b/IncBackups/templates/IncBackups/ScheduleV2Backup.html @@ -14,7 +14,7 @@ {% if BackupStat %}
-

{% trans "Schedule V2 Backup" %} - {% trans "Schedule V2 Backup" %} - {% trans "Backup Docs" %}

diff --git a/README.md b/README.md index 94789d5c0..7dcf727bb 100755 --- a/README.md +++ b/README.md @@ -14,132 +14,88 @@ Web Hosting Control Panel powered by OpenLiteSpeed, designed to simplify hosting - 📧 **Email Support** (SnappyMail). - 🕌 **File Manager** for quick file access. - 🌐 **PHP Management** made easy. -- 🔒 **Firewall** (✅ FirewallD & ConfigServer Firewall Integration). +- 🔒 **Firewall** (FirewallD & ConfigServer Firewall Integration). - 📀 **One-click Backups and Restores**. +- 🐳 **Docker Management** with command execution capabilities. +- 🤖 **AI-Powered Security Scanner** for enhanced protection. + +--- + +## 📖 **Documentation & Guides** + +CyberPanel comes with comprehensive documentation and step-by-step guides: + +- 📚 **[Complete Guides Index](guides/INDEX.md)** - All available documentation in one place +- 🐳 **[Docker Command Execution](guides/Docker_Command_Execution_Guide.md)** - Execute commands in Docker containers +- 🤖 **[AI Scanner Setup](guides/AIScannerDocs.md)** - Configure AI-powered security scanning +- 📧 **[Mautic Installation](guides/MAUTIC_INSTALLATION_GUIDE.md)** - Email marketing platform setup --- ## 🔢 Supported PHP Versions -CyberPanel supports PHP versions based on your operating system: +CyberPanel supports a wide range of PHP versions across different operating systems: -### ☑️ **PHP 8.0 and Above** -- Fully supported on modern systems such as Ubuntu 22.04 and AlmaLinux 9.x and higher. +### ☑️ **Currently Supported PHP Versions** -### ☑️ **PHP 7.4 and Below** -- Compatible with AlmaLinux 8, Ubuntu 18.04, and similar environments. +- **PHP 8.5** - Latest stable version (EOL: Dec 2028) +- **PHP 8.4** - Stable version (EOL: Dec 2027) +- **PHP 8.3** - Stable version (EOL: Dec 2027) +- **PHP 8.2** - Stable version (EOL: Dec 2026) +- **PHP 8.1** - Stable version (EOL: Dec 2025) +- **PHP 8.0** - Legacy support (EOL: Nov 2023) +- **PHP 7.4** - Legacy support (EOL: Nov 2022) -### Adding PHP Versions as Third-Party Add-ons +### 🔧 **Third-Party PHP Add-ons** -Some PHP versions can be added to operating systems as third-party packages using external repositories or tools. Here's an overview by OS: +For additional PHP versions or specific requirements, you can install third-party packages: -#### **Ubuntu**: -- **Ubuntu 22.04**: - - Highest: PHP 8.5 (default repository or Ondrej's PPA). - - Lowest: PHP 7.4 (via Ondrej's PPA). -- **Ubuntu 20.04**: - - Highest: PHP 8.5 (default repository or Ondrej's PPA). - - Lowest: PHP 7.0 (via Ondrej's PPA). -- **Ubuntu 18.04**: - - Highest: PHP 8.4 (via Ondrej's PPA). - - Lowest: PHP 5.6 (via Ondrej's PPA). +#### **Ubuntu/Debian** -#### **AlmaLinux**: -- **AlmaLinux 9**: - - Highest: PHP 8.5 (default repository or Remi repository). - - Lowest: PHP 7.4 (via Remi repository). -- **AlmaLinux 8**: - - Highest: PHP 8.4 (default repository or Remi repository). - - Lowest: PHP 5.6 (via Remi repository). +- **Ondrej's PPA**: Provides PHP 5.6 to 8.5 +- **Sury's PPA**: Alternative repository with latest PHP versions -#### **CentOS**: -- **CentOS 9**: - - Highest: PHP 8.4 (via Remi repository). - - Lowest: PHP 7.4 (via Remi repository). -- **CentOS 8**: - - Highest: PHP 8.4 (via Remi repository). - - Lowest: PHP 5.6 (via Remi repository). -- **CentOS 7**: - - Highest: PHP 8.0 (via Remi repository). - - Lowest: PHP 5.4 (via Remi repository). +#### **RHEL-based Systems** (AlmaLinux, RockyLinux, CentOS, RHEL) -#### **RHEL**: -- **RHEL 9**: - - Highest: PHP 8.4 (via Remi repository). - - Lowest: PHP 7.4 (via Remi repository). -- **RHEL 8**: - - Highest: PHP 8.4 (via Remi repository). - - Lowest: PHP 5.6 (via Remi repository). +- **Remi Repository**: Comprehensive PHP package collection +- **EPEL Repository**: Additional packages for enterprise Linux -#### **RockyLinux**: -- **RockyLinux 8**: - - Highest: PHP 8.5 (via Remi repository). - - Lowest: PHP 5.6 (via Remi repository). +#### **CloudLinux** -#### **CloudLinux**: -- **CloudLinux 8**: - - Highest: PHP 8.5 (via Remi repository). - - Lowest: PHP 5.6 (via Remi repository). -- **CloudLinux 7**: - - Highest: PHP 8.0 (via Remi repository). - - Lowest: PHP 5.4 (via Remi repository). +- **CloudLinux PHP Selector**: Built-in tool for managing multiple PHP versions +- **Remi Repository**: Additional PHP versions and extensions -#### **openEuler**: -- **openEuler 22.03**: - - Highest: PHP 8.4 (default repository). - - Lowest: PHP 7.4 (default repository). -- **openEuler 20.03**: - - Highest: PHP 7.3 (default repository). - - Lowest: PHP 7.0 (default repository). - -### Full List of PHP Versions and End of Life (EOL) Dates: -- ✨ **PHP 8.5** - EOL: 31 Dec 2028. -- ✨ **PHP 8.4** - EOL: 31 Dec 2027. -- ✨ **PHP 8.3** - EOL: 31 Dec 2027. -- ✨ **PHP 8.2** - EOL: 31 Dec 2026. -- ✨ **PHP 8.1** - EOL: 31 Dec 2025. -- 🛑 **PHP 8.0** - EOL: 26 Nov 2023. -- 🛑 **PHP 7.4** - EOL: 28 Nov 2022. -- 🛑 **PHP 7.3** - EOL: 6 Dec 2021. -- 🛑 **PHP 7.2** - EOL: 30 Nov 2020. -- 🛑 **PHP 7.1** - EOL: 1 Dec 2019. -- 🛑 **PHP 7.0** - EOL: 10 Jan 2019. -- 🛑 **PHP 5.6** - EOL: 31 Dec 2018. -- 🛑 **PHP 5.5** - EOL: 21 Jul 2016. -- 🛑 **PHP 5.4** - EOL: 3 Sep 2015. -- 🛑 **PHP 5.3** - EOL: 14 Aug 2014. +> **Note**: Third-party repositories may provide additional PHP versions beyond what's available in default repositories. Always verify compatibility with your specific use case. --- -## 🌐 Supported OS Versions +## 🌐 Supported Operating Systems CyberPanel runs on x86_64 architecture and supports the following operating systems: -### **Ubuntu**: -- Ubuntu 22.04 ✅ Supported until April 2027. -- Ubuntu 20.04 ✅ Supported until April 2025. -- Ubuntu 18.04 🛑 EOL: 31 May 2023. +### **✅ Currently Supported** -### **CentOS**: -- CentOS 9 ✅ EOL: 31 May 2027. -- CentOS 8 🛑 EOL: 31 Dec 2021. -- CentOS 7 🛑 EOL: 30 June 2024. +- **Ubuntu 22.04** - Supported until April 2027 +- **Ubuntu 20.04** - Supported until April 2025 +- **AlmaLinux 10** - Supported until May 2030 +- **AlmaLinux 9** - Supported until May 2032 +- **AlmaLinux 8** - Supported until May 2029 +- **RockyLinux 9** - Supported until May 2032 +- **RockyLinux 8** - Supported until May 2029 +- **RHEL 9** - Supported until May 2032 +- **RHEL 8** - Supported until May 2029 +- **CloudLinux 8** - Supported until May 2029 +- **CentOS 9** - Supported until May 2027 -### **RHEL**: -- RHEL 9 ✅ EOL: 31 May 2032. -- RHEL 8 ✅ EOL: 31 May 2029. +### **🔧 Third-Party OS Support** -### **AlmaLinux**: -- AlmaLinux 9 ✅ EOL: 31 May 2032. -- AlmaLinux 8 ✅ EOL: 31 May 2029. +Additional operating systems may be supported through third-party repositories or community efforts: -### **Other OS**: -- RockyLinux 9 ✅ EOL: 31 May 2032. -- RockyLinux 8 ✅ EOL: 31 May 2029. -- CloudLinux 8 ✅ EOL: 31 May 2029. -- CloudLinux 7 🛑 EOL: 1 Jul 2024. -- openEuler 22.03 🛑 EOL: March 2024. -- openEuler 20.03 🛑 EOL: April 2022. +- **Debian** - May work with Ubuntu-compatible packages +- **openEuler** - Community-supported with limited testing +- **Other RHEL derivatives** - May work with AlmaLinux/RockyLinux packages + +> **Note**: For unsupported operating systems, compatibility is not guaranteed. Always test in a non-production environment first. --- @@ -166,12 +122,28 @@ sh <(curl https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/preUpgr ## 📚 Resources - 🌐 [Official Site](https://cyberpanel.net) -- ✏️ [Docs (Old)](https://docs.cyberpanel.net) -- 🎓 [Docs (New)](https://community.cyberpanel.net/docs) +- ✏️ [Docs (New)](https://cyberpanel.net/KnowledgeBase/) +- 🎓 [Docs (Old)](https://community.cyberpanel.net/docs) +- 📖 [Additional Guides](guides/INDEX.md) - Detailed guides for Docker, AI Scanner, Mautic, and more +- 📚 [Local Documentation](guides/) - All guides available in this repository - ✅ [Changelog](https://community.cyberpanel.net/t/change-logs/161) - 💬 [Forums](https://community.cyberpanel.net) - 📢 [Discord](https://discord.gg/g8k8Db3) - 📵 [Facebook Group](https://www.facebook.com/groups/cyberpanel) - 🎥 [YouTube Channel](https://www.youtube.com/@Cyber-Panel) ---- \ No newline at end of file +### 📖 **Quick Start Guides** + +- 🐳 [Docker Command Execution](guides/Docker_Command_Execution_Guide.md) - Execute commands in Docker containers +- 🤖 [AI Scanner Setup](guides/AIScannerDocs.md) - Configure AI-powered security scanning +- 📧 [Mautic Installation](guides/MAUTIC_INSTALLATION_GUIDE.md) - Email marketing platform setup +- 📚 [All Guides Index](guides/INDEX.md) - Complete documentation hub + +### 🔗 **Direct Guide Links** + +| Feature | Guide | Description | +| ----------- | ---------------------------------------------------------- | ------------------------------ | +| 🐳 Docker | [Command Execution](guides/Docker_Command_Execution_Guide.md) | Execute commands in containers | +| 🤖 Security | [AI Scanner](guides/AIScannerDocs.md) | AI-powered security scanning | +| 📧 Email | [Mautic Setup](guides/MAUTIC_INSTALLATION_GUIDE.md) | Email marketing platform | +| 📚 All | [Complete Index](guides/INDEX.md) | Browse all available guides | diff --git a/backup/templates/backup/backup.html b/backup/templates/backup/backup.html index 0bc03f0d1..b96367b69 100644 --- a/backup/templates/backup/backup.html +++ b/backup/templates/backup/backup.html @@ -461,7 +461,7 @@

{% trans "Create and manage backups of your websites to ensure data safety" %}

- + {% trans "Backup Documentation" %} diff --git a/backup/templates/backup/restore.html b/backup/templates/backup/restore.html index 39c59b4b6..7252f9567 100644 --- a/backup/templates/backup/restore.html +++ b/backup/templates/backup/restore.html @@ -380,7 +380,7 @@

{% trans "Restore your websites from backups created by CyberPanel" %}

- + {% trans "Backup Documentation" %} diff --git a/backup/templates/backup/restoreOCBackups.html b/backup/templates/backup/restoreOCBackups.html index 3e8a44b8c..e7f2ba31c 100644 --- a/backup/templates/backup/restoreOCBackups.html +++ b/backup/templates/backup/restoreOCBackups.html @@ -322,7 +322,7 @@ {% trans "directory. Select a backup folder and file to begin the restoration process." %}

- diff --git a/baseTemplate/templates/baseTemplate/FileManager.html b/baseTemplate/templates/baseTemplate/FileManager.html index f373e2cd5..5da3a3a63 100644 --- a/baseTemplate/templates/baseTemplate/FileManager.html +++ b/baseTemplate/templates/baseTemplate/FileManager.html @@ -173,7 +173,7 @@
+ + +
{% endblock %} diff --git a/dockerManager/urls.py b/dockerManager/urls.py index 4cc3fac6b..ff9197bb8 100644 --- a/dockerManager/urls.py +++ b/dockerManager/urls.py @@ -36,6 +36,7 @@ urlpatterns = [ path('recreateappcontainer', views.recreateappcontainer, name='recreateappcontainer'), path('RestartContainerAPP', views.RestartContainerAPP, name='RestartContainerAPP'), path('StopContainerAPP', views.StopContainerAPP, name='StopContainerAPP'), + path('executeContainerCommand', views.executeContainerCommand, name='executeContainerCommand'), # Docker Container Actions path('startContainer', startContainer, name='startContainer'), diff --git a/dockerManager/views.py b/dockerManager/views.py index 74b2a46b9..3866d6537 100644 --- a/dockerManager/views.py +++ b/dockerManager/views.py @@ -537,6 +537,24 @@ def StopContainerAPP(request): cm = ContainerManager() coreResult = cm.StopContainerAPP(userID, json.loads(request.body)) + return coreResult + except KeyError: + return redirect(loadLoginPage) + +@preDockerRun +def executeContainerCommand(request): + try: + userID = request.session['userID'] + currentACL = ACLManager.loadedACL(userID) + + if currentACL['admin'] == 1: + pass + else: + return ACLManager.loadErrorJson() + + cm = ContainerManager() + coreResult = cm.executeContainerCommand(userID, json.loads(request.body)) + return coreResult except KeyError: return redirect(loadLoginPage) \ No newline at end of file diff --git a/emailMarketing/templates/emailMarketing/website.html b/emailMarketing/templates/emailMarketing/website.html index 212453cdb..052fea0d3 100644 --- a/emailMarketing/templates/emailMarketing/website.html +++ b/emailMarketing/templates/emailMarketing/website.html @@ -732,9 +732,9 @@

{% trans "Current rewrite rules in the file fetched." %} Click + href="https://cyberpanel.net/KnowledgeBase/home/rewrite-rules/">Click to read more about whats changed in rewrite + href="https://cyberpanel.net/KnowledgeBase/home/rewrite-rules/">rewrite rules from v1.7 onwards.

diff --git a/emailPremium/templates/emailPremium/SpamAssassin.html b/emailPremium/templates/emailPremium/SpamAssassin.html index d8e00fea0..d4a537bb4 100644 --- a/emailPremium/templates/emailPremium/SpamAssassin.html +++ b/emailPremium/templates/emailPremium/SpamAssassin.html @@ -404,7 +404,7 @@
{% trans "SpamAssassin" %} - + {% trans "Documentation" %} diff --git a/emailPremium/templates/emailPremium/emailLimits.html b/emailPremium/templates/emailPremium/emailLimits.html index 0d3b87549..93a87b384 100644 --- a/emailPremium/templates/emailPremium/emailLimits.html +++ b/emailPremium/templates/emailPremium/emailLimits.html @@ -422,7 +422,7 @@ {{ domain }}

{% trans "View and manage email sending limits for your domain" %}

- + {% trans "Email Limits Documentation" %} diff --git a/emailPremium/templates/emailPremium/emailPage.html b/emailPremium/templates/emailPremium/emailPage.html index a4f5f5c54..e91aba9a4 100644 --- a/emailPremium/templates/emailPremium/emailPage.html +++ b/emailPremium/templates/emailPremium/emailPage.html @@ -10,7 +10,7 @@
-

{{ emailAddress }} - {% trans "Emai Limits Docs" %}

+

{{ emailAddress }} - {% trans "Emai Limits Docs" %}

{% trans "View and change limits for an Email Address." %}

diff --git a/emailPremium/templates/emailPremium/listDomains.html b/emailPremium/templates/emailPremium/listDomains.html index 6f9f0642e..b771bfece 100644 --- a/emailPremium/templates/emailPremium/listDomains.html +++ b/emailPremium/templates/emailPremium/listDomains.html @@ -11,7 +11,7 @@
-

{% trans "List Domains" %} - {% trans "Email Limits Docs" %}

+

{% trans "List Domains" %} - {% trans "Email Limits Docs" %}

{% trans "On this page you manage emails limits for Domains/Email Addresses" %}

diff --git a/emailPremium/templates/emailPremium/mailQueue.html b/emailPremium/templates/emailPremium/mailQueue.html index 3ef6497be..0a4dc97ca 100644 --- a/emailPremium/templates/emailPremium/mailQueue.html +++ b/emailPremium/templates/emailPremium/mailQueue.html @@ -442,7 +442,7 @@
{% trans "Mail Queue" %} - + {% trans "Documentation" %} diff --git a/emailPremium/templates/emailPremium/policyServer.html b/emailPremium/templates/emailPremium/policyServer.html index 91939a79b..01f6dd6de 100644 --- a/emailPremium/templates/emailPremium/policyServer.html +++ b/emailPremium/templates/emailPremium/policyServer.html @@ -10,7 +10,7 @@
-

{% trans "Email Policy Server Configurations!" %} - {% trans "Email Limits Docs" %}

+

{% trans "Email Policy Server Configurations!" %} - {% trans "Email Limits Docs" %}

{% trans "Turn ON Email Policy Server to use Email Limits Feature. " %}

diff --git a/filemanager/templates/filemanager/index.html b/filemanager/templates/filemanager/index.html index a034920b7..30a39b08f 100644 --- a/filemanager/templates/filemanager/index.html +++ b/filemanager/templates/filemanager/index.html @@ -183,7 +183,7 @@