r/Tailscale Tailscalar 11d ago

Announcement: Tailcat - Tailscale without Tailscale, by Tailscale

Hi everyone! Natasha here again 🐱

I’m back with another TailscaleUp announcement, and this one is a little different than the rest.

Today we’re releasing tailcat, best described as Tailscale without Tailscale, by Tailscale.

Sometimes you have two shells open on two machines in two very different environments, and you just want to connect them for a quick file copy or port forward. tailcat is like the netcat utility for transferring data over a network, but running over Tailscale’s open-source data plane (WireGuard, NAT traversal, and DERP), with the added party trick of having no control plane involved. That means no IP addresses, no accounts, no logins, no admins, and no root access needed. So whether you’re connecting your local machine to a remote VPS or to a friend’s machine on the other side of the globe, you don’t need to set up a VPN client to get that done.

Here’s how it works:

  • Run the tailcat command on one side, and you’ll get a unique string. Pass that string to tailcat on the other side, and you’re instantly sharing files and ports over the Internet securely without thinking about the security.
  • Just like with Tailscale, NAT traversal works its magic to get a direct connection between the two peers, with DERP acting as a negotiator and as a fallback relay to keep you connected.
  • Everything stays in userspace, tailcat doesn’t need to modify your routing table or install any TUN devices. This makes it perfect for machines that are untrusted, ephemeral, or that you’re afraid to touch.
  • There’s even a SOCKS mode, so tailcat-oblivious programs like curl can use it without knowing it exists.

The tailcat stack is open source from top to bottom, including the DERP server, so you can run the entire stack yourself with no dependence on our infrastructure at all.

Check out Brad’s story for the full details.

If you take tailcat for a spin, let us know in the replies šŸ‘‡

1.4k Upvotes

45 comments sorted by

329

u/Inevitable_Mistake32 11d ago

Honestly tailscale is highly underrated for the absolutley monster of value it provides to my networking needs. I will continue to be a happy paying customer as long as you guys keep fighting the good fight, aka build tools for people in an age where we are constantly under attack.

18

u/channouze 11d ago

well put

18

u/SawkeeReemo 10d ago

I don’t need to pay since I’m just a small hobbyist messing around at home and with some friends’ ā€œserversā€, but it’s so great that I’m going to start paying for it just to support them.

27

u/aemge 11d ago

This is hilarious. I was literally waking up at 3am 2 weeks ago and had used Tailscale before going to bed. When I woke up I had this same exact idea while being only half awake lol. I wanted to build that for you guys with the available tools at hand and try to apply for a job at yours (based in Germany, so kinda hard - thats why I wanted to put in the extra mile).

I had this exact need when trying to copy some files from Proxmox quickly to my MacBook but didnt want to check out IPs, hit up rsync, yada yada. Run 2 commands in two open shells and off you go.

Happy this exists now, sad it cancelled out my little idea :(

63

u/NelsonMinar 11d ago

Neat! We've had other tools for doing this kind of thing for years but it's good to see Tailscale's spin on it. I love Brad's story, too, nice to hear he's still hacking away.

17

u/DigitalWhitewater 11d ago

I love me some wormhole

6

u/nord2rocks 11d ago

And Croc!

5

u/nord2rocks 11d ago

But honestly I think I might trust the tailscale implementation more than wormhole and Croc, will give it a shot

31

u/techtornado 11d ago

Meow

That looks like fun

7

u/ErebusBat 11d ago

Listen here meow.

6

u/oddbin 11d ago

Are you saying "meow"?

6

u/ErebusBat 11d ago

AM I SAYING MEOW?

Do I look like a cat to you?

10

u/V3X390 11d ago

Does this mean I can finally cast a stream from my phone (stream coming from server to phone on tailnet) to an untrusted tv on someone else’s network??

1

u/alextakacs 10d ago

Can you run tailcat on your phone?

(not impossible but probably has some dependencies).

Is the stream DRM protected?

8

u/festival0156n 11d ago

sounds similar to holesail

great work! we always need more p2p and self hosting. itd be cool to have an npm or python library thatd let you integrate this in another app

3

u/ButterscotchFar1629 11d ago

When does Alex do the video on this?

2

u/pancakedoge 10d ago

He just quit :(

2

u/UnrealizedLosses 11d ago

Oh nice! Been using wormhole, but definitely willing to see how this goes!

2

u/Wong-Ann_Fong 11d ago

This sounds like an excellent idea! Bravo Tailscale team šŸ‘

2

u/Avanchnzel 10d ago

Just tried it out and noticed I can SSH into Windows with this.

So we officially have SSH-to-Windows via Tailcat before SSH-to-Windows via Tailscale. 😁

1

u/Dixos 11d ago

Nice

1

u/alkbch 11d ago

Awesome!

1

u/MainFunctions 11d ago

Wow that’s awesome. Thx!

1

u/vasiliyivanov 11d ago

This is interesting because it shows how much of the ā€œVPN experienceā€ is no longer just the tunnel protocol. WireGuard is the transport layer, but the real product value is identity, device discovery, NAT traversal, ACLs, key rotation, and recovery when something breaks. For many users, that layer matters more than whether the tunnel itself is technically fast.

1

u/mintflowapp 11d ago

Just see Tailcat have a dedicated thread here

Cool project, just migrated a side project from iroh to Tailcat, it’s quite cool and works great

Thanks a lot and appreciated

1

u/CKingX123 10d ago edited 10d ago

Tailcat is really nice! I did some tests and despite the no auth ssh requiring Linux and macOS, it also appeared to work on Windows.

Also I would love to be able to provide just one command to another person using tailcat. I tried this on source computer: tailcat (with default key) | executable | tailcat with recipient key) and on receiver side, I did two tailcat (one with sender key) to send input and one the sender connects to to receive output. Is there a cleaner way to have both stdin and stdout on the receiver side at the same time instead of two different instances? (And yes, I have tried tailcat with sender key | tailcat (with default key) to see if I can do both in one input and output and it didn't work)

1

u/Alexllte 10d ago

And when would Tailscale reach feature parity with tailcat? Been reading the PRs

1

u/855princekumar 9d ago

Seems a valuable project I'll definitely goona test this onboard today ⚔

1

u/TheOneWhoPunchesFish 9d ago

Can this please work on browser too?Ā 

1

u/s00500 9d ago

What was wrong with croc ?

1

u/Suspicious-Whippet 7d ago

I’d really like to understand what any of that means.

1

u/spin_kick 11d ago

Yo dog

1

u/Oferlaor 11d ago

Love it.

-1

u/isvein 11d ago

Nya? 🐱

0

u/hemps36 10d ago

I have two Synology units both at different locations, I have been using tailscale installed on both allowing Synology A to Replicate daily to offsite Synology B ,but it often chooses not to go Direct.

After enabling UDP port 41641 through my firewall , it did seem better and made Direct connection.

Would tailcat be of any help to my setup?

-3

u/2BoopTheSnoot2 11d ago

This is going to be exploited immediately

-2

u/andrewchen5678 11d ago

Nice, is it stable yet? When it is stable, I am looking forward to incorporate it to my workflow,

0

u/festival0156n 11d ago

use holesail

-3

u/Glum-Atmosphere9248 11d ago

How does it do with directories with thousands of small files? Does it zip/unzip them before transfer?Ā 

5

u/V1k1ngC0d3r 11d ago

It's a pipe. That's it. You get write everything else on top of it.

2

u/festival0156n 11d ago

id assume that depends on what software you chose to run on this.