1 Commits

Author SHA1 Message Date
Luke S Thompson
81e169995b v1.2.19: Remove TigerVNC (Java) 2025-10-24 01:04:08 +11:00
7 changed files with 10 additions and 91 deletions

View File

@@ -5,6 +5,11 @@ All notable changes to Proxmox VE for WHMCS will be documented in this file.
https://github.com/The-Network-Crew/Proxmox-VE-for-WHMCS/milestones
## [1.2.19] - 2025-10-24 - _"Remove TigerVNC (Java)"_
### 💅 Polish
- Removed TigerVNC (Java): Retained HTML5 console
## [1.2.18] - 2025-10-19 - _"Client Area detail" v2_
### 💅 Polish
@@ -44,7 +49,7 @@ https://github.com/The-Network-Crew/Proxmox-VE-for-WHMCS/milestones
### 💅 Polish
- NIC #2: Split info (MAC, link status, etc) to multiple lines
- SQL Expansion: Prepare for Nodes/ISOs/TPLs/Logs/SSH Keys/etc
- SQL Expansion: Prepare for Nodes/ISOs/TPLs/Logs/Keys/etc (#127)
- Deactivation Keeps Data: No table drops on de-activate (#160)
### 🐛 Bug Fix

View File

@@ -166,7 +166,7 @@ Once you have it configured, clicking noVNC in Client Area provides direct link
> Load noVNC with `logging=debug` added to the query string, ie. `vnc.html?logging=debug`<br>
> _Or in Settings change Logging to debug-level, then open JS Console before reloading noVNC._
>
> Typically, 401 No Ticket from PVE (1006 Connection Closed via noVNC) is due to cross-domain attempts being made, ie. WHMCS on domain1.com and PVE on domain2.com. You must use subdomains on the same Domain, with PTR, etc - else it won't work.
> Typically, 401 No Ticket from PVE (1006 Connection Closed via noVNC) is due to cross-domain attempts being made, ie. WHMCS on domain1.com and PVE on domain2.com. You must use subdomains on the same Domain, with PTR, etc - else it won't work. **Please take the time to read this documentation.**
## 🌐 3. Networking: IPv4 Pools, IPv6, vmbr/SDN
@@ -380,17 +380,14 @@ There are new features deployed into PVE upstream which are exciting and may be
| License | Dependency | In-use Ver. | Link to Repository, etc.|
|---------|------------|-------------|-------------------------|
| **(MIT)** | PHP Client for PVE2 API | **2022/Dec/05** | https://github.com/CpuID/pve2-api-php-client |
| **(GPLv2)** | TigerVNC VncViewer.jar | **v1.15.0** | https://sourceforge.net/projects/tigervnc/files/stable/ |
| **(MPLv2)** | noVNC HTML5 Viewer | **v1.6.0** | https://github.com/novnc/noVNC/ |
| **(GPLv3)** | SPICE HTML5 Viewer | **v0.3** | https://gitlab.freedesktop.org/spice/spice-html5/ |
| **(MIT)** | IPv4/SN Validation | **August 2012** | https://github.com/tapmodo/php-ipv4/ |
# 📄 DIY: Documentation & Resources
| Developer | Link to Documentation, etc. |
|-----------|-----------------------------|
| **(PVE API)** | https://pve.proxmox.com/pve-docs/api-viewer/ |
| **(TigerVNC)** | https://github.com/TigerVNC/tigervnc/wiki |
| **(PVE)** | https://pve.proxmox.com/pve-docs/api-viewer/ |
| **(noVNC)** | https://github.com/novnc/noVNC/wiki |
| **(WHMCS)** | https://developers.whmcs.com & https://classdocs.whmcs.com |
| **(psABIs)** | https://gitlab.com/x86-psABIs/x86-64-ABI/-/jobs/artifacts/master/raw/x86-64-ABI/abi.pdf?job=build |

View File

@@ -45,7 +45,7 @@ function pvewhmcs_config() {
// VERSION: also stored in repo/version (for update-available checker)
function pvewhmcs_version(){
return "1.2.18";
return "1.2.19";
}
// WHMCS MODULE: ACTIVATION of the ADDON MODULE

View File

@@ -883,7 +883,6 @@ function pvewhmcs_ClientAreaCustomButtonArray() {
"<i class='fa fa-2x fa-chart-bar'></i> Statistics" => "vmStat",
"<i class='fa fa-2x fa-search'></i> Check Status" => "vmCheck",
"<img src='./modules/servers/pvewhmcs/img/novnc.png'/> noVNC (HTML5)" => "noVNC",
"<img src='./modules/servers/pvewhmcs/img/tigervnc.png'/> TigerVNC (Java)" => "javaVNC",
);
return $buttonarray;
}
@@ -1171,44 +1170,6 @@ function pvewhmcs_SPICE($params) {
}
}
// VNC: Console access to VM/CT via TigerVNC
function pvewhmcs_javaVNC($params){
// Check if VNC Secret is configured in Module Config, fail early if not. (#27)
if (strlen(Capsule::table('mod_pvewhmcs')->where('id', '1')->value('vnc_secret'))<15) {
throw new Exception("PVEWHMCS Error: VNC Secret in Module Config either not set or not long enough. Recommend 20+ characters for security.");
}
// Get login credentials then make the Proxmox connection attempt.
$serverip = $params["serverip"];
$serverusername = 'vnc';
$serverpassword = Capsule::table('mod_pvewhmcs')->where('id', '1')->value('vnc_secret');
$proxmox = new PVE2_API($serverip, $serverusername, "pve", $serverpassword);
if ($proxmox->login()) {
// Get first node name
$nodes = $proxmox->get_node_list();
$first_node = $nodes[0];
unset($nodes);
// Early prep work
$guest = Capsule::table('mod_pvewhmcs_vms')->where('id','=',$params['serviceid'])->get()[0] ;
$vncparams = array();
$vm_vncproxy = $proxmox->post('/nodes/'.$first_node.'/'.$guest->vtype.'/'.$guest->vmid .'/vncproxy', $vncparams) ;
// Java-specific params
$javaVNCparams = array() ;
$javaVNCparams[0] = $serverip ;
$javaVNCparams[1] = str_replace("\n","|",$vm_vncproxy['cert']) ;
$javaVNCparams[2] = $vm_vncproxy['port'] ;
$javaVNCparams[3] = $vm_vncproxy['user'] ;
$javaVNCparams[4] = $vm_vncproxy['ticket'] ;
// URL preparation to deliver in hyperlink message
$url = './modules/servers/pvewhmcs/tigervnc.php?'.http_build_query($javaVNCparams).'' ;
$vncreply = '<center style="background-color: green;"><strong>Console (TigerVNC) successfully prepared.<br><a href="'.$url.'" target="_blanK" style="color: Khaki;"><u>Click here</u></a> to launch TigerVNC.</strong></center>' ;
// echo '<script>window.open("modules/servers/pvewhmcs/tigervnc.php?'.http_build_query($javaVNCparams).'","VNC","location=0,toolbar=0,menubar=0,scrollbars=1,resizable=1,width=802,height=624")</script>';
return $vncreply;
} else {
$vncreply = 'Failed to prepare TigerVNC. Please contact Technical Support.';
return $vncreply;
}
}
// PVE API FUNCTION, CLIENT/ADMIN: Start the VM/CT
function pvewhmcs_vmStart($params) {
// Gather access credentials for PVE, as these are no longer passed for Client Area

View File

@@ -1,44 +0,0 @@
/*
Proxmox VE for WHMCS - Addon/Server Modules for WHMCS (& PVE)
https://github.com/The-Network-Crew/Proxmox-VE-for-WHMCS/
File: /modules/servers/pvewhmcs/tigervnc.php (VNC)
Copyright (C) The Network Crew Pty Ltd (TNC) & Co.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see https://www.gnu.org/licenses
*/
<html>
<head>
<title>Serial Console</title>
</head>
<body>
<script>
PVE_vnc_console_event = function(appletid, action, err) {
};
</script>
<?php
$applet='<APPLET id=\'pveKVMConsole-1018-vncapp\' CODE=\'com.tigervnc.vncviewer.VncViewer\' ARCHIVE=\'VncViewer.jar\' WIDTH=100% HEIGHT=100%>
<param value=\''.$_GET['0'].'\' name=\'host\'>
<param value=\''.$_GET['1'].'\' name=\'PVECert\'>
<param value=\''.$_GET['2'].'\' name=\'Port\'>
<param name=\'USERNAME\' value=\''.$_GET['3'].'\'>
<param name=\'PASSWORD\' value=\''.$_GET['4'].'\'>
</APPLET>';
?>
<?php echo $applet ; ?>
</body>
</html>

View File

@@ -1 +1 @@
1.2.18
1.2.19