
Un client RDP basato sul web
Un client RDP basato sul web costruito con Go WebAssembly e grdp. Connettiti a un server Windows Remote Desktop direttamente dal tuo browser — nessun plugin richiesto.
Browser (WASM) ──WebSocket──► proxy (Go) ──TCP──► Server RDP
Poiché i browser non possono aprire socket TCP grezzi, un leggero server proxy Go funge da ponte tra le connessioni WebSocket del browser e la porta TCP del server RDP.
git clone https://github.com/nakagami/grdpwasm.git
cd grdpwasm
make all
make all produce:
| Output | Descrizione |
|---|---|
static/main.wasm | Binario WASM di Go (viene eseguito nel browser) |
static/wasm_exec.js | File JS di supporto per il runtime Go |
proxy/proxy | Proxy WebSocket-to-TCP + server file statici |
make serve
# o equivalentemente:
./proxy/proxy -listen :8080 -static static
Poi apri http://localhost:8080 nel browser.
| Flag | Predefinito | Descrizione |
|---|---|---|
-listen | :8080 | Indirizzo e porta su cui ascoltare |
-static | static | Directory da cui servire file statici |
http://localhost:8080 in un browser.3389)Tutti gli input standard della tastiera vengono inoltrati al desktop remoto tramite codici di scansione RDP. Il movimento del mouse, i clic dei pulsanti e la rotella di scorrimento sono completamente supportati.
Nota: La scheda del browser deve avere il focus affinché gli eventi della tastiera vengano inoltrati. Clicca all'interno dell'area del canvas se i tasti smettono di rispondere.
L'audio remoto viene trasmesso tramite RDPSND e riprodotto attraverso l'API Web Audio del browser (PCM 44100 Hz, stereo, 16-bit signed little-endian).
make wasm # ricostruisce solo il binario WASM
make proxy # ricostruisce solo il server proxy
make wasm_exec # aggiorna wasm_exec.js dal toolchain Go locale
make clean # rimuove tutti gli artefatti di build
GPLv3 — vedi licenza grdp.