Connect to ARC with Tailscale

I don’t want to debate this too much. I’ll say a couple of things and then hear what you have to say, if you want to respond, but I don’t think this should be a debate between users. It’s just my opinion and I hope Roon and HK hear it.

There are media products like Plex which try to do P2P and move to cloud relay if they can’t. There are video conferencing products like FaceTime and Zoom which do the same. There are video gaming platforms, such as Xbox and PlayStation which also use cloud relays when necessary.

These platforms vary in terms of the amount of data they relay and the latency requirements, but they all make it work, and they do it transparently. A FaceTime user doesn’t know if their video call is going through a relay or not. Neither do users of the other products and scenarios. None of those experiences require third party hardware or software nor do they require the expertise to set up a VPN-type solution.

We can discuss how you might build something like this. You’ve suggested that a variety of approaches wouldn’t work. They would. Cloud platforms from Amazon, Microsoft, Google and others allow for geoscale and distribution as well as elasticity. An approach like a Node-based relay would scale very well - it’s a reasonably simple problem to maintain a directory of connections and to connect the dots between a client and a home-based server. They’ve already got the directory portion of the problem solved because they are maintaining a mapping between users and home server IPs. Encryption can’t reasonably be claimed to be a blocking factor since there is an enormous amount of prior art on which to base an end-to-end encryption strategy.

If you, personally, want to opt out of an end-to-end encryption approach, you should have the ability to do so. You should be able to turn that feature off and either port map manually or use a VPN-type solution. I don’t want to suggest that people with privacy concerns should be forced to use a relay. They shouldn’t.

The best approach to reasoning about cost is not to throw a large number out and say “…adding up to $10,000+ in hosting bills.” The aggregate cost is not as interesting as the cost per user. Non Lifetime users pay at least $12.49USD/month". If you add a feature like a cloud relay, you’d want to think about it in terms of the impact to per-user revenue (that accrues to aggregate, but you’d start with per-user). You could start by coming up with a cost range specifically for a person that uses a cloud relay. My guess is a couple of USD worst case per month for a highly active ARC user. Many users don’t use ARC. Of the ones that do, many don’t need a relay. Those folks subsidize the folks that do need and use a relay. By the time you’re done, it’s a relatively small amount per user.

Does Roon want to spend more money each month? Of course not! Where we may differ is around whether or not the best business strategy requires them to do so. For me, ARC is a partially complete product that doesn’t work particularly well and, for many users, requires a do-it-yourself add-on solution. I work with, not for, a high-end A/V retailer where the consultants differ on whether or not to recommend Roon. Some don’t because they don’t want to take on the support burden, which they need to do given the nature of their clientele. They can’t sell a Nucleus and say “if you buy this, you can use Roon in your home and ARC when you’re away.” They can only say, “you’ll be able to use Roon in your home but you may need another computer if you want to use it while you’re away.” And if they do that, they end up in the support role for both devices - the Nucleus is an appliance that for most people will just work. The ARC device won’t be anything like that.

I said more than I expected - and we are perhaps just going to have to disagree :slight_smile: I’ll say, sincerely, that I appreciate anything else you want to say even if you strongly disagree but I’m not going to post further on it here. This is feedback for Roon, not content I entend for debate with other users.

7 Likes

I travel a lot and have loved the idea of ARC since it was introduced. But I’ve been unable to use it because of my somewhat “complex home network”. It isn’t much, just a central router which is then hardwired to a couple routers configured as access points, to provide full wifi coverage around the house. My Roon setup is Rock running on an Intel NUC connected to one of those access points. I’ve received support here in the past for ARC, but all of it requires me to access those routers, change settings, set IP addresses and the like. Forgive me, but I’m not at all knowledgeable about this stuff, and really am not interested in learning networking, so it was just too much for me to set up myself. I just want to listen to music. So I live without ARC and just use Qobuz when traveling
.
Seeing this Tailscale solution initially excited me. But I’ve just read through all the support documentation. Since I run ROCK, I have to set up another always on computer somewhere on my network, then the app, make sure the IP addresses match, etc. I do have a Synology NAS, but to be honest, have no idea how add Tailscale to it. So in effect it still requires a level of tech expertise I just don’t have.
I appreciate how tech savvy so many Roon users are. I admire their abilities. Mine lie elsewhere, and even though I’m an engineer, I just don’t have the interest. My conclusion is that Roon is strictly for the most capable tech pros and amateurs, not for the general music listener. So although I still use it at home, I’ve resolved to cancel when my renewal date comes up next year.

2 Likes

Roonlabs: You should enable that Tailscale can be installed directly under RoonOS on ROCK and the Nucleus devices! Further, there should be a possibility to manually enter the appropriate ip address in the ARC clients.

3 Likes

I have been using DietPi for PC instead of ROCK. Gives you a one box solution. Roonserver, roon extension manager, tailscale.

Allows you to use one large drive for os, music and backups.

it installs with ffmpeg already. And, you can see system temps! thumbs up.

4 Likes

I unstalled tailscale on my phone and my Windows Roon Server. They show they’re on the same subnet in TailScale but it’s still not working, getting the same error:

{
“ipv4_connectivity”: {“status”:“NetworkError”,“status_code”:504,“error”:“error: Error: ETIMEDOUT, response code: undefined, body: undefined connected? undefined”},
“external_ip”: {“actual_external_ip”:“172.aaa.bbb.ccc”,“actual_external_ipv6”:“null”,“router_external_ip”:“192.168.12.167”},
“status”: “status”: MultipleNatFound
,
“natpmp_autoconfig”: {“status”:“NotFound”},
“upnp_autoconfig”: {“server_ip”:“192.168.1.1”,“found_upnp”:true}
}

Well said, I couldn’t agree more, and hope Roon is reading listening to this as well…

1 Like

A lot of us tried the VPN thing a long time ago with Roon and discovered that the additional overhead that the VPN adds is too much for a cellular network to sustain while attempting to stream lossless audio over it, not to mention hi-resolution. At that time I was on a FIOS 2 Gigabit symmetric connection.

So the way I see it, there are a couple of options:

First, I find it odd that Roon can’t seem to utilize the information they already have on hand to solve for this issue. What do I mean? Roon establishes an always-on connection to their servers. If you’re on your Roon server look at your netstat and it will show that there’s an “Established” socket/connection to their servers/network. It’s not something that comes up and goes down like other connections. Roon uses this for entitlements as well as to serve up content. So they have an established socket to their servers. Why not use that information to setup a relay like is used for the “meet me here” type of protocols (AKA “cloud relay”)? As an example, consider how a lot of home video surveillance systems work: you can view the content on your cameras from outside your home on your phone (live and playback) without having to setup a NAT or port forward. I’ll also note that Plex now supports cloud relay and also provides audio playback of library files. It also provides end to end encryption so those naysayers of privacy need not apply. So there’s precedence for this as well as competition.

Second, there are always things like Cloudflare’s WARP. This is a non-VPN solution that is highly resilient and reliable when compared to a VPN. It’s provided by one of major backbones of the Internet as well. It’s fairly easy to setup and would just need to install the client on your phone as well as the WARP instance on your Roon server.

But suggesting yet another VPN is evidence of a lack of creativity as well as recognition of history and not repeating mistakes of the past. Just my opinion.

1 Like

I can’t seem to get my 2014 Mac mini to work as a subnet. Also I tried to change the IP so that the first match and last one is different it won’t let me do this either.

I run Roon Rock so it won’t be like before when I had my 2014 Mac mini running as a server as well. Is there something I’m missing?

The situation is really unacceptable, Roon should just work everywhere and anywhere. I am not really home too often and asking me to use a VPN is really ridiculous.

Roon needs a serious revamp. Our Roon server should connect to a proxy (much like Tailscale) and redirect the app to our homes where NAT-PMP should do its job regarding ports.

I’ve installed Tailscale on my nuc, iphone and ipad. All 3 are connected. When I try to get ARC to connect I get the following error message:

{
“ipv4_connectivity”: {“status”:“NetworkError”,“status_code”:504,“error”:“error: Error: ETIMEDOUT, response code: undefined, body: undefined connected? undefined”},
“external_ip”: {“actual_external_ip”:“172.ggg.hhh.agh”,“actual_external_ipv6”:“null”,“router_external_ip”:“null”},
“natpmp_autoconfig”: {“status”:“NotFound”},
“upnp_autoconfig”: {“status”:“NotFound”}
}

I’ve spent hours trying to find an answer to fix it. Any help would be appreciated. Especially step by step instructions.

Thanks

When running Tailscale, this Roon diagnostics test is bypassed, so it’s meaningless that it shows an error.

The question is, does ARC work? :slight_smile:

It connected by itself finally. Played for about 5 minutes away from home. Both on wifi and cellular. Now it just spins with no artwork.

Even on the lowest streaming quality it’s constantly freezing. Any suggestions?

Nope, I have no experience with Tailscale, but someone else here in this thread should :slight_smile:

I agree, adding another device to manage this is not ideal.

Remember just installing Tailscale on all your devices is not enough. You must set up an always on connection/device and for it to act as a Subnet Router so other devices can connect to the network.

Having to add this software to all devices in my household is a non-starter. Better to move the RoonServer to a computer which can just run Tailscale locally.

One device per network that runs Tailscale configured as subnet router is sufficient. A Raspi 4 would be suitable, for example with DietPi as operating system that allows to setup Tailscale easily.

1 Like

Hi I have a windows dell computer and an iphone 12. I have downloaded tailscale to both. I can see the iphone on the machines tab but cannot see the desktop? Any idea on how to resolve this issue?
Thanks
Stephen

I would rather have the manual DDNS setting to forward my ip. Port testing is not always the top choice in every use cases.

1 Like