Commit Graph

5459 Commits

Author SHA1 Message Date
master3395
b47536555c README: use usmannasir repo URLs instead of master3395 2026-02-15 01:19:33 +01:00
Master3395
5856373b5a Merge pull request #1689 from master3395/v2.5.5-dev
V2.5.5 dev
2026-02-15 01:17:44 +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
4584323d7f Merge pull request #1688 from master3395/v2.5.5-dev
Version management: fork-aware logic, show Current/Latest commit for …
2026-02-15 00:54:29 +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
1a59f1f271 Merge pull request #1687 from master3395/v2.5.5-dev
V2.5.5 dev
2026-02-15 00:39:34 +01:00
master3395
4ce4ce4ea2 README: update date to January 15, 2026 2026-02-15 00:36:24 +01:00
master3395
12549620fc README: add v2.5.5-dev upgrade commands; preUpgrade pass -b; add --mariadb flag
- README: Upgrade to v2.5.5-dev section with non-interactive commands
- preUpgrade.sh: pass -b branch to cyberpanel_upgrade.sh (fixes branch not used)
- cyberpanel_upgrade.sh: add --mariadb for MariaDB 10.11 non-interactive
2026-02-15 00:34:49 +01:00
Master3395
e94748f621 Merge pull request #1686 from master3395/v2.5.5-dev
Version Management: always show v2.5.5-dev as up to date; upgrade fixes
2026-02-15 00:29:33 +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
c561871e8b Merge pull request #1685 from master3395/v2.5.5-dev
V2.5.5 dev
2026-02-15 00:04:13 +01:00
master3395
db213d0a44 Remove to-do folder from repository 2026-02-15 00:03:28 +01:00
master3395
8314694daf Add panelAccess plugin, pureftpd quota fix, and to-do docs
- panelAccess: plugin for panel access settings and OLS proxy
- fix-pureftpd-quota-once.sh: one-time quota fix script
- to-do: firewall banned IPs, panel access store, reverse proxy CSRF docs
2026-02-15 00:02:40 +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
a29cea8dbd Merge pull request #1684 from master3395/v2.5.5-dev
V2.5.5 dev
2026-02-14 23:08:15 +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
dc666c44b9 Remove simple_install.sh; use official install.sh one-liner instead
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-14 22:57:39 +01:00
master3395
9dab50b535 README: Add links to Remi and Ondrej third-party PHP repositories
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-14 22:51:34 +01:00
master3395
2294a8d5db README: Update PHP support (8.5 stable, 8.4 recommended; 8.3/8.2/8.1 security-only)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-14 22:50:20 +01:00
master3395
3757357f84 README: Sort supported platforms table alphabetically
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-14 22:43:01 +01:00
master3395
d9973a8e5a AlmaLinux 8/9/10 and Ubuntu 22/24 full support
- cyberpanel.sh: Add Ubuntu 24.04 detection, update supported-OS message
- simple_install.sh: Add Ubuntu 24.04, AlmaLinux 10; use dnf for Alma 8
- cyberpanel_utility.sh: Add Ubuntu 24.04 to OS detection and supported list
- CPScripts/mailscanner*.sh: Add Ubuntu 24.04, AlmaLinux 9/10 to supported list
- serverStatus/views.py: Prefer dnf.conf for package locks on dnf-based systems
- README.md: Recommend AlmaLinux; add aarch64 note
- Remove .DS_Store from repo

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-14 22:39:04 +01:00
Master3395
bc5d30482b Merge pull request #1683 from master3395/v2.5.5-dev
Fix phpMyAdmin logout: proper SignonSession destruction (issue #1680)
2026-02-14 22:23:25 +01:00
master3395
23d5399e1b Fix phpMyAdmin logout: proper SignonSession destruction (issue #1680)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-14 22:20:40 +01:00
Master3395
968c2c65f7 Merge pull request #1681 from master3395/v2.5.5-dev
V2.5.5 dev
2026-02-14 22:13:49 +01:00
master3395
47aa98b056 Merge v2.4.4 updates: OLS v2.4.4 binaries, module config, Auto-SSL injection, OLS test suite
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-14 22:12:27 +01:00
master3395
8bfd24b0b9 Patch installer to use system Python when archive is old; add AWS/cloud port 8090/7080 hints 2026-02-05 00:32:26 +01:00
master3395
4fec86f80c Install logs: show paths at start and on completion; dns-one path fix; shell/composer fixes; doc install log locations 2026-02-04 23:58:43 +01:00
master3395
48f55af32d Clear temp install folder on run; harden Python path in install_utils; cache-bust archive download 2026-02-04 23:38:15 +01:00
master3395
131ae61b80 MariaDB: only add dnf exclude when installed version matches chosen; allow upgrade to 11.8 2026-02-04 23:23:32 +01:00
master3395
566d1d2066 Install/upgrade fixes: stdin for pipe, branch archive, Python/composer paths, MariaDB version, web server order; FTP quota and docs 2026-02-04 23:19:22 +01:00
master3395
fe3f3ff1ca Resolve /usr/local/CyberPanel/bin/python on install, upgrade, downgrade
Install:
- install.py: in preFlightsChecks.call(), replace missing CyberPanel python
  with /usr/bin/python3 and force shell=True so any code path (including
  old/cached script) never hits FileNotFoundError.

Upgrade:
- cyberpanel_upgrade.sh: resolve CP_PYTHON (CyberPanel, CyberCP, python3)
  before running upgrade.py and configure.py; use it for both.
- plogical/upgrade.py: add _python_for_manage(), use it in GeneralMigrations,
  collectstatic, and upgradePip so migrations/collectstatic work when
  /usr/local/CyberPanel/bin/python is missing.
2026-02-04 22:46:48 +01:00
master3395
527938cd21 Fix FileNotFoundError for /usr/local/CyberPanel/bin/python on fresh install
- install.py: only use system Python or /usr/local/CyberCP/bin/python for migrations;
  never add /usr/local/CyberPanel paths to candidate list (often missing on fresh install)
- install_utils.py: if command uses /usr/local/CyberPanel/bin/python and it does not
  exist, substitute /usr/bin/python3 and force shell=True so old/cached install.py
  also works without failing
2026-02-04 22:26:42 +01:00
master3395
d32a50c774 Install: non-interactive SSH keygen + robust Python for migrations
- install_default_keys: use shell rm -f and ssh-keygen with stdin=y for no prompt
- Migrations: try system Python (/usr/bin/python3) first, then venv paths
- Use absolute path /usr/local/CyberCP/manage.py for makemigrations/migrate/collectstatic
- Avoid FileNotFoundError for missing /usr/local/CyberPanel/bin/python on fresh install
2026-02-04 22:13:06 +01:00
master3395
aed08437c1 Fix dev branch detection: use curl -L so GitHub archive 302 redirect is followed and v2.5.5-dev is recognized as available 2026-02-04 22:05:16 +01:00
master3395
c7ec9af886 Fix interactive menu when script is piped (curl | bash): redirect stdin from /dev/tty so Force Reinstall and other prompts read from terminal 2026-02-04 21:54:23 +01:00
master3395
836f6c370d Fix makemigrations FileNotFoundError: skip broken venv symlinks when choosing Python
- Resolve symlinks and require executable file before using a path
- Skip paths that are broken symlinks or not executable (e.g. /usr/local/CyberPanel -> CyberCP when venv missing)
- Catch FileNotFoundError/OSError from subprocess when testing --version
- Ensures system python3 is used when venv paths are invalid
2026-02-04 21:47:38 +01:00
master3395
307be04335 Clear MariaDB-server from dnf exclude before install; dev branch archive URL
- cyberpanel.sh: clear MariaDB-server* from dnf.conf/yum.conf before running installer so MariaDB-server can be installed (fixes exclude filtering on retry/partial install)
- cyberpanel.sh: try refs/heads/v2.5.5-dev.tar.gz for branch archive; remove installer MariaDB patch; softer chmod message
- install.py: sed fallback to strip MariaDB-server from dnf exclude if Python logic fails
2026-02-04 21:42:40 +01:00
master3395
9ebb28ea9f Install fixes: venv creation, composer.sh download, SSH key non-interactive, ensure 8090/7080 accessible
- install.py: create venv at /usr/local/CyberCP if missing; add system python3 fallback for migrations; download composer.sh before chmod; remove existing SSH keys before ssh-keygen
- installCyberPanel.py: remove MariaDB-server from dnf exclude before install
- cyberpanel.sh: ensure ports 8090 and 7080 listening after install; final status shows port accessibility
- backupUtilities.py: remove existing cyberpanel keys before ssh-keygen to avoid Overwrite prompt
2026-02-04 21:33:26 +01:00
master3395
118e342f28 Add MariaDB 10.11 option; fix install/upgrade robustness
- install.py: allow --mariadb-version 10.11 (with 11.8, 12.1); use --nobest for 10.11/11.8 on RHEL; accept existing 10.x
- cyberpanel.sh: prompt and --mariadb-version accept 10.11; only pass --mariadb-version if install.py supports it; fix MySQLdb check (no __version__)
- cyberpanel_upgrade.sh: accept 10.11 in --mariadb-version and prompt; Check_Root allow uid 0 when SUDO set; Branch_Check avoid double v (vv2.5.5-dev); early root check
2026-02-04 21:15:10 +01:00
master3395
c685966fa3 Install: MariaDB prompt first, non-interactive SSH key, AlmaLinux 9 MariaDB 11.8
- cyberpanel.sh: ask MariaDB version (11.8/12.1) first even in --auto; add --mariadb-version
- install/install.py: remove existing SSH key before ssh-keygen to avoid Overwrite (y/n) prompt
- install/installCyberPanel.py: use MariaDB 11.8 and --nobest for AlmaLinux 9 / cent8 to fix client dependency
2026-02-04 20:31:28 +01:00
Master3395
cb588a2a65 Merge pull request #1673 from master3395/v2.5.5-dev
V2.5.5 dev
2026-02-04 19:27:30 +01:00
master3395
71ab027189 Add missing install files from stable for v2.5.5-dev install
- install/installCyberPanel.py: required by venvsetup.sh sed commands
- install/env_generator.py: parity with stable/v2.4.4

No other merges; install paths that run venvsetup.sh will no longer fail.
2026-02-04 18:59:38 +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
ba087190eb Fix Pure-FTPd quota syntax and service start; improve services/API error reporting
- Pure-FTPd: use Quota maxfiles:maxsize (100000:100000) instead of invalid 'Quota yes'
  in install templates and enableFTPQuota (website.py) so daemon starts
- serverStatus: run systemctl as root, return detailed error on service start failure
- FTP quota UI: better error display and feedback for enable quota action
- Doc: to-do/PURE-FTPD-QUOTA-SYNTAX-FIX.md
2026-02-04 03:00:57 +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
4d5d70be7a Email Limits fix: controller registration, getEmailsForDomain permission, deploy script
- mailServer: inline EmailLimitsNew controller in footer_scripts, getEmailsForDomain allows emailForwarding
- mailServer.js: EmailLimitsNew guard for $scope.emails, remove console.log
- emailLimitsController.js: add standalone controller, fix PNotify check
- Add deploy-email-limits-fix.sh and EMAIL-LIMITS-DEPLOY-CHECKLIST.md
- Sync mailServer static files in both mailServer/static and static/
2026-02-04 02:19:28 +01:00
Master3395
fa7fde7950 Merge pull request #1672 from master3395/v2.5.5-dev
SSL renewal improvements, Cron Management fixes, and randomized renew…
2026-02-04 01:22:45 +01:00
master3395
4037c95e34 SSL renewal improvements, Cron Management fixes, and randomized renewal schedule
- Randomize SSL renewal cron: day (0-6), hour, minute to spread Let's Encrypt load
- Add SSL renewal schedule display on website overview (date + time)
- Use world-readable ssl_renewal_schedule.conf (web server can't read root crontab)
- renew.py updates config file on each run for web UI display
- Display format: full date (e.g. February 05, 2026 12:00 AM)
- Cron Management page: fix button/text visibility (contrast)
- launchChild: add renewal schedule to SSL section
2026-02-04 01:21:59 +01:00
Master3395
814226f6d8 Merge pull request #1671 from master3395/v2.5.5-dev
V2.5.5 dev
2026-02-04 00:58:12 +01:00