Skip to main content

Remote Desktop Dashboard — monitor machines and connect via Microsoft Windows App

Project description

Remote Desktop Dashboard

Browser-based dashboard to monitor and connect to ATC1–ATC10 machines. Replaces the legacy Remote Desktop Connection workflow with live status, machine locking, and one-click access via the Microsoft Windows Appno .rdp file download.

Features

  • Live machine status (online/offline, users, MobaXterm, ETGui, cameras, COM tools)
  • Connect opens Windows App directly (ms-rd: / rdp:// protocol — credential prompt in Windows)
  • Machine lock: when you connect, the machine is reserved under your name; Release or auto-timeout frees it
  • WebSocket live dashboard updates
  • Windows monitoring agent on each machine

Architecture

Browser  ──Connect (protocol URI)──►  Windows App  ──RDP──►  ATC machine
   │                                        ▲
   └── REST + WebSocket ◄──►  Dashboard server ◄── agent reports
Command Purpose
remote-desktop-dashboard Start server
rdd-agent Windows monitoring agent
remote-desktop-dashboard-seed Add machines to DB

Quick start

pip install -e .
remote-desktop-dashboard-seed --file data\machines.example.json
remote-desktop-dashboard

Open http://127.0.0.1:8080/

  1. Enter Your name (used for locking).
  2. Optionally enter Windows login (DOMAIN\user) — password is entered in Windows App.
  3. Click Connect on a machine.

Windows App setup

  1. Install Windows App from Microsoft Store.
  2. Set it as the default app for Remote Desktop / rdp:// links (Windows Settings → Apps → Default apps).
  3. When the browser asks to open a link, choose Windows App and allow the protocol.

Machine locking

Action Behavior
Connect Locks machine under your name, opens Windows App
Release Frees the machine for others
Heartbeat Sent every 60s while you hold the lock
Auto-release After ~7 min without heartbeat (RDD_LOCK_TIMEOUT_SECONDS + grace)
Leave page Sends release beacon for your locks

If someone else holds the lock, Connect is disabled and you see In use: name.

Configuration

Variable Default Description
RDD_DATABASE_URL sqlite:///./remote_desktop_dashboard.db Database
RDD_HOST / RDD_PORT 0.0.0.0 / 8080 Server bind
RDD_LOCK_TIMEOUT_SECONDS 300 Lock idle timeout
RDD_USE_WINDOWS_APP true Prefer ms-rd: over rdp://
RDD_RDP_PORT 3389 RDP port
RDD_RDP_DEFAULT_DOMAIN (empty) Prepended to username
RDD_MACHINE_NAME Agent: ATC1…ATC10
RDD_SERVER_URL http://127.0.0.1:8080 Agent target

Insert machines (ATC1–ATC10)

copy data\machines.example.json data\machines.json
# edit hostnames and IPs
remote-desktop-dashboard-seed --file data\machines.json

Agent on each ATC machine

set RDD_MACHINE_NAME=ATC1
set RDD_SERVER_URL=http://YOUR_SERVER:8080
rdd-agent --interval 30

API (connect & lock)

POST /api/v1/machines/ATC1/connect
{"operator": "Alice", "rdp_username": "DOMAIN\\alice", "use_hostname": true}

POST /api/v1/machines/ATC1/lock/heartbeat
{"operator": "Alice"}

POST /api/v1/machines/ATC1/lock/release
{"operator": "Alice"}

Response includes launch_uri (Windows App) and fallback_uri (rdp://).

Publish to PyPI

pip install build twine
python -m build
python -m twine upload dist/*
pip install remote-desktop-dashboard
remote-desktop-dashboard

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

remote_desktop_dashboard-2.0.4.tar.gz (25.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

remote_desktop_dashboard-2.0.4-py3-none-any.whl (34.0 kB view details)

Uploaded Python 3

File details

Details for the file remote_desktop_dashboard-2.0.4.tar.gz.

File metadata

  • Download URL: remote_desktop_dashboard-2.0.4.tar.gz
  • Upload date:
  • Size: 25.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.8

File hashes

Hashes for remote_desktop_dashboard-2.0.4.tar.gz
Algorithm Hash digest
SHA256 d2847cb6fef3ffb5979cdafeb74f17defb85254f6e10b799acdee69c03261628
MD5 a580a19d9764b5e1b07b9680f83be12c
BLAKE2b-256 5b53a10cc167d4c32a4bf7b0c94fef25d7cda35b683973f4b1748abca742e5f8

See more details on using hashes here.

File details

Details for the file remote_desktop_dashboard-2.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for remote_desktop_dashboard-2.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 641cf00a5b0e44b07808af67bf91618600fd808c45fbd0fe3a740c13503a56e9
MD5 9d82a9efd79ee09bcb5e4dbc46386663
BLAKE2b-256 65dd1e168d1cd3ae73569dd4ed2cedfa16f4d4cd53b1e3afe7b6593a1d0ab9b0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page