Live data from Hacker News

Show HN: P2P remote desktop – an alternative to TeamViewer / AnyDesk

github.com

91–100 of 100 posts

Re: Show HN: P2P remote desktop – an alternative to TeamViewer / AnyDesk

#91
post #70
post #5

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 m…

> 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 o…

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 TeamViewer / AnyDesk

#92
post #15

Earlier quoted context omitted.

You should check this amazing project - https://github.com/rustdesk/rustdesk

The server component is not open source: https://github.com/rustdesk/rustdesk-server/blob/master/id-r...

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 TeamViewer / AnyDesk

#93
post #76

The NAT traversal logic here is really basic and won't hold up well in practice. A good chunk of NAT devices will pick external port based on [src ip/port, dst ip/port] combo, not just [src ip/port], so "WAN IP/port" you get from STUN will get you nothing useful. Not by itself. STUNs should be used for discovering the pattern in NAT port overloading logic and then using it to predict which port your peer will use tow…

I loved Hamachi! What do you suggest as a learning resource for things like this? The STUN RFC's? The Stevens' networking book?

This longer article from the Tailscale project also does a really nice job of explaining the complexities of doing this properly:

https://tailscale.com/blog/how-nat-traversal-works/

Re: Show HN: P2P remote desktop – an alternative to TeamViewer / AnyDesk

#94
I wanted to thank everyone for sharing your experiences, point of views, for the support, for suggestions, and for sharing projects similar to P2P Remote Desktop. Thanks for making this discussion very interesting and constructive.

Gratitude is the fairest blossom which springs from the soul. (Henry Ward Beecher)

Re: Show HN: P2P remote desktop – an alternative to TeamViewer / AnyDesk

#95
post #59

The NAT traversal logic here is really basic and won't hold up well in practice. A good chunk of NAT devices will pick external port based on [src ip/port, dst ip/port] combo, not just [src ip/port], so "WAN IP/port" you get from STUN will get you nothing useful. Not by itself. STUNs should be used for discovering the pattern in NAT port overloading logic and then using it to predict which port your peer will use tow…

Anyone know if there are any open-source libraries which wrap this all into a usable `get_{tcp,udp}_connection(peer_id)` API, preferably with fallback to a relay server? I feel like there really should be, but nearly all the tools I’ve seen with this functionality are closed source, and the few open-source things all do their own custom logic rather than a shared library :/

ipfs? With ipfs p2p. It has swarm-mediated firewall traversal, and can fall back on relays within the swarm.

Unfortunately, there hasn't been much progress on that funtionality, as the ipfs team seems to focus more on "crypto" lately. But it mostly works: http://docs.ipfs.io.ipns.localhost:8080/reference/cli/#ipfs-... and I guess this gives more context on relays: https://github.com/ipfs/go-ipfs/issues/7433#issuecomment-640...

Otherwise, there is a useful library of firewall traversal libraries in any webrtc implementation.

Re: Show HN: P2P remote desktop – an alternative to TeamViewer / AnyDesk

#97

The NAT traversal logic here is really basic and won't hold up well in practice. A good chunk of NAT devices will pick external port based on [src ip/port, dst ip/port] combo, not just [src ip/port], so "WAN IP/port" you get from STUN will get you nothing useful. Not by itself. STUNs should be used for discovering the pattern in NAT port overloading logic and then using it to predict which port your peer will use tow…

I remember Hamachi as one of the nicest pieces of software I have ever used.

Re: Show HN: P2P remote desktop – an alternative to TeamViewer / AnyDesk

#98

Earlier quoted context omitted.

Thanks. It's a Let's Encrypt one. What's your OS/browser?

Latest Chrome, macOS - your R3 intermediate cert expired "Wednesday, 29 September 2021"

Thanks. Should be fixed now... I think.

Re: Show HN: P2P remote desktop – an alternative to TeamViewer / AnyDesk

#99

The NAT traversal logic here is really basic and won't hold up well in practice. A good chunk of NAT devices will pick external port based on [src ip/port, dst ip/port] combo, not just [src ip/port], so "WAN IP/port" you get from STUN will get you nothing useful. Not by itself. STUNs should be used for discovering the pattern in NAT port overloading logic and then using it to predict which port your peer will use tow…

Wow, thanks for making Hamachi. Brings back memories of playing things like Starcraft and a few other games with a non local friend.
Post reply on HN