How jhone-jpl/unydesk works
UnyDesk is a hybrid remote-desktop platform: administrators manage users, devices, and deployment through a web console backed by a management API, while the cross-platform client provides remote sessions. The client’s server-side session handling exposes display, input, audio, and clipboard capabilities; shared networking supports rendezvous and relay infrastructure. The README documents PostgreSQL, Redis, hbbs, and hbbr, but the supplied excerpts do not establish detailed API-to-store or client-to-infrastructure call paths. Those connections are shown only where documented, and platform-specific internals are summarized rather than expanded.
Main entry points: index.ts API entry · App.tsx Console routes · core_main.rs Client core · server.rs Session server
Components 23
Web console
- Console routes
unydesk-console/src/App.tsx - Console authentication
unydesk-console/src/auth.tsx - Management pages
unydesk-console/src/pages/DevicesPage.tsx - Remote page
unydesk-console/src/pages/RemotePage.tsx - API client
unydesk-console/src/api.ts
Management API
- API entry
unydesk-api/src/index.ts - Authentication routes
unydesk-api/src/routes/auth.ts - User routes
unydesk-api/src/routes/users.ts - Device routes
unydesk-api/src/routes/devices.ts - Agent routes
unydesk-api/src/routes/agent.ts - PostgreSQL
unydesk-api/src/db/pool.ts - Redis
unydesk-api/src/db/redis.ts
Remote client
- Desktop client
unydesk-client/src/main.rs - Client core
unydesk-client/src/core_main.rs - Client UI
unydesk-client/src/ui.rs
Session services
- Session server
unydesk-client/src/server.rs - Display and video
unydesk-client/src/server/video_service.rs - Remote input
unydesk-client/src/server/input_service.rs - Clipboard service
unydesk-client/src/server/clipboard_service.rs
Connection infrastructure
- Shared networking
unydesk-client/libs/hbb_common/src/lib.rs - ID / rendezvous
- Relay server
Other components
- Administrator
Connections 24
- Administrator → Console routes: uses
- Console routes → Console authentication: checks auth
- Console routes → Management pages: routes to
- Console routes → Remote page: routes to
- Console authentication → API client: requests API
- Management pages → API client: requests API
- Remote page → API client: requests API
- API client → API entry: HTTP requests
- API entry → Authentication routes: dispatches
- API entry → User routes: dispatches
- API entry → Device routes: dispatches
- API entry → Agent routes: dispatches
- Authentication routes → PostgreSQL: reads/writes
- User routes → PostgreSQL: reads/writes
- Device routes → PostgreSQL: reads/writes
- Desktop client → Client core: starts
- Client core → Client UI: starts UI
- Client core → Session server: runs sessions
- Session server → Display and video: dispatches
- Session server → Remote input: dispatches
- Session server → Clipboard service: dispatches
- Client core → Shared networking: uses networking
- Shared networking → ID / rendezvous: connects
- Shared networking → Relay server: relays traffic