Tailscale implementation with ARC to circumnavigate ISP CGNAT

I’m not sure how it would improve dead zones but there must be some buffering to allow for tunnels etc. on ARC. It doesn’t seem to have options for that like Plexamp does.

Just the initial setup sync via LAN, not sure what will happen when I add music to the core, not tried that yet.

Andy sorry that’s not what I meant.

Arc has improved dramatically in Dead zones through the beta and now works as well as PlexAmp in my testing.

What I meant was that VPNs tend to drop the connection when they go out of range so how seemless this works while driving will be part of the decision for some people as to whether or not they use it (if they already have a working ARC)

I plan to try it out this weekend and see how it goes.

Thanks a lot for explaining, Andy, … this worked so far. Now I completed step 6:

“After you enable both options, you’ll be able to connect to devices on your local network by their local IP address. At this point, you should be able to connect to DSM using the local IP address that you normally use at home.”

Do I need to do anything else? My Roon Core is on a NUC in the same network, do I need to indicate the Roon core IP somewhere?

No, you shouldn’t have to tell ARC your core’s IP address. It should be able to find it by itself. Though like others, I had the hiccup where I had to do the initial setup in the ARC app connected to my home wifi. But after that, all you should have to do is turn on Tailscale when you’re away from home (or with wifi disabled for testing) and ARC should automatically find and be able to access your core. I have occasionally had hiccups where ARC couldn’t find my core, but forcing ARC closed and reopening fixes it for me.

Your Roon core and Tailscale don’t have to be installed on the same device. My core is installed in a Docker container on a Synology NAS and Tailscale running as a subnet router is on a Raspberry Pi 4. As long as the subnet router is setup properly, when you connect to Tailscale away from home you should be able to access all the devices on your home network as if you were connected directly to it. ARC should be able to auto-discover your core.

As a bonus, in fact with a properly setup subnet router, you don’t even have to be running Tailscsle on your other devices at home to be able to access them remotely. Works great with things like IP cameras, SSH and screen sharing, Plex, and things like that, too.

1 Like

I added a Qobuz album to my library over Tailscale with no problem. Played fine on my phone and popped up in Roon on my laptop soon after. Since ARC is seeing your core just like it would over a physical LAN connection, I wouldn’t expect there to be any further sort of synching that would have to be done actually connected directly to your home LAN after the initial setup. But we’ve all only been playing with this for about a day now, so who knows.

Mods, this would be a great thread to consider pinning to make it easier for others to find I think.

Tailscale battery usage on iOS is pretty heavy! Apparently it needs to be quit to stop battery use, simply disabling the connection is not enough. I think this will be fine for my use case but it could be a problem if you want to use ARC on the go without the phone being plugged in to power.

There is a price to everything!

There’s an open ticket about the battery usage on their Github if ya’ll want to follow it.

Early days as I only set it up this morning, currently at 10%.

It used 50% of all battery consumption for me today, despite there being no requirement for activity. Sadly I was too busy to be using ARC.

1 Like

I created an IOS shortcut to open Tailscale wait a second then open ARC.
However Apple don’t seem to allow you to create a shortcut to quit an app so I will have to manually quit Tailscale.

I created a second shortcut to open Tailscale so I can manually quit it…

I was going to use this if battery usage starts to cause a concern.

Smart, I’ve never used that feature of iOS. I’ll have a look at doing a similar thing. My ARC usage is likely to be quite small sessions.

it seems to have worked … thanks a lot for helping Jason and @Andy_Jones!

Well, happy listening everbody!

1 Like

Thanks @Andy_Jones and @Phil_Ryan

Ffunnily enough I had done all this before, but the routes did not show on my Tailscale Console.
They didn’t again when I first tried it again today, but a few commands in the SSH console and a restart of the service on my Synology and all is working with full internal routing.

The full Roon app works to manage music playing in the house but not on the phone, which is understandable.
I have now set the port forward to an IP that doesn’t exist so I can do some testing.
So far it is looking pretty good, being able to get to the router is pretty good

Overall it is pretty impressive especially for those living under CGNAT issues

1 Like

It does seem like a pretty useful service overall. I hope they can sort out the power usage on the ios app but probably will get sorted about the time Roon implement iPV6.

I was reading a bit of the thread about Roon mobile where Roon staff were expecting it to arrive in 2017 so I don’t hold out too many hopes of carplay arriving quickly let alone ipv6.

1 Like

Not Roon related but my Security IP cameras.
They run on my NAS and accessed via the Synology DS Cam IOS app which is very fast, but just on the off chance the NAS is down I use IP Cam viewer Lite to access them directly.
Using Tailscale it was as simple of putting in the internal IP address and port into the app.
So no open ports or DYNDNS required, that quite neat and simple.

1 Like

I can confirm that this solution seems to work with the Tailscale subnet router running on an always-on Windows PC.

I’m getting “Poor connection” whenever attempting to play music that’s stored on my core. That’s almost certainly not Tailscale’s fault, though. (All other ARC functionality, including playback of Tidal content, works OK.)

It sure would be awesome if this functionality could be baked right into some future version of Roon Core and Roon ARC, eliminating the need for manual setup steps at both ends of the connection.

One can dream, right?

1 Like

Danny did mention that was a consideration but it would have delayed release by a year in his estimation that delay wasn’t worth it.

At least this hack works in the meantime.

1 Like

Thanks for this hint.

That works also on QNAP. The difference is in the installation procedure as you need to follow GitHub - ivokub/tailscale-qpkg: Package Tailscale client in QPKG

Whole installation and configuration took around 10 minutes (after 2 days of failed attempts to configure various VPN types on my router and make it working with VPN-matcher to bypass NAT problems…)

1 Like