5 ms·
I wonder how much reimplementation there is between this and Tailscale, as it seems like there are many needs in common. One would think that there are already
by Liftyee 1y ago
I wonder how much reimplementation there is between this and Tailscale, as it seems like there are many needs in common. One would think that there are already low level libraries out there to handle going through NATs, etc. (but maybe this is just the first of said libraries!)
- mpalmer 1y agoThis is made using iroh, which aims to be a low level framework for distributed software. Involves networking but also various data structures that enable replication and consistency between networked nodes.
- danenania 1y agoDoes it include reconnection logic? I presume that's not considered "low level", but it does always annoyingly have to be reimplemented every time you deal with long-lived socket connections in production.
- b_fiive 1y agoyes, to an extent. It will time out if the connection completely dies for more than the timeout interval, but all connections are designed to survive changes to network changes like IP address or network interface (eg: switching from WiFi to ethernet, or cellular)
- max-privatevoid 1y agoiroh is meant to be this library, but there is also libp2p, which existed before iroh.
- binary132 1y agoPart of the problem with libp2p is that the canonical implementations are in Go which isn’t really well-suited to use from C++, JS, or Rust. The diversity of implementations in other languages makes for varying levels of quality and features. They really should have just picked one implementation that would be well-suited to use via C FFI and provided ergonomic wrappers for it.
- cr125rider 1y agoIsn’t tailscale a wrapper around WireGuard? With some other hole-punch sprinkles?
- nine_k 1y ago...and DNS, and host provisioning, and SSO, and RBAC, and other stuff you need to sell to enterprises.
- odo1242 1y agoWell, WireGuard and WebRTC, but yes. The real feature of Tailscale is being able to connect to devices without worrying about where they are.
- bradfitz 1y agoThere's no WebRTC in Tailscale.
- snapplebobapple 1y agoIsnt a derp server juat webrtc with minor changes?
- rollcat 1y agoYou don't need the whole of WebRTC for NAT traversal, TURN/STUN will do the job.
- homebrewer 1y agoYou might be confusing it with netbird, which is the 601st implementation of a mesh network that does use both WebRTC and WireGuard.
- odo1242 1y agoEdit: apparently it uses STUN/TURN but not WebRTC
- scosman 1y ago
- benreesman 1y agoTheres overlap but i can see complementary uses as well. It uses some of the same STUN-family of tecniques. I have no plans to stop using TailScale (or socat) but i think i use this every day now too.
- TechDebtDevin 1y agoConnecting phones on mobile/cignat with Tailscale is really one of the few software "Aha" moments I've had.
- homebrewer 1y agoWho cares at this point, Tailscale itself is the 600th reimplementation of the same idea, with predecessors like nebula and tinc. They came at the right time, with WireGuard being on the rise, and poured millions into advertisements that their community "competitors" didn't have since most of them isn't riding on VC money.
- api 1y agoI've met a lot of people who think Tailscale invented what it does. Prior to Tailscale there were companies -- ZeroTier and before it Hamachi -- and as you say many FOSS projects and academic efforts. Overlay networks aren't new. VPNs aren't new. Automated P2P with relay fallback isn't new. Cryptographic addressing isn't new. They just put a good UX in front of it, somewhat easier to onboard than their competitors, and as you say had a really big marketing budget due to raising a lot when money was cheap. Very few things are totally new. In the past ten years LLMs are the only actually new thing I've seen. Shill disclosure: I'm the founder of ZeroTier, and we've pivoted a bit more into the industrial space, but we still exist as a free thing you can use to build overlays. Still growing too. Don't have any ill will toward Tailscale. As I said nobody "owns" P2P and they're doing something a bit different from us in terms of UX and target market. These "dumb pipe" tools -- CLI tooling for P2P pipes -- are cool and useful and IMHO aren't exactly the same thing as ZT or TS etc. They're for a different set of use cases. The worst thing about the Internet is that it evolved into a client-server architecture. I remain very cautiously optimistic that we might fix this eventually, or at least enable the other paradigm to a much greater extent.
- rollcat 1y agoI know it wasn't a "new" idea, but still, ZT was a paradigm shift for me. I was suddenly on the same LAN with people I cared about. Thank you for making it happen.
- udev4096 1y agoAs much as hyped tailscale is, at least there is an option to fully self-host coordination server. Do you have something like that?
- conradev 1y agoIroh is much better suited for the application layer. You can multiplex multiple QUIC streams over the same connection, each for a specific purpose. All you need is access to QUIC, no virtual network interface. It’s a bit like gRPC except you control each byte stream and can use one for, say, a voice call while you use another for file transfer and yet another for simple RPC. It’s probably most similar to WebRTC but you have more options than SCTP and RTMP(?).
- rklaehn 1y agoIroh is one of these low level libraries. It is basically p2p QUIC, where p2p means 1. addressing by node id and 2. hole punching. Dumbpipe is meant to be an useful standalone tool, but also a very simple showcase for what you can do with iroh.