4 ms·
A web-based RDP client built with Go WebAssembly and grdp
- jqpabc123 6mo agoInteresting from a technical perspective but with native RDP clients readily available on just about every platform, I don't see the need for it.
- boredishBoi 6mo agoNot many good MFA options for native RDP/RDG. Putting it in the browser lets you wrap the whole thing with OAUTH/passkeys etc
- hnlmorg 6mo agoHaving just implemented OAUTH into a Go app this week, I can assure you that it’s surprising easy to do so without making your entire application a website.
- boredishBoi 6mo agoI don’t disagree but none of the native RDP clients support oauth for non azure computers.
- le-mark 6mo agoWhen it’s in a browser you don’t need to install anything on the local machine. I used to use Apache guacamole to access my machine at home from work when I was stuck in a cube all day. https://guacamole.apache.org/ https://guacamole.apache.org/
- pixel_popping 6mo agoBrowsers are sandboxes, your native client often isn't, there is definitely a huge advantage, portability and embeddability as well, it's also simpler to sniff traffic (and MITM it).
- jqpabc123 6mo agoDoesn't this limit your ability to share resources and transfer data?
- pixel_popping 6mo agoWhy would it? You have access to your entire filesystem via the browser.
- stephbook 6mo ago1 contributor, 1 commit, new project... gives me vibe-coding feels.
- zcw100 6mo agoIf you have factual observations to make that's fine but can we stop with the "smells like vibe coding" attacks? It's like an AI version of an ad-hominem attack.
- tom_alexander 6mo agoPerhaps as a web client for the remote desktop on the BMC chips?
- solarkraft 6mo agoLooks very interesting, but i’m a bit surprised the most important feature isn’t mentioned: How well does clipboard sharing work?
- d3Xt3r 6mo agoAnd desktop scaling. And multi-monitor support. And file transfers. And drive redirection. And peripheral redirection. And...
- rvz 6mo ago...A test suite, And security audits, And most importantly benchmarks. What it does have is a license which it is GPLv3. So if anyone adds all those changes, they have to make the source code available with the same software license.
- pixel_popping 6mo agoIn this era tho, licenses (I don't agree with this, but this is what it is) are a matter of "tokens", I speak for a fact knowing multiple relatively-big companies just gobbling GPLv3 projects and rewriting them entirely, some do publish them as well.
- wcrossbow 6mo agoIm not a big fan of Windows but copy pasting a file across 3 nested RDP sessions feels magical every time
- ktpsns 6mo agoTo be honest, three nested RDPs sound like a terrible hack. In an ideal world, this would be two port forwardings and one RDP (thinking about ssh, which is still underrepresented in windows world). In an even more ideal world, this would be an IPv6 direct access ;-)
- 6mo ago
- sebakubisz 6mo ago[dead]
- johnwhitman 6mo ago[dead]
- yamapikarya 6mo agois it work for opening rdp file from cyberark pam?
- SipitenoMK 6mo ago[flagged]
- maxloh 6mo ago> ...on the read side most browsers prompt the user every single time. I don't think that is the case. Google Docs, Office 365, and Notion all function without requiring repeated user permissions.
- jerrythegerbil 6mo agoI can assure you they’ve correctly described the problem and are correct regarding buffering and user gesture requirements. The platforms you listed are all primarily text-based and the interaction lives in the DOM with happy paths defined. Still, you will find that clipboard media with a MIME type will prompt you with a Google provided modal to paste a very specific way to get around the permissions model in Google Docs etc… An RDP interface is not a text box with features on top, the standing expectations for those existing behaviors do not apply. Namely clipboard, and any I/O for that matter. For example, the linked repo uses a protocol bridge (I/O) to support the RDP protocol from a browser, because “the browser speaks protocols” is a true general statement, but absolutely doesn’t apply when you actually need to get something non-trivial done. At its core, when someone points to the Google Chrome desktop icon and says “that’s the internet” there’s really no point in discussing the nuance in most cases, because anything non-trivial immediately invalidates that understanding of the world and reaching that point organically is far more important than it being explained to them preemptively. They are correct, because the nuance applies. Welcome to the un-happy path!
- hawk_ 6mo agoThere's something about keyboard shortcuts - they work. But somehow right-click and copy requires add-ons.
- socalgal2 6mo agoGoogle Docs has the same issue. They ask you to install of Google Docs Offline chrome extension to fix it. https://chromewebstore.google.com/detail/google-docs-offline/ghbmnnjooekpmoecnnnilnnbdlolhkhi https://chromewebstore.google.com/detail/google-docs-offline... > Note: This extension is also used to make advanced copy & paste functionality available in Google Docs, Sheets and Slides.
- xiaod 6mo ago[dead]
- igtztorrero 6mo agoDoes Alt-Tab inside the Browser Tab can be hooked to the rdp client ??? That was the main problem in guacamole rdp in browser.
- notepad0x90 6mo agoThis is cool. If it adds session recording and SSO auth support, it can be used as an RDP jumphost. I've used Azure bastion to do just this, you auth to the azure portal using whatever authentication regime is configured for your tenant, then you rdp into virtual machines from your browser using the local vm login. it handles things like files and clipboards great. But it also supports console sessions in the browser. I haven't used it with windows/rdp (if it even is supported), but in GCP, their in-browser SSH is the best I've seen so far. Even for Linux, I've found xrdp to be better than alternatives at times. The main problem I see this solving (one of many) is the decoupling of the management interface for virtual machines and servers from their service interfaces. not having your web server's management services on the same IP/domain/interface as the http server is a big improvement. Lots of security screw-ups happen because of this entanglement.
- hdgvhicv 6mo agoI use apache guacamole for this with our OIDC proxy for this purpose
- notepad0x90 6mo agoI've used it before, setting it up wasn't pleasant with the whole java/tomcat thing, and it kept having severe vulnerabilities.
- MaKey 6mo agoFYI, Azure Bastion is based on Apache Guacamole. You're paying them for not having to manage your own instance.
- notepad0x90 6mo agoThat tracks, that's all Azure is there to do in the end. If it was easy to manage it myself, I'd do it, and I'd still need to pay them for a VM to host it on, along with traffic costs. But bastion isn't cheap, so something to consider for sure.
- mcoliver 6mo agoWith hp shutting down anyware / teradici / pcoip there are quite a few people looking for alternatives that support high resolution multi monitor with 60fps high bit depth playback and things like wacom tablet support and all three OS. Parsec and DCV are out there on the spend money side. I'm excited about the open source efforts. Things like rustdesk,kyber, and teraguchi. The community needs an open source high performance option. https://github.com/rustdesk/rustdesk https://github.com/rustdesk/rustdesk https://github.com/thedepartmentofexternalservices/teraguchi https://github.com/thedepartmentofexternalservices/teraguchi https://kyber.tech/ https://kyber.tech/
- miniman1337 6mo agoFWIW DCV is free on EC2, and anywhere else it has a very minimal nag without a license.
- tombuildsstuff 6mo agoThis is neat! A few months back I ended up building a RDC Server in Golang (i.e. no Windows required!) entirely with Claude, which was a fun experiment. I ended up fronting that with GitHub Auth (purely for rate limiting purposes, since it's bandwidth intensive), but I've built it in such a way that it surfaces/renders any arbitrary binary on the RDC side. In my case, I ended up just fronting it with a Snake binary, but it's been fun to experiment and push the bounds somewhat. I should really think about open sourcing it - in my case it was an experiment to see how far I could push Claude that turned out pretty great tbh
- rcarmo 6mo agoNeat - I built https://github.com/rcarmo/go-rdp https://github.com/rcarmo/go-rdp a few months back and use it daily, but it’s nice seeing a different take (I went all out on deep protocol suppose because I’m a network nerd)