[Feature] Recover Jellyfin app config #44

Closed
opened 2026-02-05 16:48:36 +03:00 by OVERLORD · 13 comments
Owner

Originally created by @danyrd92 on GitHub (Jul 26, 2025).

Originally assigned to: @PatrickSt1991 on GitHub.

The first thing I want to do is thank the author of this project, as it works wonderfully and makes our lives much easier.

I installed the app on my 2018 Samsung TV and on my 2024 Samsung monitor without any issues. However, I'm unable to update the app without first uninstalling the existing version. This wouldn't be a problem if it weren't for the Jellyfin configuration — every time I update, I have to set everything up again on both of my screens.

Is there any way to update without losing the configuration?

Thanks again for this fantastic work.

Originally created by @danyrd92 on GitHub (Jul 26, 2025). Originally assigned to: @PatrickSt1991 on GitHub. The first thing I want to do is thank the author of this project, as it works wonderfully and makes our lives much easier. I installed the app on my 2018 Samsung TV and on my 2024 Samsung monitor without any issues. However, I'm unable to update the app without first uninstalling the existing version. This wouldn't be a problem if it weren't for the Jellyfin configuration — every time I update, I have to set everything up again on both of my screens. Is there any way to update without losing the configuration? Thanks again for this fantastic work.
OVERLORD added the enhancementclosedtesting labels 2026-02-05 16:48:36 +03:00
Author
Owner

@PatrickSt1991 commented on GitHub (Jul 26, 2025):

Thanks for the kind words!

The main issue with updating the app is the certificate, some TVs don't mind different certificates and allow updates regardless.

Most TVs however notice the app isn't the same as the previously installed app and isn't allowing updating.

For example my TV isn't allowing updating and also not allowing automatic uninstall, I to have to reimplement the configuration as well.

I'll take a look in to it, maybe I can somehow extract the current app config through SDB and replace it in the existing one, no promises though

@PatrickSt1991 commented on GitHub (Jul 26, 2025): Thanks for the kind words! The main issue with updating the app is the certificate, some TVs don't mind different certificates and allow updates regardless. Most TVs however notice the app isn't the same as the previously installed app and isn't allowing updating. For example my TV isn't allowing updating and also not allowing automatic uninstall, I to have to reimplement the configuration as well. I'll take a look in to it, maybe I can somehow extract the current app config through SDB and replace it in the existing one, no promises though
Author
Owner

@danyrd92 commented on GitHub (Jul 26, 2025):

Thank you so much for your incredibly quick response.

What you're saying sounds fantastic—I understand you can't make any promises, but thank you so much for your interest.

As I mentioned, I have two different Samsung screens: one runs Tizen 4 or 5 (I'm not entirely sure), and the other runs Tizen 7.
If you need any help testing or anything else, please just let me know.

@danyrd92 commented on GitHub (Jul 26, 2025): Thank you so much for your incredibly quick response. What you're saying sounds fantastic—I understand you can't make any promises, but thank you so much for your interest. As I mentioned, I have two different Samsung screens: one runs Tizen 4 or 5 (I'm not entirely sure), and the other runs Tizen 7. If you need any help testing or anything else, please just let me know.
Author
Owner

@PatrickSt1991 commented on GitHub (Jul 27, 2025):

Unfortunately i have to say can't make it work, I can't hack my way in to the Tizen emulator from tizen studio.

So I can't tell where the config file is once the app is installed :(

That makes it impossible to pull the config file.

'll keep this open and try working on it or think of something else

@PatrickSt1991 commented on GitHub (Jul 27, 2025): Unfortunately i have to say can't make it work, I can't hack my way in to the Tizen emulator from tizen studio. So I can't tell where the config file is once the app is installed :( That makes it impossible to pull the config file. 'll keep this open and try working on it or think of something else
Author
Owner

@PatrickSt1991 commented on GitHub (Jul 31, 2025):

@danyrd92 after god knows how many attempts it just isn't possible to extract the config from the already installed app cause it's protected as root and shell access is blocked.

But I did came up with this idea, prior to installing the app to the TV it's perfectly possible to adjust the config.json from Jellyfin.

For instance the server block can be filled with the IP address of your server, that way it's already pre filled once the app is pushed towards your TV.

Would that be helpful?

@PatrickSt1991 commented on GitHub (Jul 31, 2025): @danyrd92 after god knows how many attempts it just isn't possible to extract the config from the already installed app cause it's protected as root and shell access is blocked. But I did came up with this idea, prior to installing the app to the TV it's perfectly possible to adjust the config.json from Jellyfin. For instance the server block can be filled with the IP address of your server, that way it's already pre filled once the app is pushed towards your TV. Would that be helpful?
Author
Owner

@danyrd92 commented on GitHub (Jul 31, 2025):

I understand that the config.json file is the same one that becomes impossible to retrieve once the app is installed, right?

It could definitely be very useful if this file allows more configurations. I don't know its contents, but as soon as I have a moment, I'll take a look.

Really, thank you so much for your help, your interest, and your work on this matter, honestly, I wasn't expecting it.

@danyrd92 commented on GitHub (Jul 31, 2025): I understand that the config.json file is the same one that becomes impossible to retrieve once the app is installed, right? It could definitely be very useful if this file allows more configurations. I don't know its contents, but as soon as I have a moment, I'll take a look. Really, thank you so much for your help, your interest, and your work on this matter, honestly, I wasn't expecting it.
Author
Owner

@PatrickSt1991 commented on GitHub (Aug 2, 2025):

That's correct, it's the same file.

I'll try to make something that scan's the network for jellyfin servers so it can be done automatically

@PatrickSt1991 commented on GitHub (Aug 2, 2025): That's correct, it's the same file. I'll try to make something that scan's the network for jellyfin servers so it can be done automatically
Author
Owner

@PatrickSt1991 commented on GitHub (Aug 7, 2025):

Hey @danyrd92 — I managed to get something working! 🎉
It’s available now in the new beta release: v1.6.8-beta


🛠️ New: Modify Config Option

The Settings page now includes a new checkbox: Modify Config
Once checked, an additional field will appear for setting your Jellyfin Server:

Image Image

You’ll need to enter your server’s IP address (e.g. 192.168.1.10) and choose the appropriate port:

Image

This information will be pre-filled into your config file.

⚠️ Important:
After modifying the config, a new certificate must be generated. The tool will handle this automatically — however, you'll need to log in with your Samsung Developer Account so the tool can re-sign the WGT file with the updated settings.


Let me know if it works for you or if you run into any issues!

@PatrickSt1991 commented on GitHub (Aug 7, 2025): Hey @danyrd92 — I managed to get something working! 🎉 It’s available now in the new beta release: [**v1.6.8-beta**](https://github.com/PatrickSt1991/Samsung-Jellyfin-Installer/releases/tag/v1.6.8-beta) --- ### 🛠️ New: Modify Config Option The **Settings** page now includes a new checkbox: **Modify Config** Once checked, an additional field will appear for setting your **Jellyfin Server**: <img width="480" height="465" alt="Image" src="https://github.com/user-attachments/assets/e59354c7-a3c5-45bc-82d7-fa048d20b391" /> <img width="476" height="45" alt="Image" src="https://github.com/user-attachments/assets/27219361-37ce-4a02-a34a-527428555e94" /> You’ll need to enter your server’s IP address (e.g. `192.168.1.10`) and choose the appropriate port: <img width="479" height="109" alt="Image" src="https://github.com/user-attachments/assets/234b0e90-05a6-429b-ac6a-fd2003f2b4af" /> This information will be pre-filled into your config file. ⚠️ **Important:** After modifying the config, a new certificate must be generated. The tool will handle this automatically — however, you'll need to log in with your **Samsung Developer Account** so the tool can re-sign the WGT file with the updated settings. --- Let me know if it works for you or if you run into any issues!
Author
Owner

@danyrd92 commented on GitHub (Aug 8, 2025):

Hey @PatrickSt1991 I'm truly impressed and very grateful for your involvement in my request.

I've just tested the beta and it works perfectly without any issues.

I don't want to take advantage of your goodwill, but I wanted to ask: would it be possible to have the same thing but with some more specific configurations?

For example, I use the "Blue Radiance" theme and I always enable certain options in the display settings, such as "backdrops" and "theme song". Are those settings configurable from the same place, or is it not possible to change them?

Once again, thank you so much for everything — I think this is a very convenient improvement when it comes to installing updates.

I hope I can return the favor someday.

@danyrd92 commented on GitHub (Aug 8, 2025): Hey @PatrickSt1991 I'm truly impressed and very grateful for your involvement in my request. I've just tested the beta and it works perfectly without any issues. I don't want to take advantage of your goodwill, but I wanted to ask: would it be possible to have the same thing but with some more specific configurations? For example, I use the "Blue Radiance" theme and I always enable certain options in the display settings, such as "backdrops" and "theme song". Are those settings configurable from the same place, or is it not possible to change them? Once again, thank you so much for everything — I think this is a very convenient improvement when it comes to installing updates. I hope I can return the favor someday.
Author
Owner

@PatrickSt1991 commented on GitHub (Aug 8, 2025):

@danyrd92 I will see what I can do.

Update: @danyrd92 would this be helpfull?

Image

Those are all the settings I could find

@PatrickSt1991 commented on GitHub (Aug 8, 2025): @danyrd92 I will see what I can do. Update: @danyrd92 would this be helpfull? <img width="483" height="868" alt="Image" src="https://github.com/user-attachments/assets/db65ec8b-8754-46ee-a645-fd7d1db7b55d" /> Those are all the settings I could find
Author
Owner

@PatrickSt1991 commented on GitHub (Aug 10, 2025):

@danyrd92 made v1.6.9-beta version contains options to set the server configurations and app configurations through the tool.

Also a little styling update

@PatrickSt1991 commented on GitHub (Aug 10, 2025): @danyrd92 made [v1.6.9-beta](https://github.com/PatrickSt1991/Samsung-Jellyfin-Installer/releases/tag/v1.6.9-beta) version contains options to set the server configurations and app configurations through the tool. Also a little styling update
Author
Owner

@danyrd92 commented on GitHub (Aug 12, 2025):

A thousand thanks for this new version; once again, I want to express my gratitude for your work, which came from a personal request of mine.

I’ve been testing the new beta; at first, I had some issues. I understand that if, in 'update mode', I don’t select options that include the server, it won’t be configured in the app and I’ll have to enter it manually. This feels a bit confusing to me, since the server variables are entered first. Could you confirm that this is the correct behavior?

On another note, I had never used API keys before. I created one in Jellyfin without any problem, but I’m not really sure what its function is. Shouldn’t the Jellyfin app not ask me for the password? It still asks for it. It’s true that on my server I have two users (mine and one created for my mother)

I look forward to your replies, and you know that if you need to test something or anything else I can help with, please just ask me.

Best regards.

@danyrd92 commented on GitHub (Aug 12, 2025): A thousand thanks for this new version; once again, I want to express my gratitude for your work, which came from a personal request of mine. I’ve been testing the new beta; at first, I had some issues. I understand that if, in 'update mode', I don’t select options that include the server, it won’t be configured in the app and I’ll have to enter it manually. This feels a bit confusing to me, since the server variables are entered first. Could you confirm that this is the correct behavior? On another note, I had never used API keys before. I created one in Jellyfin without any problem, but I’m not really sure what its function is. Shouldn’t the Jellyfin app not ask me for the password? It still asks for it. It’s true that on my server I have two users (mine and one created for my mother) I look forward to your replies, and you know that if you need to test something or anything else I can help with, please just ask me. Best regards.
Author
Owner

@PatrickSt1991 commented on GitHub (Aug 12, 2025):

@danyrd92 — now that you mention it, the order does feel a bit off.
A more natural flow would be:

  1. Update Mode → Decide which settings you want to update.
  2. Address → Server address and port of the Jellyfin instance.
  3. API Key → Needed for updating server settings (e.g., autoplay next episode) and browser settings.

The Update Mode names are also a bit off when compared to the Titles and there sections

  • Server = Server Settings
  • Browser Settigns = Browser Settings
  • Server Settings = User Settings

I'll update those names 👍🏻

The API key is used to authenticate with the Jellyfin instance and retrieve the UserId.
At the moment, the tool just takes the first user it finds—likely your own account, since you probably set up the Jellyfin server.

For example, if your UserId is 123abc, the tool will:

  • Use that ID to update settings on the Jellyfin server (Server Settings).
  • Use the same ID to apply browser settings by injecting them into the browser’s local storage.
    That’s how Jellyfin sets things like the theme:
    localStorage.setItem('123abc-appTheme', 'dark')
    

Setting the Jellyfin server IP in config.json technically doesn’t require an API key.
However, the way I’ve written the code here, it currently does—otherwise, it won’t work.
I could modify it to allow setting a server IP without the API key, but in that case, Browser Settings and Server Settings would be disabled, cause those action do require an API key.


Update Mode
The selected Update Mode determines which parts of the configuration will be updated:

  • Server Settings → Updates only the server address (IP and port) in config.json.
  • Browser Settings → Updates only the required settings in the browser’s local storage.
  • User Settings → Sends configuration changes (e.g., autoplay next episode) directly to the Jellyfin server.

You can also choose a combination of modes (or All) to apply multiple updates at once.

Regarding user credentials vs API key
The API key you create lets the tool send commands to Jellyfin to update the settings you’ve chosen and retrieve the UserId.
It has nothing to do with logging in as a user.
When you open the app on your TV, you’ll still be prompted to log in (since AutoLogin is not enabled).
The API key is purely for tool–server communication, not for user authentication.

@PatrickSt1991 commented on GitHub (Aug 12, 2025): @danyrd92 — now that you mention it, the order does feel a bit off. A more natural flow would be: 1. **Update Mode** → Decide which settings you want to update. 2. **Address** → Server address and port of the Jellyfin instance. 3. **API Key** → Needed for updating server settings (e.g., autoplay next episode) and browser settings. The Update Mode names are also a bit off when compared to the Titles and there sections - Server = Server Settings - Browser Settigns = Browser Settings - Server Settings = User Settings I'll update those names 👍🏻 The API key is used to authenticate with the Jellyfin instance and retrieve the `UserId`. At the moment, the tool just takes the first user it finds—likely your own account, since you probably set up the Jellyfin server. For example, if your `UserId` is `123abc`, the tool will: - Use that ID to update settings on the Jellyfin server (**Server Settings**). - Use the same ID to apply browser settings by injecting them into the browser’s local storage. That’s how Jellyfin sets things like the theme: ```js localStorage.setItem('123abc-appTheme', 'dark') ``` Setting the Jellyfin server IP in config.json technically doesn’t require an API key. However, the way I’ve written the code [here](https://github.com/PatrickSt1991/Samsung-Jellyfin-Installer/blob/b6c003bf3451aff4a2980ebfa3976a66bfee7b24/Services/TizenInstallerService.cs#L255), it currently does—otherwise, it won’t work. I could modify it to allow setting a server IP without the API key, but in that case, **Browser Settings** and **Server Settings** would be disabled, cause those action do require an API key. <hr/> **Update Mode** The selected **Update Mode** determines which parts of the configuration will be updated: - **Server Settings** → Updates only the server address (IP and port) in `config.json`. - **Browser Settings** → Updates only the required settings in the browser’s local storage. - **User Settings** → Sends configuration changes (e.g., autoplay next episode) directly to the Jellyfin server. You can also choose a **combination** of modes (or **All**) to apply multiple updates at once. **Regarding user credentials vs API key** The API key you create lets the tool send commands to Jellyfin to update the settings you’ve chosen and retrieve the `UserId`. It has nothing to do with logging in as a user. When you open the app on your TV, you’ll still be prompted to log in (since AutoLogin is not enabled). The API key is purely for tool–server communication, not for user authentication.
Author
Owner

@PatrickSt1991 commented on GitHub (Aug 12, 2025):

@danyrd92 okay so I've updated the tool with some improvements as said in my previous post Jellyfin2Samsung-v1.7.0

It's no longer required to fill in a API key if your not going to do anything that requiring UserId stuff, also changed the order to make it more logical and renamed the labels of the section so it matches the options in the dropdown.

@PatrickSt1991 commented on GitHub (Aug 12, 2025): @danyrd92 okay so I've updated the tool with some improvements as said in my previous post [Jellyfin2Samsung-v1.7.0](https://github.com/PatrickSt1991/Samsung-Jellyfin-Installer/releases/tag/v1.7.0) <img src="https://github.com/user-attachments/assets/c1d8e363-56be-480e-9752-99f46946b02d" /> It's no longer required to fill in a API key if your not going to do anything that requiring UserId stuff, also changed the order to make it more logical and renamed the labels of the section so it matches the options in the dropdown.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/Samsung-Jellyfin-Installer#44