
Um cliente RDP baseado na web
Um cliente RDP baseado em web construído com Go WebAssembly e grdp. Conecte-se a um servidor Windows Remote Desktop diretamente do seu navegador — sem necessidade de plugins.
Browser (WASM) ──WebSocket──► proxy (Go) ──TCP──► RDP Server
Como os navegadores não podem abrir sockets TCP brutos, um servidor proxy Go leve faz a ponte entre as conexões WebSocket do navegador e a porta TCP do servidor RDP.
git clone https://github.com/nakagami/grdpwasm.git
cd grdpwasm
make all
make all produz:
| Saída | Descrição |
|---|---|
static/main.wasm | Binário WASM Go (executa no navegador) |
static/wasm_exec.js | Arquivo JS de suporte ao runtime Go |
proxy/proxy | Proxy WebSocket-para-TCP + servidor de arquivos estáticos |
make serve
# ou equivalente:
./proxy/proxy -listen :8080 -static static
Em seguida, abra http://localhost:8080 no seu navegador.
| Flag | Padrão | Descrição |
|---|---|---|
-listen | :8080 | Endereço e porta para escutar |
-static | static | Diretório para servir arquivos estáticos |
http://localhost:8080 em um navegador.3389)Toda entrada padrão do teclado é encaminhada para a área de trabalho remota via scan codes do RDP. Movimento do mouse, cliques de botão e rolagem são totalmente suportados.
Nota: A aba do navegador deve ter foco para que os eventos do teclado sejam encaminhados. Clique dentro da área do canvas se as teclas pararem de responder.
O áudio remoto é transmitido via RDPSND e reproduzido através da Web Audio API do navegador (PCM 44100 Hz, estéreo, 16-bit signed little-endian).
make wasm # rebuild only the WASM binary
make proxy # rebuild only the proxy server
make wasm_exec # refresh wasm_exec.js from the local Go toolchain
make clean # remove all build artifacts
GPLv3 — veja grdp LICENSE.