Skip to content

Releases: Leapswitch-Networks/cloudpe-whmcs

v3.44 - VM Console Access with Shareable Links

Choose a tag to compare

@atulmahankal-leapswitch atulmahankal-leapswitch released this 12 Jan 09:01

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.6 header 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 access
  • console_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

Choose a tag to compare

Bug Fix

Console URL Now Working

  • Added X-OpenStack-Nova-API-Version: 2.6 header 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

Pre-release

Choose a tag to compare

Bug Fixes

Console URL Retrieval

  • Fixed console URL not being returned from OpenStack
  • Added all 4 fallback methods for maximum compatibility:
    1. remote-consoles (Nova microversion 2.6+)
    2. os-getVNCConsole (legacy)
    3. getVNCConsole (alternative legacy)
    4. 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)

Choose a tag to compare

Pre-release for Testing

New Features

  • VM Console Access from client area
  • Shareable console links with expiration
  • Console share management

Testing Instructions

  1. Install via admin panel 'All Releases' or manual ZIP
  2. Test console access from client VM overview
  3. Test creating and sharing console links
  4. Verify link expiration works correctly

Note: This is a pre-release for testing only. Not for production use.

Release v3.43

Choose a tag to compare

@atulmahankal-leapswitch atulmahankal-leapswitch released this 09 Jan 11:36

Fixed

  • Client Area VM Actions: Created standalone AJAX endpoint to bypass WHMCS routing
    • v3.42 AJAX approach failed because WHMCS intercepts modop=custom requests
    • New ajax.php endpoint bypasses WHMCS routing for reliable JSON responses
    • Actions now work without page reload with real-time feedback

Added

  • modules/servers/cloudpe/ajax.php - Standalone AJAX endpoint
    • Session-based authentication
    • Service ownership validation
    • Comprehensive error handling and logging
  • WEB_ROOT template variable for AJAX endpoint URL

Changed

  • Template uses data-action attributes instead of inline onclick
  • JavaScript calls ajax.php directly instead of clientarea.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

Choose a tag to compare

@atulmahankal-leapswitch atulmahankal-leapswitch released this 09 Jan 11:07

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 requests
  • cloudpe_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

Choose a tag to compare

@atulmahankal-leapswitch atulmahankal-leapswitch released this 09 Jan 09:53

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

Changed

  • Updated all client area templates (overview.tpl, error.tpl, no_vm.tpl) to display alert messages

Installation

  1. Download cloudpe-whmcs-module-v3.41.zip
  2. Extract and upload the modules/ folder to your WHMCS installation
  3. Clear WHMCS template cache

v3.40 - Fix HTML Entity Encoding

Choose a tag to compare

@leapswitch-repos leapswitch-repos released this 30 Dec 07:18

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 &quot; HTML entities instead of actual " characters:

5B 26 71 75 6F 74 3B = [&quot;

Changes

  • Added html_entity_decode() to the sanitization function
  • Handles &quot;, &apos;, &amp;, and other HTML entities
  • Repair Data utility now properly detects and fixes these issues

How to Fix

  1. Install v3.40
  2. Go to CloudPe Manager → Create Config Group
  3. Click "Repair Data" - it will now find and fix the HTML entities
  4. Create your config group

🤖 Generated with Claude Code

v3.39 - Comprehensive Quote Sanitization & Repair Utility

Choose a tag to compare

@leapswitch-repos leapswitch-repos released this 30 Dec 07:00

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

  1. Install v3.39
  2. Go to CloudPe Manager → Create Config Group
  3. Click the "Repair Data" button
  4. It will report how many settings were fixed
  5. Try creating the config group again

🤖 Generated with Claude Code

v3.38 - Fix PHP syntax error

Choose a tag to compare

@leapswitch-repos leapswitch-repos released this 23 Dec 13:17

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.