Project

go-rdp

active

Browser-based RDP client with a Go backend and WASM frontend.

Overview

go-rdp connects to Windows VMs via RDP from any browser without a native client. The Go backend implements the RDP protocol and the WASM frontend handles 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.

📋
Protocol coverage

Security negotiation, capability exchange, input and display updates.

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