Commit Graph

68 Commits

Author SHA1 Message Date
master3395
7b9495d761 Notification dropdown: scroll, button size, dark-mode text; install/upgrade use usmannasir URLs
- index.html: notification dropdown scroll (list max-height, flex min-height:0), button min-width and contrast, dark text on white for dark mode visibility
- cyberpanel.sh, cyberpanel_upgrade.sh, preUpgrade.sh: default install/upgrade URLs to usmannasir/cyberpanel (keep -r/--repo for fork)
- databases/plogical: AutoLogin, views, phpmyadminsignin updates
2026-02-15 03:02:08 +01:00
master3395
aeefee7433 fix: dashboard loading - register newDashboardStat alias, init systemStatusInfo defaults
- Register dashboard controller under both 'dashboardStatsController' and
  'newDashboardStat' so templates/caches using either name work (fixes
  $controller:ctrlreg error and unrendered {$ cpuUsage $} placeholders)
- Initialize systemStatusInfo scope with cpuUsage/ramUsage/diskUsage etc.
  defaults so overview never shows undefined when API is slow or fails
- Set defaults in cantLoadInitialData on getSystemStatus failure
2026-02-15 02:36:05 +01:00
master3395
9316a4b494 Version management: fix upgrade polling, branch dropdown, log visibility
- Fix ReferenceError: use $timeout instead of timeout, store timer for cancel
- Add v2.5.5-dev to Select Branch dropdown (remove dev filter)
- Limit branch list to latest 10 by version
- Fix Upgrade Progress Log text visibility (light text on dark bg)
2026-02-15 01:16:01 +01:00
master3395
ebcc40e8d2 Version management: dev branch uses v2.5.5-dev, show 'not up to date' when behind
- On dev (2.5.5 dev): show Latest Version 2.5.5, Latest Build dev
- Compare Current Commit vs usmannasir v2.5.5-dev latest (e75ca45...)
- Show yellow banner when behind; fork users compare to upstream dev
- Stable branch unchanged (cyberpanel.net)
2026-02-15 01:01:09 +01:00
master3395
8d7e92df2a Version management: fork-aware logic, show Current/Latest commit for forks
- Treat v2.5.5-dev as up to date; suppress upgrade banner for forks
- Always fetch and display Current Commit (local HEAD)
- For forks: fetch Latest Commit from fork's GitHub API
- Add _version_compare helper; wrap cyberpanel.net fetch in try/except
2026-02-15 00:53:32 +01:00
master3395
6f01450c4e Version Management: always show v2.5.5-dev as up to date; upgrade fixes
- versionManagment: explicitly treat 2.5.5 dev as up to date (before version compare)
- Add try/except for cyberpanel.net/version.txt fetch
- Add /base/versionManagement URL alias for versionManagment
- cyberpanel_upgrade: ols_binaries_config download, AlmaLinux mirror fix, SERVER_IP display
2026-02-15 00:27:45 +01:00
master3395
2037d6cd9f versionManagement: use usmannasir only, allow local installs, up-to-date if version higher
- versionManagment/versionManagement: detect git origin, compare only against usmannasir
- Local/fork installs: show up to date (no update nag)
- If current version > cyberpanel.net latest: show up to date
- cyberpanel_upgrade.sh: python3 -m venv for AlmaLinux 9/10, pip upgrade

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-14 23:47:37 +01:00
master3395
483d418c2a Misc: firewall, pluginHolder, mobile CSS, install utilities, static assets
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-14 23:02:47 +01:00
master3395
4392676b27 Fix Ban IP from Recent SSH Logs and Firewall Banned IPs
- plogical/firewallUtilities: fix inverted success/failure (result==1 = success); write blocked_ips.log under CyberCP/data for cyberpanel write access
- plogical/processUtilities: when root, use normalExecutioner return value so executioner reflects actual command success/failure
- firewall/firewallManager: addBannedIP uses FirewallUtilities.blockIP; ACL and all errors return JSON with error_message/error; rollback store if block fails
- baseTemplate/views: blockIPAddress uses FirewallUtilities.blockIP instead of subprocess
- baseTemplate/homePage: inline Ban IP calls /firewall/addBannedIP with ip/reason/duration; show server error in notifications
- baseTemplate/system-status.js: handle string response and show server error_message in success and error callbacks
2026-02-04 18:30:03 +01:00
master3395
ea17686790 v2.5.5-dev: FTP Create Account fix, ftp_quotas table, CP_VERSION, mailUtilities indent, deploy scripts and docs
- baseTemplate: CP_VERSION from CYBERPANEL_FULL_VERSION (2.5.5.dev) for cache busting
- FTP Create Account: inline script + polling + scope sync so details form shows after website select
- ftp.js: showFTPDetails, select2/change handlers (ftp/static, static, public/static)
- sql/create_ftp_quotas.sql + deploy-ftp-quotas-table.sh for /ftp/quotaManagement
- plogical/mailUtilities.py: indentation fix in DNS query try/except block
- deploy-ftp-create-account-fix.sh, to-do docs (FTP-QUOTAS-TABLE-FIX, V2.5.5-DEV-FIXES-AND-DEPLOY, RUNTIME-VS-REPO)
2026-02-04 02:33:32 +01:00
master3395
06d88e6481 Fix File Manager: file deletion, special chars, upload auth (Root FM)
- Fix delete for domain and Root File Manager: use sudo helper when
  lscpd/executioner fails (TOKEN/sendCommand issues)
- Add safe-delete-path and safe-move-path helpers for base64 path handling
- Add ACLManager.isPathInsideHome and isFilePathSafeForShell for path validation
- Fix upload authorization for Root File Manager (domainName empty)
- Harden outputExecutioner result checks to prevent 500 on None
- Update Bootstrap CDN for CSP compatibility
- Improve error display and a11y focus management in modals
- Resolves #1670: files with special characters can be uploaded/deleted
2026-02-04 00:55:58 +01:00
master3395
cd2eca58b0 Sync with live: baseTemplate, firewall, manageSSL, plogical/acl, ftp, websiteFunctions, wsgi
Only files that match current live server; excludes settings.py (deployment-specific), pluginHolder/pluginInstaller (repo ahead), install/cyberpanel scripts (diff), and deleted static files (still on server).
2026-02-03 19:50:17 +01:00
master3395
90ec849a21 Plugin Store: badges (NEW/Stable/Unstable/STALE), Activate/Deactivate All, categories & premium docs in help 2026-02-02 02:18:05 +01:00
master3395
63877fba66 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
bbd2e1b89f Merge origin/v2.5.5-dev - keep FTP, dashboard, notification fixes 2026-01-30 19:46:39 +01:00
master3395
27c8b48309 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
01066303f5 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
aa42be4d53 Bump version to 2.5.5-dev for v2.5.5-dev branch 2026-01-28 02:47:14 +01:00
master3395
0991a21c19 Fix dashboard insights 500s: FTPUsers filter, session/ACL safety, /proc hardening
- FTPUsers: use domain__domain__in (FK to Websites) not domain__in
- Session: use session.get('userID'), return JSON when missing
- ACL: use currentACL.get('admin',0) to avoid KeyError
- /proc: resilient parsing for net/dev, diskstats, stat
- Log errors via CyberCPLogFileWriter; generic user-facing messages
- Prevents intermittent 500s that zero out insights (Users, Sites, etc.)
2026-01-26 20:01:34 +01:00
master3395
aebe44d2bf fix: Completely remove emailMarketing template reference
Remove commented-out emailMarketing URL reference from template.
Django may still try to parse commented {% url %} tags, causing
'Reverse for emailMarketing not found' error.
2026-01-26 03:12:27 +01:00
master3395
45aa097551 fix: Remove emailMarketing references after removal from INSTALLED_APPS
- Comment out emailMarketing menu item in baseTemplate/index.html
- Skip emailMarketing in pluginHolder/views.py when listing plugins
- Prevents HTTP 500 error when template tries to reverse 'emailMarketing' URL

Fixes: HTTP 500 on /plugins/installed after emailMarketing removal
2026-01-26 03:09:58 +01:00
master3395
e99798931c fix(docker): listContainers HTML page – avoid JSON/cache mix-up
- Add GET /docker/containers for HTML page; GET /docker/listContainers redirects there
- POST /docker/listContainers returns 405 (page uses getContainerList for data)
- Remove duplicate listContainers Angular controller; fix pagination (getContainerList)
- Extend getContainerList API: totalCount, totalPages, currentPage, itemsPerPage
- Add ACTIVITY BOARD-style pagination: Prev/Next, Go to page, Showing X–Y of Z
- Update menu/templates/JS redirects to /docker/containers
- Sync dockerManager.js across app static, STATIC_ROOT, public/static
- Cache-Control on HTML response; cache-bust script ?v=4

Fixes raw JSON instead of UI when loading /docker/listContainers (cache/proxy
serving stored JSON for GET). Use /docker/containers for the page.
2026-01-25 03:56:25 +01:00
master3395
0d19b5b023 Fix AngularJS controller registration issue
- Make app variable global in system-status.js to fix [$controller:ctrlreg] errors
- Add module reference check in websiteFunctions.js for compatibility
- Ensures all controllers can register properly with the CyberCP module
- Fixes dashboard data loading and WordPress creation page functionality
2026-01-22 19:25:00 +01:00
master3395
2fb04e0b5c Fix dashboard stats loading - match v2.4.4 implementation
- Simplified getSystemStatus to return HttpResponse without explicit content_type
- Removed excessive logging and complex error handling
- Simplified systemStatusInfo controller to match v2.4.4 behavior
- Simplified pollDashboardStats to match v2.4.4 implementation
- Removed CSRF token headers from GET requests
- Fixed dashboard stats (CPU, RAM, Disk, Uptime, Users, Sites, DBs, Emails, FTP) not loading
- Matches working v2.4.4 implementation exactly
2026-01-19 21:59:02 +01:00
master3395
bd750fb872 Fix dashboard data binding - use ng-bind instead of template syntax and add ng-cloak 2026-01-19 18:16:56 +01:00
master3395
42ef510119 Add icon support for View Details button in .htaccess notification 2026-01-19 18:10:21 +01:00
master3395
c5d54344c6 Force icon display with !important and add info icon to Learn More button 2026-01-19 18:07:33 +01:00
master3395
f6216d9d3f Fix Learn More button text visibility and ensure .htaccess icon displays 2026-01-19 18:06:19 +01:00
master3395
4e274578ac Make Learn More button text prominent and fix notification links 2026-01-19 18:03:39 +01:00
master3395
f5bf81318e Add Learn More button to all notifications and improve button styling 2026-01-19 18:00:44 +01:00
master3395
565a677a5f Fix notification center text overflow - ensure all text stays inside container 2026-01-19 17:42:17 +01:00
master3395
16608ffc3b Improve notification center design - wider, better spacing, button-style links 2026-01-19 17:40:28 +01:00
master3395
97068705a2 Add notification center button and fix stat-card/activity board loading 2026-01-19 17:37:47 +01:00
master3395
0b2187e3f9 Implement 24-hour dismissal for notifications (backup, ai-scanner, htaccess) 2026-01-19 17:32:29 +01:00
master3395
d2a649251d 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
acfb372f9c 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
737c9b99c4 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
d5fd7748aa 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
352d843e77 Refactor disk and bandwidth limit calculations in getSystemStatus
- 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
2025-11-02 19:54:58 +01:00
usmannasir
d99b013d0e bug fix: quote errors 2025-09-30 15:56:12 +05:00
Master3395
de314ec1cb Add IP blocking functionality to homePage.html: Implemented a script to block IP addresses with confirmation prompts, CSRF token handling, and user notifications for success or failure. Enhanced user experience with loading states and automatic page refresh after blocking an IP. 2025-09-23 21:23:54 +02:00
Master3395
59c415ae1d Enhance CyberPanel functionality with FTP Quota and Bandwidth Management features: Added models, views, and templates for managing FTP quotas and bandwidth resets. Implemented IP blocking functionality with associated views and templates. Updated system scripts for improved repository synchronization and OS detection. Removed outdated workflow files. 2025-09-23 21:09:38 +02:00
Master3395
29bba6edf3 Update version requirements and enhance upgrade script output: Changed minimum version requirement from 1.9.4 to 2.3.4 in upgrade scripts, improved recovery log messages, and added detailed success and warning messages for the upgrade process. Enhanced user interface elements in the HTML template for better readability. 2025-09-23 20:07:30 +02:00
Master3395
27c2877490 Remove deprecated migration script and update version to 2.4 Build 4: The run_migration.py script has been deleted as it is no longer needed. The version file has been incremented to reflect the latest build. Additionally, the Django settings have been updated to include DEFAULT_AUTO_FIELD for improved primary key handling. 2025-09-23 09:55:27 +02:00
Master3395
eda57c4618 Enhance text readability and error handling: Add readability fixes CSS for improved contrast across UI elements. Update text colors in various components for better visibility. Enhance FTP error handling with user-friendly messages and improved path validation in both frontend and backend. Update HTML templates to provide clearer instructions and examples for FTP path input. 2025-09-21 22:26:18 +02:00
Master3395
9c31824445 Merge branch 'usmannasir:v2.5.5-dev' into v2.5.5-dev 2025-09-20 22:35:57 +02:00
usmannasir
565a78e662 some bug fixes to install.py 2025-09-21 01:07:38 +05:00
Master3395
e3cbe4db10 Implement Banned IPs management system: Add functionality to list, add, remove, and delete banned IPs. Update UI components for managing banned IPs, including a new tab in the firewall section and enhanced user notifications. Refactor existing code for better organization and maintainability. 2025-09-20 18:52:07 +02:00
Usman Nasir
b9d7ad8d3a Merge pull request #1508 from master3395/v2.5.5-dev
V2.5.5 dev
2025-09-19 11:20:08 +05:00
usmannasir
4f8742b1ce debian 12 2025-09-19 09:40:01 +05:00