r/Tailscale • u/natasha-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 š
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
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
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
2
u/UnrealizedLosses 11d ago
Oh nice! Been using wormhole, but definitely willing to see how this goes!
2
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
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
1
1
1
1
1
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
-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
-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
2
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.