@@ -289,6 +294,12 @@
+
+
+
Docker image with xrdp on port 3389. Container is ephemeral.
+
+
@@ -408,18 +420,35 @@
}
});
+ var vdiFields = document.getElementById('vdi-fields');
+
sessionType.addEventListener('change', function() {
sshFields.style.display = 'none';
rdpFields.style.display = 'none';
vncFields.style.display = 'none';
webFields.style.display = 'none';
+ vdiFields.style.display = 'none';
var v = sessionType.value;
if (v === 'ssh') sshFields.style.display = '';
else if (v === 'rdp') rdpFields.style.display = '';
else if (v === 'vnc') vncFields.style.display = '';
else if (v === 'web') webFields.style.display = '';
- // Show jump host section for all session types
- jumpSection.style.display = '';
+ else if (v === 'vdi') vdiFields.style.display = '';
+ // Hide jump hosts for VDI (local containers)
+ jumpSection.style.display = v === 'vdi' ? 'none' : '';
+ });
+
+ // Collapsible "New Ad-Hoc Session" section
+ document.getElementById('new-session-toggle').addEventListener('click', function() {
+ var fields = document.getElementById('new-session-fields');
+ var arrow = document.getElementById('new-session-arrow');
+ if (fields.style.display === 'none') {
+ fields.style.display = '';
+ arrow.innerHTML = '▼';
+ } else {
+ fields.style.display = 'none';
+ arrow.innerHTML = '▶';
+ }
});
// Show jump section on initial load (default is SSH)
@@ -594,7 +623,10 @@
btn.textContent = 'Connecting...';
var body = {};
- if (sessionType.value === 'web') {
+ if (sessionType.value === 'vdi') {
+ body.session_type = 'vdi';
+ body.container_image = document.getElementById('vdi-image').value;
+ } else if (sessionType.value === 'web') {
body.session_type = 'web';
body.url = document.getElementById('url').value;
} else if (sessionType.value === 'vnc') {