All projects

Systems · macOS

macRDP

Turn a Mac into a Remote Desktop host — a native RDP server for macOS.

  • RoleDevelopment
  • Year2026
  • StackSwift · RDP protocol · X.224 / TLS / NLA · macOS Keychain
macRDP

macRDP turns a Mac into a first-class Remote Desktop host. It is a native macOS RDP server that standard, NLA-capable clients — Microsoft's mstsc, FreeRDP, and a browser-based console via the gateway — can connect to and drive.

The challenge

RDP is a Windows-centric, deeply layered protocol with sparse public documentation, and there is no native way to make a Mac behave as a proper RDP host that enterprise clients will accept. Getting there means implementing the connection sequence correctly enough to satisfy real Microsoft clients — including Network Level Authentication and TLS — not just a toy that speaks a fragment of the protocol.

The approach

I implemented the RDP connection sequence end to end, at the wire level:

  • X.224 negotiation advertising PROTOCOL_HYBRID (NLA), so security-conscious clients will connect.
  • TLS established server-side over the same socket after the plaintext X.224 exchange, using a self-signed identity generated once and stored in the macOS Keychain.
  • Screen capture streamed to the client and remote keyboard/mouse input injected back into macOS.

The outcome

Macs become reachable through exactly the same tooling and gateway infrastructure as Windows hosts — a genuinely hard, protocol-level systems project that closes the gap between a mixed-OS fleet and a single, uniform remote-access experience.

Back to all projects