-
Notifications
You must be signed in to change notification settings - Fork 459
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support Zeroconf based Authentication #998
Comments
Correct me if I'm wrong but it should work by removing all credential providing config options. Although when I tried this, I couldn't select my PC as playback device in the App (it was grayed out but available). The logs confirmed my phone trying to use it as device but for some reason it failed. |
It was not very clear to me (at least from the docs) if this should work or not. When running in verbose mode, it does show mdns interaction indeed, but it does not work. So, is it a bug or a missing feature? |
Same here, I just tried without password or username:
Nothing shows up on devices list on web client, native client, android client. It seems there is a missing part in documentation regarding zeroconf option. I've also tried without luck to set some port (4070, 4444) with What is |
I had the same or a similar issue and it turned out to be firewall related. Try setting a fixed zeroconf port in spotifyd and unblock it in your firewall. Doing so made my spotifyd instance appear in a same-network iOS Spotify client, no need for credentials. |
You are right, it simply works if you remove authentication options from the config. The machine I was testing on probably needs some tuning in the firewall. @klarkc: avahi is an open source "bonjour" implementation. Lots of applications doing mdns-based auto-discovery typically leverage avahi. Spotifyd/librespot seem to work perfectly without avahi, so this was a wild goose. |
The plot thickens even more: the box on which I did not get spotifyd/zeroconf working has multiple interfaces, one of them being my ISP. The way librespot/libmdns works means that multicast replies follow kernel routing, so they were sent to my ISP (because the default route points there). I'll work around this by adding a static route (yuck) for 224.0.0.251 |
But what zeroconf port should be used? Whatever, as long as it is opened in the firewall? For me it is working if I disable ufw completely but not when using 5353 in config and ufw |
Okay, maybe some explanation on how the process works: So to conclude, you need to open two ports:
Hope this helps. |
This was exactly what I needed to understand. I would highly recommend adding this information that you just wrote to the documentation. Great explanation! |
Thanks and good point, will do, when I get around to updating the documentation. (Currently it's lacking in some ways...) |
Minimal docs that should point users with firewall issues in the right direction. Based on personal discovery and the explanation in Spotifyd#998 (comment).
Maybe a minimal addition like this will do for the meantime? |
Perfect! Glad I could help, and excited to get spotifyd working :) |
Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
I'd like spotifyd to have a mode in which is does not require credentials in the config file, but plays "on behalf" of the initiating spotify connect client (eg my iPhone). I know this is possible, as the Spotify Android app on my mibox/chromecast behaves this way. When the device is turned on, any spotify client can play "through" this device over (I assume) spotify connect. I know fairly sure I am not "casting", as it shows "Spotify Connect" next to the device.
When I dump traffic between iPhone and mibox, I see a lot of spotify-related mDNS going on.
This "mode" probably has a proper name, if anyone know this, I'll update the issue title.
Describe alternatives you've considered
It could very well be that this is already possible, I tried to launch spotifyd without credentials and with Avahi running, but could not get it running. If it's possible, I'd like to see how, of course :-)
The text was updated successfully, but these errors were encountered: