[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-1292":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":14,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":22,"readmeContent":23,"aiSummary":24,"trendingCount":15,"starSnapshotCount":15,"syncStatus":14,"lastSyncTime":25,"discoverSource":26},1292,"grdpwasm","nakagami\u002Fgrdpwasm","nakagami","A web-based RDP client",null,"HTML",305,14,263,2,0,30,47.53,"GNU General Public License v3.0",false,"master",[],"2026-06-12 04:00:08","# grdpwasm\n\nA web-based RDP client built with Go WebAssembly and [grdp](https:\u002F\u002Fgithub.com\u002Fnakagami\u002Fgrdp).\nConnect to a Windows Remote Desktop server directly from your browser — no plugins required.\n\n## Architecture\n\n```\nBrowser (WASM) ──WebSocket──► proxy (Go) ──TCP──► RDP Server\n```\n\nBecause browsers cannot open raw TCP sockets, a lightweight Go proxy server bridges\nWebSocket connections from the browser to the RDP server's TCP port.\n\n## Requirements\n\n- Go 1.24 or later\n- A reachable RDP server (Windows or any RDP-compatible host)\n\n## Build\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fnakagami\u002Fgrdpwasm.git\ncd grdpwasm\nmake all\n```\n\n`make all` produces:\n\n| Output | Description |\n|---|---|\n| `static\u002Fmain.wasm` | Go WASM binary (runs in the browser) |\n| `static\u002Fwasm_exec.js` | Go runtime JS support file |\n| `proxy\u002Fproxy` | WebSocket-to-TCP proxy + static file server |\n\n## Run\n\n```bash\nmake serve\n# or equivalently:\n.\u002Fproxy\u002Fproxy -listen :8080 -static static\n```\n\nThen open **http:\u002F\u002Flocalhost:8080** in your browser.\n\n### Proxy options\n\n| Flag | Default | Description |\n|---|---|---|\n| `-listen` | `:8080` | Address and port to listen on |\n| `-static` | `static` | Directory to serve static files from |\n\n## Usage\n\n1. Open `http:\u002F\u002Flocalhost:8080` in a browser.\n2. Fill in the connection form:\n   - **Host** — hostname or IP address of the RDP server\n   - **Port** — RDP port (default `3389`)\n   - **Domain** — Windows domain (leave blank for local accounts)\n   - **User** — username\n   - **Password** — password\n   - **Width \u002F Height** — initial desktop resolution\n3. Click **Connect**.\n4. The remote desktop appears in the canvas. Click the canvas to capture keyboard focus.\n5. Click **Disconnect** to end the session.\n\n## Keyboard & Mouse\n\nAll standard keyboard input is forwarded to the remote desktop via RDP scan codes.\nMouse move, button clicks, and scroll wheel are fully supported.\n\n> **Note:** The browser tab must have focus for keyboard events to be forwarded.\n> Click inside the canvas area if keys stop responding.\n\n## Audio\n\nRemote audio is streamed via RDPSND and played through the browser's Web Audio API\n(PCM 44100 Hz, stereo, 16-bit signed little-endian).\n\n## Security notes\n\n- The proxy accepts connections from any origin. Run it only on a trusted network\n  or add authentication before exposing it to the internet.\n- Credentials are transmitted from the browser to the proxy over WebSocket.\n  Use HTTPS\u002FWSS (put the proxy behind a TLS-terminating reverse proxy such as\n  nginx or Caddy) when accessing it over an untrusted network.\n\n## Development\n\n```\nmake wasm       # rebuild only the WASM binary\nmake proxy      # rebuild only the proxy server\nmake wasm_exec  # refresh wasm_exec.js from the local Go toolchain\nmake clean      # remove all build artifacts\n```\n\n## License\n\nGPLv3 — see [grdp LICENSE](https:\u002F\u002Fgithub.com\u002Fnakagami\u002Fgrdp\u002Fblob\u002Fmaster\u002FLICENSE).\n","grdpwasm 是一个基于 Web 的远程桌面协议（RDP）客户端，使用 Go 语言和 WebAssembly 技术构建。其核心功能是允许用户直接通过浏览器连接到 Windows 远程桌面服务器，无需安装任何插件。该项目通过 WebSocket 与轻量级的 Go 代理服务器通信，后者再将请求转发至 RDP 服务器的 TCP 端口，从而绕过了浏览器无法直接打开原始 TCP 套接字的限制。适用于需要远程访问桌面环境但又希望避免传统客户端软件安装的情景，如远程办公、技术支持等。此外，支持键盘鼠标操作及音频流传输，并且强调了在不安全网络中使用时的安全性注意事项。","2026-06-11 02:42:49","CREATED_QUERY"]