My wife and I have a mobile group/shared bot system where we can make mini apps and collab.
Anything from baby stuff, groceries, shopping, planning, wine tracker app, simple/fun/useful data things, etc…
We have Tailscale on our phones and can instantly and privately see without deployment or anything crazy via our secure VPN.
Think shared Claude Artifacts that don’t live @ Anthropic.
Tried to first do this with Cloudflare Tunnels (because I love Cloudflare), but between the broken dashboard side of Zero Trust and nightmare of Warp… it was basically impossible to setup. I guess that’s all super enterprise, which seems to be very anti-Cloudflare philosophically to not be able to self do things.
Will check out Quick Tunnels but I think it’s missing the bigger integration offerings Tailscale has/does still.
Tailscale is truly a cheat code. I have a web app that I run locally to control terminals on my Mac. I access the website on my phone using the 100.xx IP address and can code on the go. No need for a Mac or iOS app.
You can also use Tailscale serve to get a HTTPS url like Cloudflared but it's only visible to your tailnet. Be careful using Cloudflare tunnels because they are public and bots start poking around immediately.
Alternatively, Netbird has been a dream to use over the last half year or so. I think their server software has had some hiccups on new releases, but I stagger those updates anyways. All self hosted, similar concept to Tailscale, very good management UI baked into the self hosted product.
Netbird's great. I've been using Pangolin (https://pangolin.net/) lately for my homelab. It's very similar in functionality to Netbird, but I like the UX of it better.
Also a very good alternative. I went on a spree and tried out all of the self hostable alternatives and this was definitely a runner up to netbird. The self hosted tailscale is also good, just not as polished as these two projects are.
Switched from Pangolin to Netbird recently and enjoy Netbird more!
Which features do you specifically benefit from?
For those who use Netbird or Pangolin, I'm trying to understand where it would come in handy over my Wireguard-Easy setup with my phone & laptops configured to connect to my Wireguard network externally.
Is this primarily for multi-user scenarios or complex setups?
Both support multi-user setups with SSO or built-in auth.
Beyond that, compared to a typical hub-and-spoke WireGuard setup, the main advantage is peer-to-peer connectivity. Clients connect directly to each other when possible, which lowers latency by bypassing a central relay.
AFAIK, they also have different origins:
Pangolin started as an internet-facing reverse proxy (Traefik) combined with a WireGuard server for backend nodes. It has gradually added VPN-like features, including client device access and an internal HTTPS proxy similar to Tailscale Serve.
NetBird is a self-hostable Tailscale alternative that started as a mesh VPN focused on P2P traffic. It recently added its own reverse proxy features (Traefik-based, coincidentally), also similar to Tailscale Serve.
Pangolin is centered on endpoint and ingress management, while NetBird focuses on mesh networking, though their feature sets are increasingly converging.
I switched from Tailscale to Netbird purely because of Tailscale's bizarre pricing tiers - I wanted just the SSH features, with multiple users, but the paid tier up from free didn't include the SSH features.
What ssh features? You can have a hundred devices connected for free and they can all just ssh to each other directly
I think Tailscale would've fit my needs perfectly fine, but the management makes access control and grouping dead simple in netbird. It also generates a nice little map of your peers, their groups, and connected nodes etc. Quick visual on your topology.
> You can also use Tailscale serve to get a HTTPS url like Cloudflared but it's only visible to your tailnet
For public access, similar to these cloudflare tunnels, there's Tailscale Funnel.
https://tailscale.com/docs/features/tailscale-funnel
Tailscale funnel works well but you can only have 1 per Tailscale instance (1 per machine) at the https endpoint so if you want to have a few apps, the others will go on non-https, custom-port URLs.
I have multiple funnels running at once. I just put a tailscale container into my compose stack and that way each compose stack gets its own tailscale instance and thus its own funnel. Happy to share the setup if at all interested.
You can set up paths that route to different local ports. As long as your apps don't need to live at the root path you can have as many as you like. And you can still have something on the root path as long as it doesn't need the subpath.
Here's `tailscale funnel status` on my machine:
That's why I keep using tsnet directly, where you can have as many virtual machines, doing sharing or funneling, as you want to.
The CLI doesn't let you do as much as the go library does.
Reverse proxy to additional endpoints.
[dead]
Fyi you can point a domain/subdomain (eg lan.mysite.com) at that 100.x IP and it will only work for those on your tailnet.
I love TailScale but was getting crazy battery drain on my iPhone with it installed and setup. Still use it, just not from my phone now
I have the same experience and I once found a GitHub issue about it. I don’t think it sounded like they planned to fix it anytime soon. I just added the Tailscale toggle button to my phone’s quick control panel and turn it on whenever I want to check all my syncthing nodes or something. I keep meaning to see if I can script up something with Shortcuts to make it turn back off automatically.
Were you using an exit node? Because that really does hammer the battery, but vanilla TS without a bunch of traffic doesn't seem to do much to mine.
The only always-on TS service on my phone is Immich for photo backup, and I don't take enough photos for that to matter much.
I wasn't, no. I'm not the only one whos hit it either, not sure what the cause is :(
You should compare battery consumption of TS exit node with something like WG app which low
WG gonna punch through NAT for me?
My endpoint is a pretty stable (though technically dynamic) IPv4 on one end, but the other might be a cell phone with CGNAT, some random WiFi, blah blah etc. TS does that. If you don't want to use it, cool. Don't. I'm willing to make the tradeoffs to use TS for now. That could change in the future.
Strange, battery use is negligible on Android, particularly when the tunnel is not in active use.
just use wireguard; tailscale is just the SSO enterprise overlay with a pricing tab.
Wireguard is great for a point-to-point or multipoint VPN set up by a competent network administrator between machines with static addresses. But that's the only thing it does. It does not handle authentication or mobility very well.
git : github :: wireguard : tailscale
No, it’s not. It handles the keys, provisioning, DNS, NAT traversal, and a bunch of other stuff. WireGuard is a great technology - Tailscale is like a usability layer on top of it.
I pay Tailscale nothing, why switch?
I think an important feature for homelabs is NAT traversal
Using Tailscale in exactly the same way. It has been such a blessing!
I use tailscale on my steam deck to play stardew valley with my son on my laptop, it truly is amazing
> My wife and I have a mobile group/shared bot system where we can make mini apps and collab.
> Anything from baby stuff, groceries, shopping, planning, wine tracker app, simple/fun/useful data things, etc…
Can you elaborate on this? Sounds really cool!
Not OP- I think there’s been some cool solutions popping up around hosting personal apps. On the front page this week was Capsule (https://withcapsule.app/). My personal solution is Exhibit (https://github.com/momja/Exhibit) which also has the goal of being a self-hostable artifact store.
I have my own solution here that also works for sharing stuff with clients with configurable whitelists at artifacts.iofold.com (also open-source for self hosting on cf workers for almost free, github linked on the homepage)
I’ve been building something similar with [Homestead](https://myhomestead.dev). It’s my OSS solution for building mini apps. Each mini app is a Resct frontend and the backend (storage, auth, MCP, API, etc) just comes for free.
Seconded.
I’m not GP, but run something that’s pretty close to GPs description. It’s been a fun journey to set up.
The core is chat+audio/video call server running locally on my m3 Mac Studio. Centrifugo has handled the chat concerns very well. LiveKit was a really nice foundation for video and audio calls. There are a few different options for local STT if you want that.
I used RN via expo for the client and have my friends and family on TestFlight as beta testers. Utility over polish.
With messages and call transcripts on my own box, I can prompt Claude code or Codex to operate on any message or transcript content. And follow up in chat with a message. I do most of that from Claude or ChatGPT mobile apps via remote control to my sessions running in the box.
From there, if I give enough of a specc, anything that happens in chat or call transcripts can become an additional custom workspace in the main app. I think GP calls these mini apps. But they’re essentially rich clients under the main app umbrella. There’s other details, but yeah it’s a strange new world. Check my profile and reach out directly if you want.
I use public dns routed to private Tailscale ips for all my home services. If i want to expose something for friends who don’t use Tailscale I connect a cloudflare tunnel… it’s pretty much a couple clicks and typing in a subdomain name once cloudflared is running on a server… what were you having trouble with?
I use NextDNS instead of public DNS to do the same thing.
I would say that I've been doing most of that already with a reverse proxy+SSO/IDP for a very long time. Not the same, but close-enough and open to the "traditional internet" in a manner that does not require my users to install and configure tailscale, which is a massive plus. I do appreciate tailscale for the option to keep my effective host IP address hidden/local, but then I've been having a front on the internet (with a public IP/domain/...) for decades and I don't see a problem continuing.
> it’s missing the bigger integration offerings Tailscale has/does still.
Until I had tailscale serve generating valid certs, I had a good reason to use Cloudflare tunnels.
But in general I don't want to put everything on the internet side of things.
Mostly, I don't want something open, but more like a "share with" for people who are in the same office (virtually over tailnet, not physically on the same LAN).
This still works great for a demo instead of a product pitch, to send an link out to see something.
I'd still use a real host over a laptop for those.
Only reason I have it (cloud flare tunnels) setup for personal use is because I had to do it for work years ago and yeah, Enterprise(tm) is a good description, haven't touched it in years so when it breaks I'll likely use something else.
Getting it to do what I wanted with a traefik front router with cloudflared talking to arbitrary subdomain that is spun up and broadcast from the other project side was very painful in a "this could be more friendly" way.
It has been truly bulletproof though since then so that's almost enough to make me go reread all the docs.
I have really enjoyed the experience of OpenZiti for this purpose. Being able to host dark services and impose granular access controls and routing for different clients is a game changer.
For the few services I host that require SSL (eg; WebUSB), I serve the dark service via a standard domain (example.com) so I can still get a LetsEncrypt cert, but public access to that domain resolves to a static page; "Plz connect to OpenZiti & try again". This allows me to have SSL on required dark services without requiring to install a private CA for each client.
> Think shared Claude Artifacts that don’t live @ Anthropic.
Shameless plug, I've built a self-hosted capability here with things like live collaboration for humans and agents. There is a native cloudflare deplyoment and integration with Cloudflare Artifacts. PR for tunnel would be appreciated.
https://github.com/plannotator/artifact-server
Us too, consider using your bots to migrate your tailnet to headscale. Daily driving Headscale + Headplane + Tailscale’s graciously provided/compatible native apps makes me feel like my devices are truly under my control.
If only headscale supported tailnet lock and multiple control servers. They consider both features "enterprise" even though the former is arguably a bare minimum and the latter nice even for home users in the event their lab gets taken offline.
Does this work with remote agents though? I want my claude.ai agents running on my phone to be able to hit my local MCPs on my Mac Mini - my understanding is that tailscale wouldn't work because the execution is being called remotely. But seems like these tunnels would support that.
If by local MCP you mean stdio, then a tailnet won't help you unless you proxy the local MCP using something like mcp-proxy: https://github.com/sparfenyuk/mcp-proxy . That local mcp is only exposed to apps on the machine. The flow is Phone client --> agent harness or whatev --> Tailnet --> Mac Mini --> mcp-proxy http listener --> local mcp. But you need to wrap the local mcp runner in the proxy (check the docs).
EDIT you don't mean running on your actual phone lol, you mean in the web browser at Claude.ai. Anyway, if you use mcp-proxy for a stdio mcp, or if it's an http mcp alone, then you would need a public endpoint for Claude.ai to connect to. Tailscale will only help you if you use Funnel, but this cloudflare thing is exactly what you need (w/o Tailscale).
I built something for this exact use-case using Cloudflare Tunnels:
https://github.com/dalberto/mcp-ferry
I also use CF managed auth to make auth easier.
if both your mac mini and your phone are on the same tailnet, can't you just ssh to your mac mini from your phone's terminal emulator and have claude code/codex run on it?
I just use /remote-control. You can't do everything from remote but it's was easier just opening the Claude app than using ssh. And I don't need to be on my tailnet either.
That's really cool! I really want something like that. Care to share what your stack is? My wife would love having that super power.
How do I get this more persistent?
Interested in the the bot system and how your self publishing app artifacts that you've got running. Care to share more?
I run something similar, and in my system an app artifact is typically just a rich react component in a React Native client. They usually start as prototypes in chat, similar to what the labs provide in their native apps. If I or someone else in my user group wants more depth than a chat widget, then the artifacts can grow into a “workspace”. Oddly enough my richest workspaces have most been for entertainment. DnD, MtG deck building, HN comment thread parsing. And system management. Intrusion detection, feature life cycle/LLM handoff management, call telemetry. I do have a workspace for public county permit lookup which has been handy too. Reach out and I can share more.
I never found cloudflare appealing for the small developer.
Don't think we had any issues with Warp but Cloudflare APIs are a bit of a mess. Seems like they've cobbled together and then renamed/rearranged things multiple times now and it's a bit hard to keep up.
Terraform has worked decently well especially since there's a few random settings here and there that aren't exposed anywhere in the UI (facepalm)
So you have a phone to phone VPN and each runs services or just a regular rapid/synology at home with containers?
[dead]