Skip to content

[Feature]: Support for HTTP headers during initial setup - Adding the Server #1995

Description

@Calvorejas

I have already checked through the existing feature requests and found no duplicates

  • Yes

Is this a server-specific feature?

Not server-specific

What do you want to be added?

Hi!

First of all, just wanted to say I'm so happy I found out Feishin, this has become now my one and only music player for my Windows computers. So well made, so much attention to detail, I really like how it works, it is basically the perfect companion for my Navidrome server and probably the best music player I have ever used. Thank you so much for all the work put into the project, it shows, It is so cool.

The reason I decided to open this Issue / Feature Request is because, as great as Feishin is, I think it could improve a lot with the addition of a single function that I think would make my life and other user's life easier. See, I personally use all my services coming from my server as "public" services, only public for the people that I choose, my friends for example, I make that distinction with Cloudflare Access, in the case of web only services it's easy, I just log in using the Cloudflare Access portal shown on Chrome or any other browser at the moment of trying to get to the service I'm accessing....

But for apps like this one (and this is where I wanted to get), it's much more complicated than that... As you need to provide HTTP headers in order to authenticate and access (connect) to the server. Those come from Cloudflare's Service Tokens generated in Cloudflare One's Dashbord. Once you get those, you just type the URL of your server, and the HTTP headers (CF-Access-Client-Id and CF-Access-Client-Secret) and it's good to go, you are connected. That is the approach Navic.app and Nautiline use to authenticate on the go if you want to. And it certainly is just so convenient.

I really was hoping you could perhaps reconsider adding this feature to Feishin, because, for example, in the case of laptops, it would be really useful, that way you would not have to use a VPN to your network anymore, you just connect to your server through your Navidrome "public" URL in this case... And that's it.

I said "reconsider" because I've seen that this has already been discussed in the past (Jan 25th, 2025) in this Issue (sorry for bringing it up again): #884
Also maybe this PR, but I don't know if it is related really: #1678
But I really think it could be a great addition, and while it could be considered as a "niche" feature, I think a lot more people than one would actually asume, could make great use of it. A lot of us really don't want our services to be that much public, only enough to be accesible outside our house without much complication (using VPNs constantly), and as secure as it can ever be.

Comparisons can annoying, I know, and I'm sorry, but I think Navic.app and Nautiline's implementation is very smart. They have, under the same connection options "window" or "screen" you have for connecting to the server, an "Advanced options" dropdown button / menu where it just displays the HTTP header options, maybe you could integrate inside that hypothetical "Advanced options" the "Public URL" alongside the HTTP headers as an option all in there, that would not require major UI changes, just that "Advanced Options" dropdown menu, nothing too crazy.

For reference, I'm leaving attached some quick drafts I did with Photoshop just so you can get a brief idea of what I'm actually talking about:

Image
Image

Immich's Android / iOS app works in a similar way too, and it really is incredible, it is even able to detect whether you are connected to your home network (WiFi in this case) to decide if it connects you to your server locally (http://192.168.1...) or externally (using the Public URL and your HTTP headers if needed).

Again, sorry for bringing this up again knowing that it has been discussed and rejected in the past... But I think it would be a really nice addition. And it would still be Feishin, with you under the project, not a forked project that, I can understand would not be that bad, but I prefer using the original Feishin, as I know it works and I already know the project.

Even think about it this way, as far as I know (because I haven't found anyone who does it), Feishin would be the first Navidrome client to implement HTTP headers support! No other desktop client does it, at least to my knowledge.

I hope you could at least reconsider it again, it is the only function I miss, the rest is just pure perfection. Love it!

Hope this message finds you well.
Greetings from Spain!

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions