Live data from Hacker News

Tailcat – Like netcat, but over Tailscale’s data plane

github.com

51–60 of 141 posts

Re: Tailcat – Like netcat, but over Tailscale’s data plane

#51

One fun use case: a coworker just whipped up this Minecraft mod using tailcat as its transport: https://github.com/tailscale/tailcat-for-minecraft (just a cute demo, not intended for release or ongoing maintenance)

It would be amazing to have something like this for bedrock so people with consoles without online subscriptions could join a self hosted bedrock mc server

Re: Tailcat – Like netcat, but over Tailscale’s data plane

#52
post #23

This is smart. It's Magic Wormhole but for generalized connectivity, not just file transfer.

Yes, though MW has the important distinction that it uses short human-readable session identifiers. This means MW supports file transfer where the out-of-band channel is just a phone call. This is also why it needs PAKE as opposed to the simpler cryptography used in tailcat

Not a huge lift to stick a PAKE in this protocol, though I'm dubious that it'd be much of a win. The PAKE + nameplate system in Wormhole makes a lot of sense, because you're doing one very specific thing with that system (moving a file from point A to point B). Here you're booting up servers; you're almost always going to have a non-voice channel to set up with.

Re: Tailcat – Like netcat, but over Tailscale’s data plane

#53
post #45

Looks dope, though I'm surprised, is Tailscale fine with their DERP servers being used by non-customers like this? (Yes, it's a Tailscale project, but doesn't require login.) I vaguely assumed there was an auth step before you could use one as a relay. They mention a rate limit, but still

Yes, it's been our CEO Avery's position for ~6.5 years now that we should run DERP servers on the internet for the public good. (rate-limited)

But these are a separate fleet (https://tailcat.dev/derpmap.json) separate from our usual ones, and not using "tailscale.com" in DNS or SNI anywhere.

Re: Tailcat – Like netcat, but over Tailscale’s data plane

#54
post #32

Just yesterday I was complaining that I wanted to SSH back to my homenet while at the office, on my office (not home) tailnet. I wrote something based on Iroh to do this, but it's one shot (ie not particularly generalized). Might be able to throw it away or redesign it with some inspiration from this! Thanks.

I solved this problem by building/running a custom tailscale client that connects to two tailnets at the same time (https://github.com/maisem/tailmix)

Re: Tailcat – Like netcat, but over Tailscale’s data plane

#55
post #4

i like that it removes tailscale proprietary. if that is goal then why not go 100% open source to eliminate the ts derp control as well and get full sovereignty? like netbird, openziti, zerotier, etc.

Or just use wireguard directly. I get it that it's a pain in the ass to configure it, but there are plenty of open source config generators

IPSec may be a pain... but WireGuard is as simple as it gets in my opinion. Yeah, you may need to know basic IP concepts, like MTU...

NAT traversal is a different topic, WG won't help in that, and that can actually be a pain. I guess we should be using IPv6 already, and this tool would be largely redundant already. (not completely, encrypted access to isolated networks is a valid use case)

Re: Tailcat – Like netcat, but over Tailscale’s data plane

#56
post #23

This is smart. It's Magic Wormhole but for generalized connectivity, not just file transfer.

Yes, though MW has the important distinction that it uses short human-readable session identifiers. This means MW supports file transfer where the out-of-band channel is just a phone call. This is also why it needs PAKE as opposed to the simpler cryptography used in tailcat

> This is also why it needs PAKE as opposed to the simpler cryptography used in tailcat

May be my idea of simpler cryptography is incorrect, but PAKEs like CPace do seem simpler than public key primitives in Noise.

Re: Tailcat – Like netcat, but over Tailscale’s data plane

#57
post #26

Earlier quoted context omitted.

but without nat traversal...

Is NAT traversal actually that big of a feature? The category of people that would use a tool like this already knows many ways to do it without NAT getting in the way.

Unless you have some kind of dynamic DNS with a background daemon, you'll be bothered by NAT eventually. And even then it's hardly as convenient. With Tailscale, I can sit on a rooftop bar in the Medina of Marrakech, connect my phone to the public WIFI, and access my laptop in the hotel WIFI across town. Or production infrastructure on a highly secured server somewhere on the other side of the planet. All without compromising security, and all devices involved just pick the shortest physical link to each other.

It's really pretty cool.

Re: Tailcat – Like netcat, but over Tailscale’s data plane

#58
post #26

Earlier quoted context omitted.

but without nat traversal...

Is NAT traversal actually that big of a feature? The category of people that would use a tool like this already knows many ways to do it without NAT getting in the way.

It's not a given that you always have some server without NAT in the way. Even if you do, it might bottleneck or add latency to the two ends trying to talk. I've been there.

Re: Tailcat – Like netcat, but over Tailscale’s data plane

#59

Earlier quoted context omitted.

Yes, though MW has the important distinction that it uses short human-readable session identifiers. This means MW supports file transfer where the out-of-band channel is just a phone call. This is also why it needs PAKE as opposed to the simpler cryptography used in tailcat

> This is also why it needs PAKE as opposed to the simpler cryptography used in tailcat May be my idea of simpler cryptography is incorrect, but PAKEs like CPace do seem simpler than public key primitives in Noise .

A PAKE is more complicated than Noise. Noise is fussy (for good reasons) but relatively simple.

Re: Tailcat – Like netcat, but over Tailscale’s data plane

#60

Earlier quoted context omitted.

Or just use wireguard directly. I get it that it's a pain in the ass to configure it, but there are plenty of open source config generators

> it's a pain in the ass to configure it Public/private key pairs are hard? It's no more terrible than other projects that require configs.

For me the complicated part was understanding the IP assignment for peers and how to set that up correctly
Post reply on HN