Repository navigation
Releases: Leapswitch-Networks/cloudpe-whmcs
Release list
v3.44 - VM Console Access with Shareable Links
New Features
VM Console Access
- View Boot Log: Display VM boot logs with configurable line count
- Share Console Access: Create time-limited shareable console links (1h to 30d)
- Manage Shares: List, view usage statistics, and revoke share tokens
- Dark-themed UI: Standalone shared console page with fullscreen support
- Token Security: SHA-256 hashing, constant-time comparison, rate limiting
Bug Fixes
Console URL Retrieval
- Full OpenStack compatibility with 4 fallback methods:
- remote-consoles (Nova microversion 2.6+)
- os-getVNCConsole (legacy)
- getVNCConsole (alternative legacy)
- os-getSPICEConsole (SPICE fallback)
- Added
X-OpenStack-Nova-API-Version: 2.6header for modern OpenStack - Better error messages showing which console methods failed
Security Improvements
- Shared console uses fullscreen mode instead of opening URL in new tab
- Prevents exposure of raw OpenStack console URLs
- Enforces share token expiry policy
New Files
console_share.php- Standalone page for shared console accessconsole_share_api.php- Public API for token validation
Installation
Download cloudpe-whmcs-module-v3.44.zip and extract to your WHMCS root directory.
v3.44-beta.3 - Nova Microversion Header Fix
Bug Fix
Console URL Now Working
- Added
X-OpenStack-Nova-API-Version: 2.6header to the remote-consoles request - This fixes the 404 error when trying to open VNC console on modern OpenStack deployments
Technical Details
The remote-consoles endpoint (Nova microversion 2.6+) requires the microversion header to be present. Without it, older OpenStack versions return 404. This fix ensures the header is always sent.
Installation
Download cloudpe-whmcs-module-v3.44-beta.3.zip and extract to your WHMCS root directory.
This is a pre-release version for testing.
v3.44-beta.2 - Console URL Fix
Bug Fixes
Console URL Retrieval
- Fixed console URL not being returned from OpenStack
- Added all 4 fallback methods for maximum compatibility:
remote-consoles(Nova microversion 2.6+)os-getVNCConsole(legacy)getVNCConsole(alternative legacy)os-getSPICEConsole(SPICE fallback)
- Better error messages showing which console methods failed
Changes Since v3.44-beta.1
- Enhanced console URL retrieval logic in
CloudPeAPI.php - Updated error handling to collect and report all failed methods
Installation
Download cloudpe-whmcs-module-v3.44-beta.2.zip and extract to your WHMCS root directory.
This is a pre-release version for testing.
v3.44 Beta 1 - VM Console Access (Testing)
Pre-release for Testing
New Features
- VM Console Access from client area
- Shareable console links with expiration
- Console share management
Testing Instructions
- Install via admin panel 'All Releases' or manual ZIP
- Test console access from client VM overview
- Test creating and sharing console links
- Verify link expiration works correctly
Note: This is a pre-release for testing only. Not for production use.
Release v3.43
Fixed
- Client Area VM Actions: Created standalone AJAX endpoint to bypass WHMCS routing
- v3.42 AJAX approach failed because WHMCS intercepts
modop=customrequests - New
ajax.phpendpoint bypasses WHMCS routing for reliable JSON responses - Actions now work without page reload with real-time feedback
- v3.42 AJAX approach failed because WHMCS intercepts
Added
modules/servers/cloudpe/ajax.php- Standalone AJAX endpoint- Session-based authentication
- Service ownership validation
- Comprehensive error handling and logging
WEB_ROOTtemplate variable for AJAX endpoint URL
Changed
- Template uses
data-actionattributes instead of inline onclick - JavaScript calls
ajax.phpdirectly instead ofclientarea.php?modop=custom - VNC Console opens in sized popup window (1024x768)
Security
- AJAX endpoint validates client session before processing
- Service ownership check prevents unauthorized access
- Active service status verification
Release v3.42
Fixed
- Client Area VM Actions (AJAX): Replaced session-based feedback with AJAX-based solution
- Session-based approach from v3.41 didn't work due to WHMCS redirect clearing session variables
- Actions now work without page reload with real-time success/error messages
- VNC Console opens in new window instead of redirect
Added
cloudpe_isAjax()helper to detect AJAX requestscloudpe_jsonResponse()helper for JSON responses- JavaScript AJAX handlers in overview.tpl
- Browser console logging for debugging (F12 → Console)
- Loading states and button disable during operations
Changed
- Template buttons changed from
<a href>links to<button onclick>elements - All 5 client functions now return JSON for AJAX requests
v3.41 - Fix Client Area VM Actions
Fixed
- Client Area VM Actions: Fixed silent failure of VM actions (Stop, Restart, VNC Console, Reset Password)
- Fixed method name mismatch:
getVncConsole()→getConsoleUrl()(was causing fatal PHP error) - Fixed return value handling:
$result['console']['url']→$result['url'] - Added session-based user feedback for all client area actions
- Users now see success/error messages instead of silent failures
- Fixed method name mismatch:
Changed
- Updated all client area templates (overview.tpl, error.tpl, no_vm.tpl) to display alert messages
Installation
- Download
cloudpe-whmcs-module-v3.41.zip - Extract and upload the
modules/folder to your WHMCS installation - Clear WHMCS template cache
v3.40 - Fix HTML Entity Encoding
Fixed
The actual root cause of the "no options added" error has been identified and fixed:
The hex dump revealed that quotes were stored as " HTML entities instead of actual " characters:
5B 26 71 75 6F 74 3B = ["
Changes
- Added
html_entity_decode()to the sanitization function - Handles
",',&, and other HTML entities - Repair Data utility now properly detects and fixes these issues
How to Fix
- Install v3.40
- Go to CloudPe Manager → Create Config Group
- Click "Repair Data" - it will now find and fix the HTML entities
- Create your config group
🤖 Generated with Claude Code
v3.39 - Comprehensive Quote Sanitization & Repair Utility
What's New
Added
- Repair Data Utility: Added "Repair Data" button on Create Config Group page to fix corrupted database entries
- Comprehensive Quote Sanitization: Extended sanitization to handle 20+ Unicode quote variants including:
- Curly/smart quotes (U+201C, U+201D, U+2018, U+2019)
- Double low-9 and high-reversed quotes (U+201E, U+201F)
- Prime symbols (U+2032, U+2033, U+2035, U+2036)
- Fullwidth quotes (U+FF02, U+FF07)
- Angle quotation marks (U+00AB, U+00BB, U+2039, U+203A)
- Hex Dump Debug: Debug output now includes hex dump of first 20 bytes to identify exact problematic characters
Fixed
- Persistent Curly Quote Issue: Previous fix only handled 4 quote variants; now handles all common Unicode quote characters
- Database repair utility can fix existing corrupted data without manual re-entry
How to Fix Corrupted Data
- Install v3.39
- Go to CloudPe Manager → Create Config Group
- Click the "Repair Data" button
- It will report how many settings were fixed
- Try creating the config group again
🤖 Generated with Claude Code
v3.38 - Fix PHP syntax error
Fixed
- PHP Parse Error: v3.37 contained literal Unicode curly quote characters in the PHP source code, causing syntax errors
Solution
Replaced literal Unicode characters with hex escape sequences:
// Before (caused parse error):
str_replace(['"', '"'], ...)
// After (works correctly):
str_replace(["\xE2\x80\x9C", "\xE2\x80\x9D"], ...)This version correctly sanitizes smart/curly quotes in saved settings without causing PHP parse errors.