Jellyfin Client for Tizen, webOS, Android, Windows, Linux, MacOS and Web.
  • JavaScript 83.7%
  • CSS 13.6%
  • Kotlin 1.5%
  • HTML 0.6%
  • C# 0.4%
  • Other 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-11-04 16:33:31 +02:00
.gemini feat(live-tv): add an option to change the default opened page in live tv 2026-09-15 15:24:15 +03:00
.github chore: remove incorrect info from docs 2026-10-23 14:51:19 +03:00
assets feat(web): include new web plugin build of litefin, to access litefin directly from the server with auto updates 2026-10-12 14:58:12 +03:00
documentations Merge pull request #559 from dfraenky/feat/webos-launch-deep-links 2026-10-29 12:10:47 +03:00
patches fix(ultra-legacy): patch read only error from pollyfills that use core-js 2026-03-22 12:41:54 +02:00
rules chore: layout the new rules 2026-10-26 13:46:50 +03:00
scripts chore: clean up locals, removing untranslated ones to save space, and old keys that are no longer used 2026-10-25 16:56:01 +03:00
server-plugin fix(player,details): resolve black OSD buttons, progress bar and missing director details on legacy webOS 2026-11-01 14:52:32 +02:00
services fix(smarthub): restore service exit so Samsung commits preview tiles 2026-10-25 13:32:01 +01:00
src fix(android): fix seerr request failing on android client 2026-11-04 16:33:31 +02:00
src-tauri fix(android): fix seerr request failing on android client 2026-11-04 16:33:31 +02:00
tests fix(skip-intro): fix two skip prompts colliding with each other 2026-11-04 12:17:15 +02:00
.editorconfig chore: add editor config for litefin 2026-05-24 18:21:49 +03:00
.eslintignore chore: clean up unused variables and imports, format and fix lint issues 2026-10-25 21:29:28 +03:00
.eslintrc.json perf(locales): compile locale dictionaries to keyless value arrays at build time 2026-10-27 15:44:20 +03:00
.gitignore fix(player): fallback correctly when selected player is not included in the build 2026-10-12 17:38:40 +03:00
.mcp.json feat(live-tv): add an option to change the default opened page in live tv 2026-09-15 15:24:15 +03:00
.prettierignore chore: add ESLint and Prettier and format all files 2026-02-09 11:51:18 +02:00
.prettierrc chore: add ESLint and Prettier and format all files 2026-02-09 11:51:18 +02:00
.project better home navigation bar 2026-01-24 15:24:28 +02:00
.tproject feat: Initial project foundation - Core framework (EventBus, StateManager, Router, Component) - Tizen adapter with remote key handling - Dual-build webpack config (Tizen 4.0+ / 3.0 legacy) - Base styles and CSS variable theming system - Dark theme (classic layout) 2026-01-18 16:33:18 +02:00
AGENTS.md chore: add keyboard shortcuts and missing .rpm build os 2026-10-14 00:39:51 +03:00
appinfo.json fix(player,details): resolve black OSD buttons, progress bar and missing director details on legacy webOS 2026-11-01 14:52:32 +02:00
config.xml fix(player,details): resolve black OSD buttons, progress bar and missing director details on legacy webOS 2026-11-01 14:52:32 +02:00
css-minify-loader.cjs fix(legacy): fix destructive minifier optimizations 2026-11-01 17:12:57 +02:00
GEMINI.md chore: add keyboard shortcuts and missing .rpm build os 2026-10-14 00:39:51 +03:00
gulpfile.mjs fix(packaging): fix plugin version not being updated 2026-10-18 13:41:04 +03:00
LICENSE Add Mozilla Public License Version 2.0 2026-03-10 15:37:43 +02:00
package-lock.json chore: setup new tauri releases workflow 2026-10-12 13:38:44 +03:00
package.json fix(player,details): resolve black OSD buttons, progress bar and missing director details on legacy webOS 2026-11-01 14:52:32 +02:00
README.md chore: add keyboard shortcuts and missing .rpm build os 2026-10-14 00:39:51 +03:00
tizen_web_project.yaml chore: clean up image directories for project and packages 2026-07-09 13:33:46 +03:00
webpack.config.cjs fix(legacy): fix destructive minifier optimizations 2026-11-01 17:12:57 +02:00

Litefin

Jellyfin & Emby Client for Smart TVs (Tizen, webOS, Android TV, Fire TV), Desktop (Windows, Linux, macOS) and Web

Litefin Banner

GitHub license GitHub release (latest by date) GitHub all releases Discord Link BuyMeACoffee GitHub Repo stars

Litefin is a high-performance, open-source Jellyfin (and Emby) client engineered from scratch for Smart TVs and Desktop. Whether you're running it on Samsung Tizen, LG webOS, Android TV, Amazon Fire TV, or native Desktop (Windows, Linux, macOS), Litefin delivers a unified, zero-bloat experience with hardware-optimized playback backends, pixel-perfect subtitle rendering, and a butter-smooth interface even on legacy hardware.

Extend Litefin features by installing the Litefin Plugin on your Jellyfin or Emby servers.

Screenshot 2026-09-30 194946

Features

  • Fast Native Performance: Built in pure vanilla JavaScript with zero heavy framework overhead, custom virtualized scrolling (VirtualCardRow, VirtualGrid), and aggressive DOM recycling tailored for low-RAM TV hardware and desktop environments.
  • Hardware-Accelerated Multi-Engine Playback:
    • Samsung Tizen (AVPlay): Native AVPlay pipeline with hardware-level buffer tuning and zero-latency seek queues.
    • LG webOS Player: Native webOS media pipeline with full platform lifecycle integration.
    • Android TV & Fire TV (Media3 ExoPlayer): Native ExoPlayer backend with dynamic hardware codec detection (MediaCodecList), multichannel audio passthrough (TrueHD, DTS-HD MA, Atmos), and smart fallback for chipsets lacking AV1 hardware decoders (e.g., Amlogic S905X).
    • Desktop (Movi & HTML5): High-performance WASM & WebCodecs engine (movi-player) alongside an optimized HTML5 video player backend with auto-failover.
  • Subtitle Engine:
    • Full SSA/ASS styling and positioning via @jellyfin/libass-wasm (compiled to WebAssembly) with custom font support and low-VRAM modes.
    • Native PGS image-based subtitle decoding via libpgs.
    • Pure JavaScript text-based subtitle parser with granular styling overrides (color, font, size, shadows, vertical positioning, offset tuning).
    • In-player subtitle search and download directly from OpenSubtitles/Jellyfin.
  • Player Controls (OSD):
    • Dynamic stream quality switching, audio/subtitle track selectors with persistence across episodes.
    • Chapter navigation, playback speed (0.5x–2.0x), aspect ratio overrides, and real-time playback info (bitrates, codecs, transcode reasons).
    • Synchronized scrolling lyrics for music playback, Now Playing queue management, and interactive Up Next auto-play countdowns.
    • High-performance Trickplay thumbnail previews while seeking.
  • Unified Remote & Input Navigation:
    • Full Samsung Smart Remote, LG Magic Remote (D-Pad & pointer), Android TV / Fire TV remotes (D-Pad, media keys, and hardware Back button interception), and Desktop keyboard / mouse controls.
  • Integrations & Plugins:
    • Seerr (Jellyseerr / Overseerr): Native discovery page, trending carousels, full search, per-season requests, and TMDB-backed "Where to Watch" streaming availability (Requires Litefin Plugin).
    • Intro Skipper: Automatic detection and instant skipping of TV show intros and recaps.
    • SyncPlay: Real-time synchronized group viewing over WebSockets.
    • MDBList: Multi-source community ratings (IMDb, Rotten Tomatoes, Metacritic, Trakt, TMDB, Letterboxd) directly on cards and banners.
    • Local Intros: Seamless playback of custom pre-roll cinema bumpers.
    • JellyEmu: Native retro gaming launcher and UI for emulated games.
  • TV & Desktop Interface & Theming:
    • 6+ dynamic themes (Classic Dark/Light, True Black, Tinted Light/Dark, Ambient Glow).
    • 5 customizable sidebar styles (Classic, Modern, Collapsed Modern with tooltips, Floating Buttons, Floating Island).
    • Multiple media card & row presentations (Classic rows, Modern cards, Modern posters, Expanding posters).
    • Canvas-based BlurHash placeholder decoding for buttery-smooth image loading.
  • Comprehensive Media Support:
    • Movies, TV Series, Music, Live TV (with full EPG grid, timer scheduling, and recording playback), Photos/Slideshows, and Multi-part media (CD1/CD2) auto-chaining.
    • Jellyfin 12 ready: supports filters2, multi-source trickplay streams, and modern API headers.
  • Admin Features: Edit item images, run metadata identification, and trigger library scans directly from the remote control.
  • Multi-Tier Server Discovery: Instant connection via webOS Luna Service, Tizen HTTP service, local subnet scanning, Quick Connect QR code, and Wake-on-LAN (WoL) cold-boot support.
  • Cross-Platform Build Pipeline & Packaging:
    • Smart TVs: 4 optimized build tiers per platform (Modern, Normal, Legacy, Ultra-Legacy) supporting everything from modern 2024+ smart TVs all the way back to Tizen 2.3+ and webOS 1.0+ (Chromium 32+).
    • Android TV & Fire TV: Native APK packages powered by Tauri v2 and Media3 ExoPlayer.
    • Desktop: Native cross-platform bundles for Windows (.exe, .msi), Linux (.deb, .AppImage, .rpm), and macOS (.dmg) built with Tauri v2.

Documentation

Comprehensive documentation is available in the documentations directory:

  • Overview: Project introduction and the 8x build strategy.
  • Architecture: Framework details (EventBus, FocusManager, Plugins).
  • Plugins: How the plugin system works and how to create them.
  • Playback: Tizen AVPlay, web-OS adapters, and Subtitle Manager.
  • Features: Categorized list of all implemented functionality.
  • UI & UX: Design system, components, and animation principles.
  • Screenshots: Visual previews of the application.
  • Development: Build pipeline, variants, and deployment guide.
  • Localization: A doc for translation contributions.

Quick Start (Development)

# Install dependencies
npm install

# Build Smart TV web bundles (Tizen / webOS)
npm run build
npm run package

# Build and package for Desktop (Windows, Linux, macOS via Tauri)
npm run package:desktop
# Or platform-specific:
npm run package:windows
npm run package:linux
npm run package:macos

# Build and package for Android TV & Fire TV (.apk via Tauri)
npm run package:android-tv

Quick Installation

Samsung Tizen TVs

The easiest way to install on a Samsung TV is with the Apps2Samsung installer:

  1. Download the latest .wgt from the Releases page.
  2. Use Apps2Samsung to sideload the .wgt to your TV.
  3. (Optional) Install and Configure Litefin Plugin on your Jellyfin server.

LG webOS TVs

Litefin can be installed on LG TVs using the Homebrew Channel:

  1. Install the Homebrew Channel on your LG TV by following the instructions in its repository.
  2. Either install through the Homebrew Channel UI or download the latest .ipk for your hardware from the Releases page.
  3. Open the Homebrew Channel on your TV and use the Package Manager to sideload the .ipk file.
  4. (Optional) Install and Configure Litefin Plugin on your Jellyfin server.

Android TV & Amazon Fire TV

  1. Download the latest .apk from the Releases page.
  2. Sideload the .apk file using adb (adb install litefin.apk), Send Files to TV (SFTV), Downloader, or your preferred file manager.
  3. (Optional) Install and Configure Litefin Plugin on your Jellyfin server.

Desktop (Windows, Linux, macOS)

  1. Download the installer or package for your OS from the Releases page:
    • Windows: .msi or .exe installer.
    • Linux: .deb, .rpm package, or standalone .AppImage.
    • macOS: .dmg disk image.
  2. Install and launch Litefin on your machine.

Keyboard Controls (Desktop & Web)

Key / Shortcut Action
Space / K Play / Pause toggle
J / L Seek backward / forward 10 seconds
← / → Navigate UI items or seek timeline during playback
↑ / ↓ Navigate UI items, menus, and OSD controls
Enter Select / Activate focused item or reveal OSD
Esc / Backspace Go back / Close modal / Exit player
F / F11 Toggle Fullscreen
M Mute / Unmute audio
Media Keys Hardware Play, Pause, Next, Previous, Stop

Support

If Litefin is useful to you, please consider supporting the development:

A massive thank you to the individuals supporting the development of LiteFin!

Paul Becker
Paul Becker
massoncl
Clément Masson
Scoty
Anton Antonov
Martin Ericson
Martin Ericson
pzmarzly
Paweł Zmarzły
witks
witek
DatAres37
DatAres37
Dani Tesler
Dani Tesler
h3xler
h3xler
d-stl
domantas
TheColin21
Colin P
cozyportal
cozyportal

License

Litefin is subject to the terms of the Mozilla Public License, v. 2.0. See the LICENSE file for more details.