github files

This commit is contained in:
PatrickSt1991
2025-10-04 08:05:16 +02:00
parent 7bd2c5a13e
commit d4b9300c60
19 changed files with 797 additions and 0 deletions

128
.github/CODE_OF_CONDUCT.md vendored Normal file
View File

@@ -0,0 +1,128 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
patrick@madebypatrick.nl.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.

111
.github/CONTRIBUTING.md vendored Normal file
View File

@@ -0,0 +1,111 @@
# Contributing Guidelines
First off—thank you for your interest in contributing to **SamsungJellyfinInstaller**! This project exists thanks to community support and we welcome improvements, big or small. Whether you'd like to report a bug, suggest a feature, or contribute code, your help is appreciated.
---
## Table of Contents
1. [How You Can Contribute](#how-you-can-contribute)
- Reporting Bugs
- Requesting Features
- Suggesting Documentation Updates
- Submitting Code Changes
2. [Getting Started](#getting-started)
3. [Code Style & Workflow](#code-style--workflow)
4. [Development Process](#development-process)
- Running Locally & Testing
- Staying Up to Date
5. [License](#license)
6. [Code of Conduct](#code-of-conduct)
7. [Contact & Support](#contact--support)
---
## 1. How You Can Contribute
### Reporting Bugs
Please use the **Issues** tab to report bugs. Include:
- The version you're using (e.g. Stable v1.7.4, release date Sep 3, 2025)
- Your OS, .NET version, and TV model
- Steps to reproduce the issue, along with any error messages or logs
### Requesting Features
Submit new ideas or enhancements using Issues or through **Discussions**:
- Describe the use case and benefit
- Offer suggestions on how it could be implemented or designed
### Documentation Suggestions
Found something unclear in the README or wiki? Let us know!
- Submit improvements via pull request or issue
- We appreciate help with screenshots, formatting, or better explanations
### Submitting Code Changes (Pull Requests)
We welcome pull requests! Please:
- Follow the existing project structure (folders: `.github`, `Services`, `Views`, etc.)
- Keep code clean, concise, and well-commented
- Include tests or manual validation steps if applicable
- Fill out the PR template
---
## 2. Getting Started
1. Fork the repository.
2. Clone your fork locally:
```bash
git clone https://github.com/your-username/Samsung-Jellyfin-Installer.git
```
3. Open the solution in Visual Studio or your preferred IDE. Ensure you have:
- Microsoft Edge WebView2 Runtime
- .NET SDK compatible with the project
- Tizen Web CLI and Certificate Manager (for end-to-end testing)
4. Run and explore the tool. Enhancements are welcome!
---
## 3. Code Style & Workflow
- Follow current C# naming conventions and file organization.
- For user interface updates, maintain consistency with existing XAML layouts.
- Keep commits focused and descriptive. Use messages like `Fix: …`, `Add: …`, `Refactor: …`.
---
## 4. Development Process
### Running Locally & Testing
- The app scans your local network to detect compatible Samsung TVs.
- For Tizen 7+, a Samsung account is required for certificate generation.
- Test your changes thoroughly—try both “manually enter IP” and automatic detection.
### Staying Up to Date
- Periodically sync with upstream:
```bash
git remote add upstream https://github.com/PatrickSt1991/Samsung-Jellyfin-Installer.git
git fetch upstream
git rebase upstream/master
```
---
## 5. License
This repository is licensed under the **MIT License**. By contributing, you agree that your work will be licensed under the same terms.
---
## 6. Code of Conduct
Please abide by our [Code of Conduct](https://github.com/PatrickSt1991/Samsung-Jellyfin-Installer/blob/master/CODE_OF_CONDUCT.md). Maintain a respectful, welcoming environment for all contributors.
---
## 7. Contact & Support
- **Issues**: for bugs or feature requests
- **Discussions**: for broader conversations
- **Wiki**: for documentation
- **[Sponsor Page / ko-fi](https://ko-fi.com/patrickst)**: if you'd like to support the project financially
Thanks again for your contributions—together, we can make installation smoother and more reliable for Jellyfin users on Samsung Tizen TVs!

1
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1 @@
ko_fi: patrickst

View File

@@ -0,0 +1,17 @@
---
name: Feature Request
about: Suggest a new feature or improvement for the application
title: "[Feature] "
labels: enhancement, keep-alive
assignees: ''
---
**Feature Description**
Please describe the feature you'd like to see.
**Why Is This Feature Useful?**
Explain why this feature is beneficial or how it improves the app.
**Additional Context**
Add any other context, screenshots, or mockups that help explain your request.

View File

@@ -0,0 +1,36 @@
---
name: Generic bug report
about: Create a report to help us improve
title: "[Bug] "
labels: bug, keep-alive
assignees: ''
---
**Have you checked the wiki?**
[Samsung Jellyfin Installer Wiki](https://github.com/PatrickSt1991/Samsung-Jellyfin-Installer/wiki)
**Which version of the application did you use?**
(e.g., v1.2.3)
**Is your Samsung TV in developer mode?**
- Yes
- No
- Not sure
**What Tizen version is your TV running?**
(e.g., Tizen 5.0, 6.5, etc.)
**Was the Tizen CLI installed by the tool at the following location?**
`%LocalAppData%\Programs\TizenStudioCli`
- Yes
- No
- Not sure
**Operating system?**
- Windows
- Linux
- macOS
**Additional Context**
Add any other context or logs about the problem here.

36
.github/ISSUE_TEMPLATE/tizen-6--bug.md vendored Normal file
View File

@@ -0,0 +1,36 @@
---
name: Tizen 7- Bug
about: Create a report to help us improve
title: "[Tizen 7-] [Bug] "
labels: bug, keep-alive, tizen 7-
assignees: PatrickSt1991
---
**Have you checked the wiki?**
[Samsung Jellyfin Installer Wiki](https://github.com/PatrickSt1991/Samsung-Jellyfin-Installer/wiki)
**Which version of the application did you use?**
(e.g., v1.2.3)
**Is your Samsung TV in developer mode?**
- Yes
- No
- Not sure
**What Tizen version is your TV running?**
(e.g., Tizen 5.0, 6.5, etc.)
**Was the Tizen CLI installed by the tool at the following location?**
`%LocalAppData%\Programs\TizenStudioCli`
- Yes
- No
- Not sure
**Operating system?**
- Windows
- Linux
- macOS
**Additional Context**
Add any other context or logs about the problem here.

View File

@@ -0,0 +1,36 @@
---
name: Tizen 7+ Bug
about: Create a report to help us improve the application
title: "[Tizen 7+] [Bug] "
labels: bug, keep-alive, tizen 7+
assignees: PatrickSt1991
---
**Have you checked the wiki?**
[Samsung Jellyfin Installer Wiki](https://github.com/PatrickSt1991/Samsung-Jellyfin-Installer/wiki)
**Which version of the application did you use?**
(e.g., v1.2.3)
**Is your Samsung TV in developer mode?**
- Yes
- No
- Not sure
**What Tizen version is your TV running?**
(e.g., Tizen 5.0, 6.5, etc.)
**Was the Tizen CLI installed by the tool at the following location?**
`%LocalAppData%\Programs\TizenStudioCli`
- Yes
- No
- Not sure
**Operating system?**
- Windows
- Linux
- macOS
**Additional Context**
Add any other context or logs about the problem here.

31
.github/SECURITY.md vendored Normal file
View File

@@ -0,0 +1,31 @@
# Security Policy
## Reporting a Vulnerability
If you discover a security vulnerability in **SamsungJellyfinInstaller**, please report it via the [GitHub Issues](https://github.com/PatrickSt1991/Samsung-Jellyfin-Installer/issues) page.
Include as much information as possible:
- Version of the installer you are using
- Your OS and environment
- Steps to reproduce the issue
- Any logs or error messages
> Note: This project is primarily a GUI wrapper around the Tizen CLI. Vulnerabilities are most likely in the underlying CLI tool. When reporting, please clarify whether the issue is in the installer or the CLI itself.
---
## Supported Versions
Please indicate the installer version when reporting security issues.
---
## Security Updates
Security fixes will be addressed in regular releases. Users are encouraged to keep their installations up-to-date.
---
## Responsible Disclosure
We appreciate responsible disclosure. Avoid publishing exploits publicly until the issue has been addressed to protect users.

31
.github/jellyfin-tizen-logo.svg vendored Normal file
View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<!-- Tizen buitenring -->
<circle cx="150" cy="150" r="140" fill="none" stroke="#2DC4EA" stroke-width="8" stroke-dasharray="345 20" transform="rotate(45 150 150)" />
<!-- Tizen stippen -->
<circle cx="150" cy="30" r="6" fill="#2DC4EA" />
<circle cx="270" cy="150" r="6" fill="#2DC4EA" />
<!-- Jellyfin buitenste cirkel -->
<circle cx="150" cy="150" r="90" fill="url(#jellyfinOuter)" />
<!-- Jellyfin binnenste cirkel -->
<circle cx="150" cy="150" r="60" fill="url(#jellyfinInner)" />
<!-- Jellyfin kern -->
<circle cx="150" cy="150" r="30" fill="white" />
<!-- Gradients -->
<defs>
<linearGradient id="jellyfinOuter" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#00A4DC" />
<stop offset="100%" stop-color="#AA5CC3" />
</linearGradient>
<linearGradient id="jellyfinInner" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#00A4DC" />
<stop offset="100%" stop-color="#5B2C83" />
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

32
.github/pull_request_template.md vendored Normal file
View File

@@ -0,0 +1,32 @@
# Pull Request Template
## Description
Please include a summary of the change and which issue is fixed. Also include relevant motivation and context.
Fixes # (issue number, if applicable)
---
## Type of Change
- [ ] Bug fix (non-breaking change)
- [ ] New feature (non-breaking change)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
- [ ] Documentation update
- [ ] Other (please describe):
---
## Checklist
- [ ] My code follows the existing project structure and style
- [ ] I have tested my changes manually
- [ ] I have added necessary documentation (if applicable)
- [ ] I have verified that the installer still works with the underlying CLI
---
## Additional Notes
Any other information that reviewers should know, including limitations, concerns, or context about the change.

View File

@@ -0,0 +1,22 @@
name: Close stale issues
on:
schedule:
- cron: '0 0 * * *' # runs daily at midnight UTC
workflow_dispatch: # allows manual triggering
permissions:
issues: write
pull-requests: write
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
with:
stale-issue-message: 'This issue has been automatically marked as stale due to inactivity. It will be closed in 24 hours if no further activity occurs.'
stale-issue-label: 'stale'
days-before-stale: 4
days-before-close: 1
exempt-issue-labels: 'keep-alive'

View File

@@ -0,0 +1,88 @@
name: Update Version Table in README
on:
schedule:
- cron: "0 */6 * * *"
workflow_dispatch:
jobs:
update-readme:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Fetch latest releases
id: releases
uses: actions/github-script@v7
with:
script: |
const releases = await github.rest.repos.listReleases({
owner: context.repo.owner,
repo: context.repo.repo,
});
const stable = releases.data.find(r => !r.prerelease && !r.draft && r.tag_name.startsWith("v"));
const beta = releases.data.find(r => r.prerelease && !r.draft && r.tag_name.startsWith("v"));
// Check if beta is based on the same version as stable (e.g., 1.6.1 vs 1.6.1-beta)
const isSameBaseVersion = stable && beta &&
beta.tag_name.startsWith(stable.tag_name + '-');
// Check if beta its version is lower than stable
const isBetaOlder = stable && beta && beta.tag_name < stable.tag_name;
const result = {
stableTag: stable?.tag_name ?? "N/A",
stableUrl: stable?.html_url ?? "#",
betaTag: (isSameBaseVersion || isBetaOlder) ? "N/A" : (beta?.tag_name ?? "N/A"),
betaUrl: (isSameBaseVersion || isBetaOlder) ? "#" : (beta?.html_url ?? "#")
};
console.log('Release info:', result);
return result;
- name: Set version info as env vars
run: |
echo 'STABLE_TAG=${{ fromJson(steps.releases.outputs.result).stableTag }}' >> $GITHUB_ENV
echo 'STABLE_URL=${{ fromJson(steps.releases.outputs.result).stableUrl }}' >> $GITHUB_ENV
echo 'BETA_TAG=${{ fromJson(steps.releases.outputs.result).betaTag }}' >> $GITHUB_ENV
echo 'BETA_URL=${{ fromJson(steps.releases.outputs.result).betaUrl }}' >> $GITHUB_ENV
- name: Generate version table markdown
run: |
cat <<EOF > version_table.md
| Channel | Version | Notes |
|------------|----------------------------------------|--------------------------------------------|
| **Stable** | [$STABLE_TAG]($STABLE_URL) | Recommended for most users |
| **Beta** | [$BETA_TAG]($BETA_URL) | Includes new features, may be less stable |
EOF
- name: Inject version table into README
run: |
if ! grep -q "<!-- versions:start -->" README.md; then
echo "Warning: <!-- versions:start --> marker not found in README.md"
exit 1
fi
# Create the updated README
awk '
BEGIN { in_block=0 }
/<!-- versions:start -->/ {
print;
print "";
# Read and print the version table
system("cat version_table.md");
print "";
in_block=1;
next
}
/<!-- versions:end -->/ { in_block=0; print; next }
!in_block { print }
' README.md > README.tmp && mv README.tmp README.md
- name: Commit and push if changed
run: |
git config --local user.name "github-actions[bot]"
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add README.md
if git diff --cached --quiet; then
echo "No changes to commit"
else
git commit -m "chore: update version table in README [skip ci]"
git push
fi

21
LICENSE Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025 Patrick Stel
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

171
README.md Normal file
View File

@@ -0,0 +1,171 @@
# Jellyfin 2 Samsung
<p align="center">
<img src="https://github.com/PatrickSt1991/Samsung-Jellyfin-Installer/blob/master/.github/jellyfin-tizen-logo.svg" width="250" height="250" />
</p>
<div align="center">
<p>A simple tool for installing <strong>Jellyfin</strong> on your <strong>Samsung Smart TV</strong> — quickly and effortlessly.</p>
<img src="https://img.shields.io/badge/✅_Supports_all_Tizen_versions-blue?style=for-the-badge" />
<img src="https://img.shields.io/badge/😤_Tired_of_the_certificate_error%3F-You're_in_the_right_place!-brightgreen?style=for-the-badge" />
<a href="https://discord.gg/7mga3zh8Cv"><img src="https://img.shields.io/badge/Ask%20it%20on%20Discord-7289DA?style=for-the-badge&logo=discord&logoColor=white" /></a>
![OS Support](https://img.shields.io/badge/Windows-Stable-brightgreen?style=for-the-badge)
![OS Support](https://img.shields.io/badge/Linux-Beta-yellow?style=for-the-badge)
![OS Support](https://img.shields.io/badge/macOS-Unstable-red?style=for-the-badge)
Huge thanks to <a href="https://github.com/jeppevinkel/jellyfin-tizen-builds">jeppevinkel</a> for providing the Jellyfin Tizen `.wgt` builds — super helpful and much appreciated!
</div>
---
## 🔥 [Check out the official page for Jellyfin 2 Samsung](https://patrickst1991.github.io/Samsung-Jellyfin-Installer/)
## 📦 Current Versions
<!-- versions:start -->
| Channel | Version | Notes |
|------------|----------------------------------------|--------------------------------------------|
| **Stable** | [v1.7.9](https://github.com/PatrickSt1991/Samsung-Jellyfin-Installer/releases/tag/v1.7.9) | Recommended for most users |
| **Beta** | [v1.8.0-beta-2](https://github.com/PatrickSt1991/Samsung-Jellyfin-Installer/releases/tag/v1.8.0-beta-2) | Includes new features, may be less stable |
<!-- versions:end -->
---
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/M4M71JOT9R)
## 🚀 How It Works
---
⚠️ On macOS, launch the app via the run_macos.sh shell script
---
### 1. Launch the Tool
![Start screen](https://github.com/user-attachments/assets/d7666ba7-a1a4-4b31-8035-a8a3eef3b7e2)
The tool automatically scans your local network for compatible Samsung Smart TVs.
---
### 2. Select a Release
<img width="536" height="368" alt="image" src="https://github.com/user-attachments/assets/083b92d3-b09a-440f-95a1-a1fe30c83576" />
Choose the desired Jellyfin release.
---
### 3. Pick a Version
<img width="536" height="368" alt="image" src="https://github.com/user-attachments/assets/68b2f5cf-9e2d-4963-856f-bc45995ed8fe" />
Select the specific Jellyfin version youd like to install.
---
### 4. Select Your TV
<img width="536" height="368" alt="image" src="https://github.com/user-attachments/assets/720545a4-45b7-438f-9b07-a6fec1d67ea5" />
The tool lists all detected Samsung TVs. You can also manually enter an IP if your TV isnt found.
![Device_not_listed](https://github.com/user-attachments/assets/d9272aad-562a-4485-b52f-885652cd720b)
---
### 5. Sit Back and Watch the Magic ✨
<img width="536" height="368" alt="image" src="https://github.com/user-attachments/assets/56d77990-d6c8-47ba-8d8b-2dfe57d658c5" />
Once started, the installer takes care of everything else automatically.
---
### ⚠️ Special Notes for Tizen 7+
<img src="https://github.com/user-attachments/assets/b32a5873-a9d5-4f1e-9266-69f33961917f" alt="Tizen Email" width="400">
<img src="https://github.com/user-attachments/assets/9ad45a0a-f091-4eb6-94e8-eb0f381816d2" alt="Tizen Password" width="400">
Tizen 7+ requires a **Samsung account login** during the install. This step is necessary for generating and exchanging the security certificates used for app installation.
---
## ⚙️ Settings
### Language
<img width="536" height="443" alt="image" src="https://github.com/user-attachments/assets/68bd8a74-785e-4edb-9075-73991c42ac39" />
Select your preferred language.
### Certificate
<img width="536" height="443" alt="image" src="https://github.com/user-attachments/assets/252e9dfb-fbd9-41df-a5ac-a67d51201ab4" />
Choose an existing certificate or let the tool generate a new one automatically.
### Advanced Options
<img width="536" height="443" alt="image" src="https://github.com/user-attachments/assets/c297f7e3-19a9-44c6-81c1-1c53116fa1b3" />
- **Custom WGT:** Upload your own `.wgt` file(s) (randomizes the package name to allow side-by-side installs).
- **Remember IPs:** Save a manually entered IP when your device isnt found via scan (one IP at a time).
- **Remove Old Jellyfin:** Attempts to uninstall previous versions before installation (not supported on all TVs).
- **Force Samsung Login:** Force the tool to login in order to forcefully create a new certificate.
- **Right-to-left Reading:** Languages that are right-to-left need to have the IP inverted in order for Tizen Studio to work (192.168.1.2 -> 2.1.168.192).
- **Jellyfin Config:** Lets you set your Jellyfin App configuration in advance, so once the app is installed, you wont need to configure it on the TV.
## 📝 Jellyfin Config
<img width="510" height="283" alt="image" src="https://github.com/user-attachments/assets/8296671f-2fbb-4d7a-b1a9-d2db0228b48e" />
Update Mode consists of:
| Type | Requirements |
|------|--------------|
| None | - |
| Server Settings | Server IP and port |
| Browser Settings | Server IP and port, API Key and Jellyfin user selection |
| User Settings | Server IP and port, API Key and Jellyfin user selection |
| Server & Browser Settings | Server IP and port, API Key and Jellyfin user selection |
| Server & Users Settings | Server IP and port, API Key and Jellyfin user selection |
| Browser & User Settings | Server IP and port, API Key and Jellyfin user selection |
| All Settings | Server IP and port, API Key and Jellyfin user selection |
### Server Settings
<img width="483" height="219" alt="image" src="https://github.com/user-attachments/assets/f6e6a72f-35e4-4027-9a9d-f94632a851cd" />
This lets you set the Jellyfin server IP address in the config file, so the app doesn't have to search for the server.
- Fill in the Address information; Server IP and Port.
### Browser Settings
<img width="482" height="510" alt="image" src="https://github.com/user-attachments/assets/25e8052d17cb" />
**Requirements: API Key and Jellyfin User selection**
This lets you set the browser-specific information for the chosen user(s) like Theme selection, Skip Intro etc. Jellyfin saves this information in your browser.
### User Settings
<img width="484" height="268" alt="image" src="https://github.com/user-attachments/assets/ba09248f-a7e1-4021-a719-8f1cc7a63676" />
**Requirements: API Key and Jellyfin User selection**
This lets you set all the Jellyfin user specifics for the chosen user(s) like Auto Login, Subtitle Mode etc. Jellyfin saves this on its server.
---
## ✅ Requirements
Before getting started, ensure you have the following:
- A **Samsung Tizen Smart TV** with **Developer Mode enabled**
- **Tizen Web CLI** installed
- **Certificate Manager**
- **Microsoft Edge WebView2 Runtime**
- A valid **[Samsung Account](https://account.samsung.com/iam/signup)** (required for Tizen 7+)
> Dont worry—the installer checks for missing dependencies and guides you through installation if needed.
---
## 🛠️ Support, Feedback & Wiki
Need help or want to report a bug?
👉 [Open an issue](https://github.com/PatrickSt1991/Samsung-Jellyfin-Installer/issues)
📖 [Check the wiki](https://github.com/PatrickSt1991/Samsung-Jellyfin-Installer/wiki)
Got an idea for improvement?
💡 Share it on the [Discussions board](https://github.com/PatrickSt1991/Samsung-Jellyfin-Installer/discussions)
or [submit a feature request](https://github.com/PatrickSt1991/Samsung-Jellyfin-Installer/issues)
We welcome all contributions and feedback to improve the experience for everyone!

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

BIN
docs/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

14
docs/index.html Normal file
View File

@@ -0,0 +1,14 @@
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="UTF-8">
<link rel="icon" href="/Samsung-Jellyfin-Installer/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Jellyfin 2 Samsung</title>
<script type="module" crossorigin src="/Samsung-Jellyfin-Installer/assets/index-yNQjIQ2n.js"></script>
<link rel="stylesheet" crossorigin href="/Samsung-Jellyfin-Installer/assets/index-DWoMBZeR.css">
</head>
<body>
<div id="app"></div>
</body>
</html>

BIN
jellyfin.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB