Fleet inventory & presence
OS build, CPU, RAM, disks, SMART health, battery, network adapters, users, and Windows activation. Live online, reconnecting, and offline states with a 10-second watchdog.
Lillith is a fleet-management platform for Windows workstations that refuses to need a domain. One Rust server, a lightweight agent, and typed operations over WebSocket — no inbound ports, no shared admin passwords, no control plane in someone else's cloud.
Inventory, software, updates, remote control, files, and time — one authenticated surface, served by the same process that holds the fleet together.
OS build, CPU, RAM, disks, SMART health, battery, network adapters, users, and Windows activation. Live online, reconnecting, and offline states with a 10-second watchdog.
Upload MSI or EXE installers with automatic product detection, hash verification, per-package silent arguments, and bulk deploy to every applicable host.
Scan and install pending software, driver, and firmware updates through the Windows Update Agent — with reboot-required reporting and full QFE history.
An in-browser noVNC session over a TLS-pinned proxy, with monitor selection, clipboard sync, fullscreen, and automatic session recording.
Browse drives, upload and download with resumable transfers, check SHA-256, and edit registry values by type — all through the agent, never a shell.
Force a fleet-wide time resync, set NTP servers and time zones, repair the Windows Time service, and control services and startup types.
No domain means no GPO, so the agent owns the work. It dials out over a single WebSocket, advertises exactly what it can do, and receives only named, typed operations. There is no exec() in the protocol.
{
"type": "hello",
"protocol_version": 1,
"agent_version": "0.6.10",
"fingerprint": "9f3c…a71b",
"capabilities": [
{ "name": "system.info", "version": 1 },
{ "name": "programs.list", "version": 1 },
{ "name": "windows_update.scan", "version": 1 },
{ "name": "vnc.session", "version": 1 }
]
}
Clients behind NAT dial out. Nothing listens on Windows. The server holds one durable record of everything and one live socket per machine.
SYSTEM service + per-user tray. Enrolls by token or approval; updates itself.
Rust + Axum. WebSocket hub, job queue, SQLite, ACME/TLS, and the embedded UI.
Local or Microsoft 365 sign-in. Live updates over one authenticated socket.
A Linux host, a Rust toolchain, and an enrollment decision. No domain join, no certificate authority, no cloud dependency.
Cross-compile the Windows agent, then install the hardened systemd unit, environment file, and data directories.
$ ./deploy/deploy.sh user@server
Local accounts use Argon2id hashes. Add viewers for read-only browsing, or configure Entra ID for SSO.
$ lillithd user add --username admin
Use an enrollment token for rollouts, or let tokenless clients appear on the Pending page for one-click approval.
$ lillith-agent.exe --install --token …
Fleet tools earn their keep on the day something goes wrong. Lillith is built around recovery, visibility, and reversible actions.
Presence badges, events, jobs, pending enrollments, inventory, services, and screenshots update in place through an authenticated WebSocket. A status pill tells you when the link drops.
Deleted packages sit in a 30-day trash with Undo. Failed jobs retry with their original arguments. Restoring a backup stages it for the next boot instead of swapping the database underneath live connections.
One .tar.gz: consistent SQLite snapshot via VACUUM INTO, packages, screenshots, VNC recordings, and ACME state — with a manifest and restore README.
Jobs for offline hosts persist as queued, can be reordered, edited as JSON, given an expiry, and are marked expired instead of running hours late.
Beta-tagged hosts receive a new agent binary first. The rest of the fleet follows once every beta host reconnects on the target version.
Five selectable themes — including Windows XP Luna and Hotdog Stand — deep links into every machine tab, and per-account preferences for tabs, sections, filters, and notifications.
Per-machine Argon2 secrets, single-use enrollment tokens, CSRF protection, role-enforced viewers, one-hour default sessions, and immediate session revocation. The identity provider is the source of truth at sign-in — and only at sign-in.
Read the deployment guide, skim the protocol, or go straight to the quick start. Lillith is proprietary software, self-hosted on your hardware.