News for hackers. Stuff that matters.
Re:Show HN: P2P remote desktop – an alternative to TeamViewe... by jeroenhd on Tuesday December 07, 2021 @07:13PM (#29479901)
This is one thing I'm surprised the open source community hasn't developed a popular alternative for: Teamviewer.

The core idea is simple: a video stream from one computer to another, with mouse and keyboard controls sent the other way. Connection negotiation can be done Magic Wormhole style, via basic STUN, encryption can be done in a number of ways. Add some clipboard and P2P file transfer features and you've got most of Teamviewer/Anydesk/whatever implemented. There's VNC, but that's horribly outdated and the UX is absolutely terrible.

I think there's a business to be built here; open source remote support with a Gitlab-style self-hosted option companies can put down in their own networks, or have them pay you for management and servers.

This project is a good starting place, as any. With some tweaks you could probably build this into a end-user friendly system with your usual numeric code and random password. There's a business to be built in this space, I'm sure of it. I wish I had the expertise to take advantage of that.

Re:Show HN: P2P remote desktop – an alternative to TeamViewe... by donmcronald on Tuesday December 07, 2021 @08:28PM (#29480350)
Code signing for Windows is a pain for anything self hosted. I tried every open source, self-hosted option I could find last week and none of it was usable. IIRC the only one that had signed executables was Remotely and it was a 150MB client that bundles .NET.

All the rest seem to copy the terrible design of on demand code signing and that doesn’t work. If you get an EV certificate for instant SmartScreen reputation the key is on a HSM. If you get an OV certificate that is easier to automate with you need to build SmartScreen reputation which is brutal.

The RuskDesk project mentioned below was the most interesting to me. It’s a small executable and works pretty good. That’s enough to tell me that someone should be able to build a great product if they have instant support executables signed with an EV certificate.

What it comes down to though is that everyone needs their own code signing certificate or someone needs to run a matchmaking service. I’m sure you could build something that works well with Cloudflare Workers/KV by sending hashed (+salted) IDs to a matchmaking Worker. When a customer reads me the ID I know the secret and can tell the matchmaker “here’s the secret, please redirect the client to my self hosted server, relay, etc. at support.example.com.”

Also, Screego is another interesting project to check out.

Re:Show HN: P2P remote desktop – an alternative to TeamViewe... by jeroenhd on Tuesday December 07, 2021 @09:40PM (#29480701)
SmartScreen becomes less of a pain when people start downloading the software more. In fact, if you don't have a lot of downloads, SmartScreen will block your executable even if you pay for the privilege of signing your executables! If you sign your executable + config files on the fly, you end up with SmartScreen warnings all over the shop!

A possible solution would be to distribute the client through something like the Windows Store on Windows, and a URL connection handler. The support-receiving website (or intranet support page) could work by opening a URL like remote-support://internal.domain.eu/listen from a web page and if that fails, link to the Windows Store and install directions instead. An unsigned, backup download of unsigned executables can be added to that download page if you so desire.

Theoretically, you could also set up some kind of DHT or TOR-like network where nodes can just find each other. You wouldn't want to send standard Bittorrent or TOR traffic without warning in corporate networks, of course, but the technology exists.

For businesses, the unsigned executable with config could just be distributed by the IT department with their own certificate or the necessary exemptions, and launch an autoconnect daemon, if necessary.

The _real_ challenge, I think, for building such a tool is that if it works well, scammers will use it and slander your product. Some might even patch out any warnings or alerts that you add to protect innocent people from scams. Scammers aren't intelligent enough to make their own RAT, but just one tech-savvy criminal could make loads of money with some slight modifications.

Re:Show HN: P2P remote desktop – an alternative to TeamViewe... by electroly on Wednesday December 08, 2021 @10:01AM (#29485513)
> In fact, if you don't have a lot of downloads, SmartScreen will block your executable even if you pay for the privilege of signing your executables!

There's more nuance here which OP is alluding to. If you form a corporation and get an EV cert, you will not get a SmartScreen block, not even on your very first download. Immediate SmartScreen reputation is the point of getting an EV cert for this; Microsoft says this explicitly. If you get an OV cert (the only kind that an individual developer can get!), you will get blocked and will have to build reputation.

As an individual open source developer, I have an OV signing cert :( At least it shows my name on the SmartScreen prompt.

Re:Show HN: P2P remote desktop – an alternative to TeamViewe... by ipython on Wednesday December 08, 2021 @08:40AM (#29484533)
You don’t need to code sign on the fly in order to append “config” data to an authenticode executable.

I’ve never done it myself but there was a posting here about 8 years ago about how Dropbox distributed their installer and I took a quick look at it: https://news.ycombinator.com/item?id=8204454

Re:Show HN: P2P remote desktop – an alternative to TeamViewe... by karteum on Wednesday December 08, 2021 @08:15AM (#29484308)
> This is one thing I'm surprised the open source community hasn't developed a popular alternative for: Teamviewer.

That's because it's not only a matter of software but also a matter of service (STUN is not enough, TURN is required in many situations. And someone has to pay for the servers and bandwidth...). If IPv6 had succeded instead of IPv4+NAT, maybe the situation would be different.

In terms of software, the open-source x2go (based on nomachine NX libraries and protocol, see https://wiki.x2go.org/doku.php) has been very efficient in my cases when bandwidth was limited and when I had no big NAT issues.

Re:Show HN: P2P remote desktop – an alternative to TeamViewe... by jeroenhd on Wednesday December 08, 2021 @06:27PM (#29491949)
I enjoy using x2go, but it's not exactly an easy to use system. If either end of the connection needs to change firewall settings or enter IP addresses, it's already far behind on usability. It could work with some setup in corporate environments, but doing this right is quite a pain for smaller businesses.

I agree that STUN/TURN servers are a necessity, but they're not _that_ expensive to self-host. You could stuff the STUN/TURN feature behind rate limits for the hosted version or put them behind a pay wall entirely so companies don't have to mess around with that stuff themselves.

Re:Show HN: P2P remote desktop – an alternative to TeamViewe... by nerdite on Tuesday December 07, 2021 @08:53PM (#29480474)
MeshCentral is really good and open-source https://github.com/Ylianst/MeshCentral

It pairs well with Tactical RMM https://github.com/wh1te909/tacticalrmm

Re:Show HN: P2P remote desktop – an alternative to TeamViewe... by Y_Y on Wednesday December 08, 2021 @04:30AM (#29482713)
This is something I've wanted for a while too. With TeamViewer I can get the client, log in, and then I can see all my other logged in machines and do remote control or exchange files. I don't need to worry about NAT or dynamic IPs etc and it works across Linux and Android and even Windows.

I'd really like to replicate this, even in a really simple CLI way but I haven't found all the right blocks to fit together. Naturally I don't have TeamViewer's account servers to rely on, and ideally I'd not use any centralised/third-party service at all (e.g. Zerotier or Tailscale).

My current idea is to make a GNUnet VPN and then use avahi to discover SSH or VNC servers, then I can use Remmina as a fancy GUI. This will probably be slow and difficult.

There are plenty of FOSS tools that do almost what I want, but none I've found quite gets there yet.

Re:Show HN: P2P remote desktop – an alternative to TeamViewe... by poovamraj on Tuesday December 07, 2021 @07:47PM (#29480103)
You should check this amazing project - https://github.com/rustdesk/rustdesk
Re:Show HN: P2P remote desktop – an alternative to TeamViewe... by sneak on Tuesday December 07, 2021 @08:19PM (#29480297)
Re:Show HN: P2P remote desktop – an alternative to TeamViewe... by cycomanic on Wednesday December 08, 2021 @04:46AM (#29482811)
I noticed that as well just now. I have to say, emphasising open source remote desktop when in fact the server is closed software is a big antipattern and leads me to avoid the software already.
Re:Show HN: P2P remote desktop – an alternative to TeamViewe... by jeroenhd on Wednesday December 08, 2021 @06:31PM (#29491975)
It seems like there's a basic version of the server software that's open source (only does one connection, no NAT or encryption, etc.) but someone could make a server based on that. It could get the bitwarden-rs treatment to make it more enticable.
Re:Show HN: P2P remote desktop – an alternative to TeamViewe... by deknos on Wednesday December 08, 2021 @02:43AM (#29482206)
uff did not see that, thats a pity :(
Re:Show HN: P2P remote desktop – an alternative to TeamViewe... by jeroenhd on Tuesday December 07, 2021 @08:05PM (#29480218)
This looks great! I'm definitely checking this out!
Re:Show HN: P2P remote desktop – an alternative to TeamViewe... by maverick74 on Tuesday December 07, 2021 @08:27PM (#29480342)
Looks very nice. have to try it. thanks for sharing
Re:Show HN: P2P remote desktop – an alternative to TeamViewe... by al_be_back on Wednesday December 08, 2021 @08:06AM (#29484235)
> There's a business to be built in this space, I'm sure of it. I wish I had the expertise to take advantage of that

;) that's what an MVP is used for - prove key business assumptions.

as I see it, space is hardly the issue, nor build/engineering - as a species we are pretty apt at abstracting around them.

I've not had need to use VNC, remote desktop etc for years.

Re:Show HN: P2P remote desktop – an alternative to TeamViewe... by conductr on Tuesday December 07, 2021 @08:16PM (#29480279)
What does the open source angle add to compete with the existing offerings? From what I can tell they are free for personal use and businesses pay, as you suggest. I’m not too familiar with these products.
Re:Show HN: P2P remote desktop – an alternative to TeamViewe... by jeroenhd on Tuesday December 07, 2021 @09:26PM (#29480629)
The same Gitlab offers: the ability to customize and configure the system the way you want it, and the ability to patch the system even when the vendor stops supporting it if you're intent to. It also adds a small factor of trust because you can see the server code; there's probably important, private files flowing through the relay servers, after all.

The rates for decent remote support software are terrible. For €150 per month, you can use three simultaneous connections across your entire organization, limited to a certain number of users who might possibly use the system. Teamviewer once offered lifetime licenses, but then they inserted ads for their subscription model into the lifetime customers to get even more money out of them.

Re:Show HN: P2P remote desktop – an alternative to TeamViewe... by artificialLimbs on Tuesday December 07, 2021 @09:40PM (#29480706)
[Not open source, but] Liteviewer has been the best of what I could find for running a tiny pseudo-MSP on the side. Despite their site looking like it was ported from Geocities, the app itself has been pretty solid for my basic uses, and ~30 machines are free, I believe. I'm not affiliated.

http://www.litemanager.com/produkts/LiteManagerFree/

Re:Show HN: P2P remote desktop – an alternative to TeamViewe... by tomcooks on Wednesday December 08, 2021 @03:54AM (#29482512)
These tools behave like trojans, allowing complete control over a machine. Why would anyone want to run something like that without being able to check for malicious code is beyond my comprehension.
Re:Show HN: P2P remote desktop – an alternative to TeamViewe... by donmcronald on Tuesday December 07, 2021 @08:42PM (#29480404)
The industry is notorious (lead by TeamViewer) for leveraging vendor lock-in to screw their customers as much as possible.