Commit Graph

5399 Commits

Author SHA1 Message Date
master3395
6218cfd064 Log successful plugin install (upload) to CyberPanel main log 2026-02-03 19:28:10 +01:00
master3395
df7c5ba234 Only include plugin URLs when app is in INSTALLED_APPS
Skip dynamic plugin URL inclusion for plugins that are on disk but not
in Django INSTALLED_APPS to avoid RuntimeError when loading models.
Plugin installer adds apps to INSTALLED_APPS on install; this prevents
breakage when that step was missed or reverted.
2026-02-03 19:09:46 +01:00
master3395
0225f2f95a Fix plugin settings 404: dynamic URL inclusion for all installed plugins
- pluginHolder/urls.py: Discover plugins from /usr/local/CyberCP and source
  paths (/home/cyberpanel/plugins, /home/cyberpanel-plugins); dynamically
  include each plugin's urls so /plugins/<name>/settings/ works without
  hardcoding. Add source path to sys.path when loading from source.
- CyberCP/urls.py: Remove hardcoded _plugin_routes; all plugin routes now
  served via pluginHolder dynamic inclusion.

Fixes 404 on /plugins/contaboAutoSnapshot/settings/ and any installed plugin
settings page. No per-plugin core changes required.
2026-02-03 18:46:05 +01:00
master3395
820dbf37be Fix User Management: Create User, List Users, Modify User
- Create User: Don't show 'Unknown error' on load; fix inverted success/failure
  logic in static/ and public/static/ userManagment.js
- List Users: Use <button> for Edit/Delete/Suspend/Activate; add showModalById/
  hideModalById for Bootstrap 3/5; fix public/static missing modal show calls
- Modify User: Fix inverted canotModifyUser/canotFetchDetails in all three
  userManagment.js copies; hide modify error when only fetching details
- Add deploy-createuser-fix.sh to copy fixed JS and run collectstatic on server
2026-02-03 00:42:48 +01:00
master3395
d9329e2a21 Remove bundled plugins from v2.5.5-dev - plugins live in cyberpanel-plugins only
Removed: emailMarketing, examplePlugin, paypalPremiumPlugin, premiumPlugin, testPlugin

All plugins are now installed via Plugin Store from https://github.com/master3395/cyberpanel-plugins
2026-02-03 00:00:59 +01:00
master3395
d8ee83e30d Plugin Store & Installed Plugins: search bar, A-Å sort, sort toggle, Store A-Å label
- Installed plugins: search box in header (same row as Activate/Deactivate All)
- Grid/Table: default sort A-Å by name; sort bar with Name (toggle A-Å/Å-A), Type, Date (toggle newest/oldest)
- Apply sort on load so list shows A-Å when Name A-Å is selected
- Store view: letter filter label 'A-Å Filter' (not A-Z); add Æ, Ø, Å to letter buttons
- views.py: sort pluginList by name (case-insensitive) before template
- Add deploy-installed-plugins-search.sh for template deployment
2026-02-02 20:39:56 +01:00
master3395
1118f63b1a Plugin updates: premiumPlugin & paypalPremiumPlugin unified verification, Installed Plugins UI improvements 2026-02-02 03:39:42 +01:00
master3395
462f87a578 Remove Patreon/subscribe messaging from plugin front - only in Settings 2026-02-02 03:01:14 +01:00
Master3395
2162779783 Merge pull request #1669 from master3395/v2.5.5-dev
V2.5.5 dev
2026-02-02 02:57:19 +01:00
Master3395
762d039d9d Remove old
Remove old
2026-02-02 02:56:43 +01:00
master3395
17828d0a37 Merge cyberpanel-fix: add install scripts, docs, and repo merge notes 2026-02-02 02:51:27 +01:00
master3395
4757d45b11 Plugin Development Guide: bump version to 2.1.0 2026-02-02 02:36:23 +01:00
master3395
d6d1f2d993 Plugin Development Guide: add collapsible accordion sections 2026-02-02 02:35:23 +01:00
master3395
e32219edde Plugin Store: badges (NEW/Stable/Unstable/STALE), Activate/Deactivate All, categories & premium docs in help 2026-02-02 02:18:05 +01:00
master3395
86b5ed6e0e feat: no plugins required by default; Plugin Store category updates
- Remove emailMarketing from default INSTALLED_APPS
- Comment out emailMarketing URL (plugin installer adds when installed)
- Bump emailMarketing, examplePlugin meta.xml to 1.0.1
- Plugin Holder: remove Plugin category, enforce Utility/Security/Backup/Performance
- Add to-do/PLUGIN-DEFAULT-REMOVAL-2026-02-01.md
2026-02-01 23:47:12 +01:00
Master3395
6e935d64c7 Merge pull request #1667 from master3395/v2.5.5-dev
V2.5.5 dev
2026-02-01 01:39:52 +01:00
Master3395
7f07e3969e Delete UNIVERSAL_OS_COMPATIBILITY.md 2026-01-31 23:06:40 +01:00
master3395
37bebeb425 Fix: Add local DNS fallback to reverse_dns_lookup() - Resolves issue #1654 2026-01-31 20:46:30 +01:00
Master3395
0228ff0c33 Remove deprecated files.
Remove deprecated files.
2026-01-31 20:28:29 +01:00
Master3395
3aa2747d5c Delete MARIADB_INSTALLATION_FIXES.md 2026-01-31 17:58:40 +01:00
Master3395
4f5771e37b Merge pull request #7 from master3395/revert-4-fix/elevate-install-upgrade
Revert "fix: auto-elevate installer/upgrade"
2026-01-31 17:09:30 +01:00
Master3395
020d14fa0c Revert "fix: auto-elevate installer/upgrade" 2026-01-31 17:09:19 +01:00
Master3395
40bed7b764 Merge pull request #4 from KraoESPfan1n/fix/elevate-install-upgrade
fix: auto-elevate installer/upgrade
2026-01-30 23:31:55 +01:00
KraoESPfan1n
81a27b05f3 fix: add installer/upgrade logging 2026-01-30 22:26:22 +00:00
KraoESPfan1n
07e5715fed fix: auto-elevate installer/upgrade 2026-01-30 22:09:27 +00:00
Master3395
348fca4230 Merge pull request #1665 from master3395/v2.5.5-dev
V2.5.5 dev
2026-01-30 20:35:27 +01:00
master3395
238f4b7478 Dashboard, user management, and FTP quota fixes for v2.5.5-dev
- base: Clickable insight cards (Users, Websites, WordPress, DBs, Emails, FTP)
- base: data-cfasync=false on scripts for Cloudflare Rocket Loader compatibility
- userManagment: createUser/modifyUser/createACL/apiAccess fixes, alert logic
- websiteFunctions: FTP quota management, createWebsite, ACLManager fix
2026-01-30 20:34:29 +01:00
master3395
30f5e375eb Merge origin/v2.5.5-dev - keep FTP, dashboard, notification fixes 2026-01-30 19:46:39 +01:00
master3395
6598bf818f FTP, dashboard, and notification fixes for v2.5.5-dev
- FTP: Fix createFTPAccount (ChildDomains), deleteFTPAccount, ResetFTPConfigurations, listFTPAccounts, quotaManagement
- FTP: Add quotaManagement page at /ftp/quotaManagement, improve reset status polling and error display
- Dashboard: Fix Angular ng-click parse error (remove return false from blockIPAddress)
- Dashboard: Add data-cfasync=false to jQuery/system-status for Rocket Loader compatibility
- FTP Quota Management: Improve error handling, fix refreshQuotas success/error callbacks
- Notification: Add updated_at column for usernotificationpreferences (run SQL migration)
2026-01-30 19:46:05 +01:00
Master3395
0814f8c792 Merge pull request #1664 from master3395/v2.5.5-dev
…tent-type, fix IP validation, and add comprehensive logging

- Fixed IP validation logic in blockIPAddress function
- Added proper JSON content-type header in firewallManager.py addBannedIP response
- Improved error handling with try-catch wrapper
- Added comprehensive console logging for debugging
- Fixed button onclick handler interference with ng-click
- Added $scope.$apply() calls for proper AngularJS view updates
- Enhanced error message parsing and display
- Fixed duplicate error notification prevention
2026-01-29 01:05:12 +01:00
master3395
14152d150b Fix Ban IP functionality: Improve error handling, add proper JSON content-type, fix IP validation, and add comprehensive logging
- Fixed IP validation logic in blockIPAddress function
- Added proper JSON content-type header in firewallManager.py addBannedIP response
- Improved error handling with try-catch wrapper
- Added comprehensive console logging for debugging
- Fixed button onclick handler interference with ng-click
- Added $scope.$apply() calls for proper AngularJS view updates
- Enhanced error message parsing and display
- Fixed duplicate error notification prevention
2026-01-29 01:02:35 +01:00
Master3395
9e666c9134 Merge pull request #1663 from master3395/v2.5.5-dev
V2.5.5 dev Fixing Firewall rules and Banned IP's page.
2026-01-28 23:25:42 +01:00
master3395
e303548112 Add modify firewall rule and improve export/import functionality
- Add modifyRule function to allow editing firewall rules without deletion
- Add modify button and modal for firewall rules (similar to banned IPs)
- Fix exportRules function to properly handle file downloads with blob response
- Improve importRules function with better error handling and PNotify notifications
- Add exportBannedIPs and importBannedIPs functionality
- Add export/import buttons for banned IPs
- Improve error handling and user feedback for all export/import operations
- Add proper validation and duplicate detection for imports
2026-01-28 23:24:16 +01:00
master3395
4cf263d205 Fix firewall banned IP modify functionality
- Remove readonly attribute from IP address field in modify modal
- Make IP address field editable when modal opens
- Update modifyBannedIP function to include IP address in save request
- Remove conflicting onclick handler that was blocking ng-click
- Update help text to reflect that IP address can be changed
- Add IP address validation in modifyBannedIP function
2026-01-28 23:15:10 +01:00
master3395
1e87abb978 Update preUpgrade.sh to use master3395/cyberpanel repository instead of usmannasir/cyberpanel 2026-01-28 03:13:14 +01:00
master3395
1c7daae155 Merge branch 'v2.5.5-dev' of https://github.com/master3395/cyberpanel into v2.5.5-dev 2026-01-28 03:12:17 +01:00
master3395
88e1faa07d Fix syntax error in cyberpanel_upgrade.sh - add missing if statement for lscpd service check 2026-01-28 03:12:08 +01:00
Master3395
d733c4a1d0 Merge pull request #1662 from master3395/v2.5.5-dev
V2.5.5 dev
2026-01-28 03:08:43 +01:00
master3395
63a54607b7 Merge branch 'v2.5.5-dev' of https://github.com/master3395/cyberpanel into v2.5.5-dev 2026-01-28 02:47:32 +01:00
master3395
f7d173a8cb Bump version to 2.5.5-dev for v2.5.5-dev branch 2026-01-28 02:47:14 +01:00
Master3395
3e298f120f Merge pull request #1661 from master3395/v2.5.5-dev
V2.5.5 dev
2026-01-28 01:32:00 +01:00
master3395
1aa8db0339 Merge branch 'v2.5.5-dev' of https://github.com/master3395/cyberpanel into v2.5.5-dev 2026-01-27 00:41:52 +01:00
master3395
98c7fefd99 Fix MariaDB installation issues on AlmaLinux 9
- Enhanced MariaDB-server-compat package removal with multiple aggressive attempts
- Added --allowerasing and dnf exclude to prevent compat package conflicts
- Added MariaDB binary verification before password change
- Added service status verification and wait time
- Improved error handling and graceful failure
- Fixed FileNotFoundError when mysql command not found

Fixes:
- MariaDB-server-compat-12.1.2-1.el9.noarch conflict with MariaDB 10.11
- mysql command not found after failed installation
- Installation proceeding when MariaDB wasn't actually installed
2026-01-27 00:41:43 +01:00
Master3395
1c054af741 Merge pull request #1660 from master3395/v2.5.5-dev
CyberPanel Plugin Store

Added upgrade button UI
Added revert version button in Grid and Table views
Implemented local timezone display for cache expiry
Fixed revert plugin JavaScript function
2026-01-27 00:34:32 +01:00
master3395
2bde2624f0 Enhance plugin store: Add upgrade button, auto-backup, revert functionality, cache randomization, and local time display
- Add upgrade button in plugin store when updates are available
- Implement automatic plugin backup before upgrades
- Add revert version functionality with backup selection
- Randomize cache duration (±10 minutes) to prevent simultaneous GitHub API requests
- Display cache expiry time in user's local timezone and locale format
- Fix revert plugin function to work without event object
- Improve error handling in plugin store operations
2026-01-27 00:32:45 +01:00
master3395
da4c1d9601 Fix compat removal, shell metachars in call(), upgrade AlmaLinux 9 MariaDB
- install_utils.call: use shell=True for commands with ||, 2>, |, etc.
  Avoids 'No matching repo to modify: 2>/dev/null, true, ||' when
  dnf config-manager '... 2>/dev/null || true' is run via shlex.split.

- Add explicit 'rpm -e --nodeps MariaDB-server-compat-12.1.2-1.el9.noarch'
  before dnf remove in main(), installMySQL, fix_almalinux9_comprehensive.

- upgrade fix_almalinux9_mariadb: add compat removal before MariaDB install;
  use MariaDB 10.11 repo instead of 12.1 to avoid compat conflicts.
2026-01-27 00:23:56 +01:00
master3395
de21c03fc7 Fix MariaDB compat, mysql path, and OpenLiteSpeed binary install
MariaDB-server-compat:
- Remove MariaDB-server-compat* in main() before any MariaDB install
- Use dnf remove then rpm -e --nodeps loop in main(), installMySQL, fix_almalinux9
- Prevents transaction conflicts when installing MariaDB 10.11

mysql command not found:
- install_utils.call: detect mysql/mariadb commands, use shell=True and full path
- Replace leading mysql/mariadb with /usr/bin/mariadb or /usr/bin/mysql
- Fixes FileNotFoundError when changeMYSQLRootPassword runs

OpenLiteSpeed:
- Create /usr/local/lsws and /usr/local/lsws/bin before installing custom binary
- Fixes 'No such file or directory: /usr/local/lsws/bin/openlitespeed'
2026-01-26 23:21:53 +01:00
master3395
99b24f853a Fix mysql command not found error in install_utils.call
- Detect mysql/mariadb commands and find binary path automatically
- Replace mysql/mariadb with full path (/usr/bin/mysql or /usr/bin/mariadb)
- Use shell=True for mysql commands to handle complex SQL properly
- Fixes FileNotFoundError when executing mysql commands
- Works with both mysql and mariadb binaries
2026-01-26 22:58:56 +01:00
master3395
a28c4287bf Remove conflicting MariaDB-server-compat packages before installation
- Remove MariaDB-server-compat* packages that conflict with MariaDB 10.11
- Fixes transaction test errors when installing MariaDB 10.11
- Removes compat packages from previous MariaDB 12.1 installation attempts
- Ensures clean MariaDB 10.11 installation without conflicts
- Also remove sudo from curl command (not needed when running as root)
2026-01-26 22:58:06 +01:00
master3395
e271edd1b2 Fix mariadb-devel installation when MariaDB-server is excluded
- Temporarily adjust dnf exclude to allow mariadb-devel installation
- Only exclude MariaDB-server, not development packages
- Ensures mariadb-devel can be installed even when server is excluded
- Critical for Python mysqlclient package compilation
2026-01-26 22:48:53 +01:00