Project

go-rdp

active

Browser-based RDP client — full MS-RDPBCGR spec, Go backend, WASM frontend.

Overview

go-rdp connects to Windows VMs via RDP from any browser without a native client. Go backend implementing the full MS-RDPBCGR specification as a reference implementation; WASM frontend for rendering.

How it works

The Go backend handles RDP security negotiation, capability exchange, and display updates, streaming JPEG-encoded frames to the browser over WebSocket. Keyboard and mouse events are forwarded as RDP input PDUs. TinyGo compiles the frontend renderer to WASM.

Features
🌐
No native client

RDP in a browser canvas via WebAssembly.

📋
Full spec

MS-RDPBCGR reference implementation.

Go + WASM

Docker image for one-command deployment.

Architecture
Browser xterm.js + canvas Go proxy WebSocket gateway RDP protocol WASM decoder Windows host RDP 3389 WS RDP Browser-based Remote Desktop client via Go + WASM
Posts