Jellyfin Forum
Hide Login Page - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: General Questions (https://forum.jellyfin.org/f-general-questions)
+--- Thread: Hide Login Page (/t-hide-login-page)



Hide Login Page - sleepparalysisdemon - 2023-12-28

Is there a way to hide the browser accessible login page and only allow log ins from the media player client?


RE: Hide Login Page - TheDreadPirate - 2023-12-29

Short answer, no. Jellyfin has no way to only allow certain clients. I've seen some people suggest you might be able to use a reverse proxy to only allow certain user agents. But no one has posted a walk through to actually make that happen.


RE: Hide Login Page - sleepparalysisdemon - 2023-12-30

Wanted to give an update. Here is a solution for Caddy.  It will reverse proxy any user-agents with the string JellyfinMediaPlayer, but redirect all others to an HTML page. This works with both the Windows and Linux Flatpak media players, but not the iOS app as the User-agent for that client is Mozilla (see below for Swiftfin)

Use this for your Caddyfile:
Code:
yourdomain.xyz {
# reverse proxy jellyfin if user-agent contains string JellyfinMediaPlayer
        @notbot header_regexp User-Agent (?i)(JellyfinMediaPlayer)
        handle @notbot {
                reverse_proxy 127.0.0.1:8096
        }
# if not, load other page instead
        handle {
                root * /path/to/your/html/page
                file_server
                encode gzip
        }
}

EDIT: You can support other native clients like Swiftfin, just change the header_regexp line:
Code:
@notbot header_regexp User-Agent (?i)(JellyfinMediaPlayer|Swiftfin)



RE: Hide Login Page - TheDreadPirate - 2023-12-30

What about Swiftfin on iOS? Jellyfin Mobile if web based, IIRC.


RE: Hide Login Page - sleepparalysisdemon - 2023-12-30

Yes, you can get Swiftfin to work if you change the header_regexp line:
Code:
@notbot header_regexp User-Agent (?i)(JellyfinMediaPlayer|Swiftfin)