Skip to content

G-grbz/Jellyfin-MonWUI-Plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,154 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jellyfin MonWUI Plugin

monwui

An all-in-one JavaScript toolkit for Jellyfin, featuring a customizable Media Slider builder, music player, Netflix-style pause screen, Netflix-like HoverVideo, quality labels on cards, DiceBear avatar generator, and a sleek notification panel.

📑 Table of Contents


🖼️ Screenshots


Details Modal

Hero Card

Showcase View

Diagonal Showcase View

Compact View

Full Screen

Normal View

Pause Screen

Notification Modal

Settings Panel

GMMP Music Player

Age Badge

HoverTrailers

Popovers

Who is watching?

Choose Avatar

✨ Features

  • User-specific slider lists (per-profile row configuration)

  • Automatic slider list refresh (keeps rows up to date without manual reloads)

  • Customizable Jellyfin API integration for sliders (endpoint/behavior tuning)

  • Manual positioning controls for better theme compatibility

  • GMMP Music Player

  • Pause Screen + Smart Pause, including Netflix-style age rating badges

  • Avatar Generator (DiceBear-powered)

  • 600+ pre-made avatars with a built-in avatar picker

  • Netflix-style “Who’s Watching?” profile chooser

  • Global Quality Badges across Jellyfin (consistent quality labels)

  • Netflix-style hover trailer module (or a lighter popover alternative)

  • Newly Added Content & Notifications module

  • Studio Hubs (Disney+ style)

  • Enhanced Home Screen cards

  • Trailer & theme video downloader / NFO helper (trailers sourced from TMDB)

  • Lyrics downloader module

  • Netflix-style details overlay used by the enhanced home cards

  • Advanced Settings Panel to enable/disable and manage all modules in one place


Acknowledgment to BobHasNoSoul

The concept of the JMS slider, as well as its integration into Jellyfin’s index.html, was entirely conceived by BobHasNoSoul. The JMS concept is entirely built on that structure. I would like to thank him for his contribution: https://github.com/BobHasNoSoul


⚙️ Installation

Installation with a plugin

  • Log in to your Jellyfin admin dashboard.
  • Go to the Plugins section.
  • Open the Catalog tab.
  • Add a new repository with this URL:
https://raw.githubusercontent.com/G-grbz/Jellyfin-MonWUI-Plugin/main/manifest.json
  • Install JMS-Fusion.
  • Restart Jellyfin.
  • Refresh homepage with Ctrl + F5.

Manual Installation

Windows

  • Extract the archive
  • Run install.bat as admin
  • Clear browser cookies

Uninstall: run uninstall.bat as admin.

Linux

git clone https://github.com/G-grbz/Jellyfin-MonWUI-Plugin
cd Jellyfin-MonWUI-Plugin/Resources/slider/

Run installer:

sudo chmod +x install.sh && sudo ./install.sh

Clear browser cookies.

List Update Script

listUpdate updates lists at intervals.

Edit .env for configuration.

Script Options

  • itemLimit: Max item count
  • garantiLimit: Minimum guaranteed per content type
  • listLimit: Max stored old lists
  • listRefresh: Refresh interval (ms)
  • listcustomQueryString: Custom Jellyfin API parameters

Permissions

sudo chmod -R a+rw /usr/share/jellyfin/web/slider/list && \
sudo chmod -R a+rw /usr/share/jellyfin/web/slider/listUpdate

Install deps:

cd /usr/share/jellyfin/web/slider/listUpdate && npm install dotenv node-fetch

Run:

node updateList.mjs

Uninstall:

sudo chmod +x /usr/share/jellyfin/web/slider/uninstall.sh && sudo sh /usr/share/jellyfin/web/slider/uninstall.sh

🎵 Synchronized Lyrics Script

A standalone script to fetch synchronized lyrics from lrclib.net.

Requirements: curl, jq, find

Filename format: 'artist' - 'track title'

Install:

curl -fsSL -o trailers.sh "https://raw.githubusercontent.com/G-grbz/Jellyfin-MonWUI-Plugin/main/Resources/slider/lrclib.sh"
chmod +x lrclib.sh

Usage:

sh lrclib.sh /Path/To/Music

Overwrite:

sh lrclib.sh /Path/To/Music --overwrite

🎬 Trailer Scripts

Two scripts:

  • trailers.sh → downloads MP4 trailers
  • trailersurl.sh → adds trailer URL into NFO files

Both use TMDb.

Which one?

  • Use trailers.sh for offline MP4 trailers
  • Use trailersurl.sh for online streaming trailers (no downloads)

Features

  • Movies + Series support
  • Multilanguage trailer lookup
  • Metadata refresh
  • Summary report

Requirements

  • curl, jq
  • plus yt-dlp + optional ffprobe for trailers.sh

Installation

(Commands for major distros included in original text.)

Get scripts

curl -fsSL -o trailers.sh "https://raw.githubusercontent.com/G-grbz/Jellyfin-MonWUI-Plugin/main/Resources/slider/trailers.sh"
curl -fsSL -o trailersurl.sh "https://raw.githubusercontent.com/G-grbz/Jellyfin-MonWUI-Plugin/main/Resources/slider/trailersurl.sh"
chmod +x trailers.sh trailersurl.sh

Environment Variables

(Full table retained, only English content preserved.)


Usage

Download trailers:

JF_BASE="http://server:8096" \
JF_API_KEY="KEY" \
TMDB_API_KEY="TMDB" \
COOKIES_BROWSER=chrome \
MIN_FREE_MB=2048 \
ENABLE_THEME_LINK=1 \
OVERWRITE_POLICY=if-better \
./trailers.sh

Add only URL:

JF_BASE="http://server:8096" \
JF_API_KEY="KEY" \
TMDB_API_KEY="TMDB" \
./trailersurl.sh

Systemd Timer

(Service + timer examples retained.)


📄 License

MIT License

Copyright (c) 2026 G-grbz

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.


⚠ Disclaimer

This software is provided “as is”, without warranty of any kind. Use it at your own risk.

About

Enhances the Jellyfin web interface with a smart media slider, hover trailers, smart recommendations, Netflix-style age badges, smart pause screens, advanced detail panels, notifications and many more UI enhancements for a richer user experience.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors