Adds a remote_desktop integration type and a /api/guacamole websocket route that drives guacamole-lite's ClientConnection directly (bypassing its Server class, which would otherwise attach an unfiltered upgrade listener that conflicts with the existing @fastify/websocket routes). The frontend RemoteDesktop page renders the Guacamole protocol stream via guacamole-common-js. Verified end-to-end against a real guacd and VNC server, including in an actual browser session. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BbJV5nm8KPVH1oNJYKpnoF
22 lines
639 B
TypeScript
22 lines
639 B
TypeScript
import type { IntegrationAdapter, IntegrationType } from './types.js'
|
|
import { uptimeKuma } from './uptimeKuma.js'
|
|
import { docker } from './docker.js'
|
|
import { proxmox } from './proxmox.js'
|
|
import { netbird } from './netbird.js'
|
|
import { cloudflare } from './cloudflare.js'
|
|
import { weather } from './weather.js'
|
|
import { aws } from './aws.js'
|
|
import { ssh } from './ssh.js'
|
|
import { remoteDesktop } from './remoteDesktop.js'
|
|
|
|
export const adapterRegistry: Record<IntegrationType, IntegrationAdapter> = {
|
|
uptime_kuma: uptimeKuma,
|
|
docker,
|
|
proxmox,
|
|
netbird,
|
|
cloudflare,
|
|
aws,
|
|
weather,
|
|
ssh,
|
|
remote_desktop: remoteDesktop,
|
|
}
|