Symfonium won't switch between primary and secondary connection

Issue description:

When I’m at home I use the local IP of my homeserver to connect to the jellyfin library. When I’m not at home I want to use the secondary connection, which is routed through tailscale as I’m behind CGNAT in my network. The switch between those two doesn’t work tho. I can set up the app to only connect through tailscale, which works. And I can also set it up to connect to the local ip, which works as well. But when I put both of them into one configuration, It always shows the secondary connection as offline. When I’m connected through tailscale I can’t use chromecast to stream my music inside my apartment, so thats no permanent solution for me. Thanks :slight_smile:

Logs:

Upload description: m1orine

Additional information:

 

 

Reproduction steps:

 

 

Media provider:

Jellyfin

Screenshots:

     

It always shows the secondary connection as offline

What do you mean by that? There’s only 1 connection active at a time.
And when it’s not accessible for some time, it will auto switch to the other one.

Sorry english isn’t my first language.
What I meant is: I have the first connection set to the local IP and then secondary set to the tailscale IP. When I’m in the local network everything works as expected. When I disconnect Wifi on my phone and enable Tailscale the Albums are still showing up but theres a notification “this media source is currently offline” and it’s unable to play anything.
When I delete this media source and create it the other way around (Tailscale IP first, then local IP) the same thing happens. As long as I’m connected with Tailscale it works, but when I disconnect Ts and enable Wifi it shows all media as offline. So both connections work seperately, but not the switching between the two. Hope that clears things up.

The automatic switch can take some times to avoid switching due to bad connectivity and it won’t try many times so if the new connection is not accessible it will stop trying.

You can force another check by pressing the offline button in the global filter screen to force a new check.

Exactly, this is the solution. I’ve had the same thing happen. But it’s not really a big deal. Just tap on ‘Offline’ and it’s all good.

can you tell me where to find this global filter screen? And thanks for the help, waiting a while seems to fix it. I’d love to know where this manual recheck option is, to do it faster. Thanks again

But most of the parts that says offline should have a refresh button too.

—Edited—

Alright, the reason for the incorrect address was my mistake. So, when I used the correct address, half of the problem actually didn’t exist. I can connect to the secondary connection normally when using the HTTP mode.

That is to say, for Symfonium, my HTTPS is unusable. My HTTPS uses a reverse proxy service and an SSL certificate issued by Let’s Encrypt. It works normally when accessing through any browser with HTTPS. I haven’t had the chance to test other apps yet, and I will update the feedback later.

In summary, the new log has been uploaded with my ID as the title. It should reflect this issue.

I welcome the Symfonium team to confirm the issue by my server in the logs. Please notify me after confirmation, and I will delete the domain.

Open your own issues as it’s not relevant to already closed issues.

You do not need to forget to proper set the connection type for the secondary connection (http, https or https no cert checks) you probably forget that step.

Sorry, initially I thought it was a similar issue, but it cannot be resolved in the same way. After repeated attempts, I realized it’s a different problem. I will go and look up more information regarding the certificate first. If I still have questions afterwards, I will come back to post an new issue.

Thank you!

I could not trigger it. To me that feature is important because internet blackouts are somewhat common in my area. There was one just today :frowning:


I thought that option applied to both connections, the primary and secondary.
Is there a reason why there is no setting for the primary address?


My situation is quite different since Im not running tailscale and not behind a cgnat. I use a public domain, reverse proxy serving https.

Heres how it worked:

  • Reverse proxy traefik handling https at ports 443. DDNS set up to fire every 5 minutes trough dd-client.

  • Home router set to port forward external ${TRAEFIKPORT} to 443 with NAT loopback.

  • Connected through external domain https://${SERVICENAME}.${DOMAIN}:${TRAEFIKPORT}.

This worked as long as I was connected to the internet, the domain name resolves and the router will route it to the internal network.

And the fix to make it work when its not connected was:

  • Set up a dns rule on the router dns server to resolve ${SERVICENAME}.${DOMAIN} to the internal service address.

  • Set up port forwarding on the reverse proxy:

# docker-compose.yml
  # ...
  traefik: #reverse proxy
    # ...
    ports:
    # - 80:80
    - 443:443
    - "${TRAEFIKPORT}:443"
    # - "8080:8080"
    restart: unless-stopped

Now Symfonium connects seamlessly, the network and traefik do the whole lifting. This will also apply to all your media clients including your tv and such.

For the Mobile it works as long as i disable android mobile data, because for some reason android ignores the wifi dns (and whole wifi internal network too) if its not connected to the internet. I think there’s a workaround around that.


Since you are behind a cgnat you need to tunnel stuff. Im not familiar with how to set up this with tailscale but cloudflare tunnel may work for your config.
I understand setting tailscale to protect a jellyfin instance since it has well known security issues Collection of potential security issues in Jellyfin · Issue #5415 · jellyfin/jellyfin · GitHub. That’s why i run navidrome instead.

I did not test chromecast though, but i think it will work. Gonna try it later today.

EDIT

Chromecast works on mp3.
Does not work with flac, for some odd reason.