No description
This repository has been archived on 2026-08-04. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • JavaScript 88.8%
  • C# 9.3%
  • CSS 1.4%
  • HTML 0.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-09 08:47:27 +02:00
.idea Update 2026-07-03 17:58:06 +02:00
Controllers Update 2026-07-03 18:41:57 +02:00
Core modificações 2026-05-24 00:50:08 -03:00
Hosting v0 2026-05-24 01:37:27 -03:00
img modificações 2026-05-24 00:50:08 -03:00
Infrastructure modificações 2026-05-24 00:50:08 -03:00
Properties Add files via upload 2025-09-02 20:43:33 +03:00
Resources/slider Update 2026-07-09 08:44:59 +02:00
RuntimeModules versão 1.0.0.0 2026-05-24 12:14:08 -03:00
Web Update 2026-07-03 17:58:06 +02:00
.gitignore See CHANGELOG.md for the complete list of changes 2026-07-01 14:41:26 -03:00
AGENTS.md Update 2026-07-03 17:58:06 +02:00
AssetVersioning.cs modificações 2026-05-24 00:50:08 -03:00
CHANGELOG.md See CHANGELOG.md for the complete list of changes 2026-07-01 14:41:26 -03:00
EmbeddedAssetHelper.cs modificações 2026-05-24 00:50:08 -03:00
IndexPatcher.cs modificações 2026-05-24 00:50:08 -03:00
InMemoryRewriterFileProvider.cs modificações 2026-05-24 00:50:08 -03:00
JMSFusion.csproj Update 2026-07-09 08:44:59 +02:00
JMSFusionConfiguration.cs modificações 2026-05-24 00:50:08 -03:00
JMSFusionPlugin.cs modificações 2026-05-24 00:50:08 -03:00
JMSFusionServiceRegistrator.cs modificações 2026-05-24 00:50:08 -03:00
LICENSE Update LICENSE 2026-07-01 14:54:04 -03:00
manifest.json Update 2026-07-09 08:47:27 +02:00
meta.json Update 2026-07-09 08:44:59 +02:00
MiddlewareExtensions.cs modificações 2026-05-24 00:50:08 -03:00
package_release.sh Update 2026-07-03 19:05:53 +02:00
README.md Update 2026-07-03 19:05:53 +02:00
update_meta.sh modificações 2026-05-24 00:50:08 -03:00

Nexus PobreFlix Logo

Nexus PobreFlix Plugin (Jellyfin Edition)

Die visuelle Premium-Erfahrung fuer deinen Jellyfin-Server - mit Nexus-Purple-Theme und deutscher Oberflaeche.

Status Language Version Fork Origin Listed on JellyWatch Hub


Projekt Und Ursprung

Nexus PobreFlix ist eine visuelle Erweiterung fuer Jellyfin-Server und basiert auf dem urspruenglichen JMSFusion-Plugin.

Dieses Projekt ist ein Fork des von G-Grbz entwickelten JMSFusion-Plugins. Die Nexus-PobreFlix-Edition wird von ONeithan gepflegt und erweitert. Ziel ist eine kinoartige, Netflix-aehnliche Jellyfin-Oberflaeche mit Nexus-Purple-Branding, optimierter Darstellung, erweiterten Medienfunktionen und einer deutsch ausgerichteten Benutzeroberflaeche.


Technische Architektur

Das Plugin arbeitet mit einer hybriden Architektur aus C#-Backend-Injektion und JavaScript/CSS-Frontend-Modulen. Dadurch werden Anpassungen in den Jellyfin-Webclient eingebunden, ohne den Server dauerhaft zu veraendern oder die Standardinstallation unnoetig zu belasten.

flowchart TD
    A[Jellyfin Server startet] --> B[JMSFusion C# Plugin wird geladen]
    B --> C[IndexPatcher findet und verarbeitet index.html]
    C --> D[Bootstrap-JS wird in den HTML-Head eingefuegt]
    D --> E[storagePreload.js laeuft vor dem App-Start]
    E --> F[Design-System-CSS und Theme-Variablen werden geladen]
    E --> G[Logo-Schutz und zentriertes Login werden angewendet]
    E --> H[Sitzungsstatus wird per MutationObserver ueberwacht]

1. Hybride Injektion (IndexPatcher.cs)

Das C#-Backend ueberwacht den Jellyfin-Start und findet die physische index.html des Webclients. Dort wird ein Script-Tag zum lokalen Bootstrap eingefuegt. So werden Theme, Splash-Screen und Runtime-Module frueh geladen und der typische kurze Wechsel vom Standardlayout zum angepassten Layout wird reduziert.

2. Login-Lebenszyklus (storagePreload.js)

Das Preload-Script beobachtet den Authentifizierungsstatus des Jellyfin-Webclients ueber einen schlanken MutationObserver am Element #loginPage.

  • Abgemeldet: Die Klasse jms-logged-out wird auf body gesetzt, die Navigation (.skinHeader) wird ausgeblendet und das zentrale Login-Layout mit Hintergrund wird aktiviert.
  • Angemeldet: Die Klasse wird entfernt, der Header wird wiederhergestellt und das geschuetzte Nexus-PobreFlix-Logo wird angezeigt.

3. Offline-faehige Assets

Bilder, Logos, Runtime-Scripte und UI-Ressourcen werden als Embedded Resources in die Plugin-DLL kompiliert und lokal ueber ASP.NET-Core-Controller wie JMSFusionAssetsController.cs ausgeliefert. Dadurch funktioniert die Oberflaeche auch in lokalen Netzwerken ohne externe CDN-Abhaengigkeit.


Funktionen

Nexus-Purple-Designsystem

Die administrative Plugin-Konfiguration und viele sichtbare Jellyfin-UI-Komponenten wurden auf das Nexus-Purple-Theme (#7a5cff) umgestellt. Dazu gehoeren Slider, Buttons, Detailmodale, Fortschrittsleisten und weitere Oberflaechenelemente.

Geschuetztes Und Zentriertes Login

Das Login-Panel wird auf Desktop und Mobilgeraeten zentral dargestellt. Zusaetzliche CSS-Regeln entfernen stoerende Rest-Elemente der Login-Seite nach erfolgreicher Anmeldung.

PobreFlix-Logo-Schutz

Das PobreFlix-Logo wird mit besonders spezifischen CSS-Regeln gegen konkurrierende Theme-Regeln abgesichert. Native Jellyfin-SVGs werden ausgeblendet und durch das lokale Nexus-PobreFlix-Logo ersetzt.

Freier Header

Der obere Jellyfin-Header (.skinHeader) ist nicht fixiert, sondern scrollt natuerlich mit der Seite. Dadurch bleibt beim Navigieren mehr sichtbarer Raum fuer Inhalte.

Intelligenter Trailer-Manager

YouTube-Trailer und lokale HTML5-Player werden automatisch leiser abgespielt:

  • Standardlautstaerke: maximal 5%.
  • Hover-Absenkung: beim Ueberfahren aktiver Trailer-Karten sinkt die Lautstaerke auf 1% und kehrt danach zu 5% zurueck.

Deutsche Sprachfuehrung

Die zentralen Sprachvariablen sind auf Deutsch ausgerichtet. Auch gespeicherte oder automatisch erkannte Sprachcodes wie por, eng, tur, spa, fre, rus oder auto werden zur deutschen Label-Datei geleitet.


Installation Und Deployment

Methode 1: Repository Hinzufuegen (Empfohlen)

So erhaeltst du automatische Plugin-Updates direkt im Jellyfin-Dashboard:

  1. Oeffne das Jellyfin-Administrationsdashboard.
  2. Gehe zu Plugins -> Repositories und klicke auf Add bzw. Hinzufuegen.
  3. Trage im Feld URL folgenden Link ein:
https://forge.no404.eu/Fraggle/Nexus-PobreFlix/raw/branch/main/manifest.json
  1. Setze den Namen auf Nexus PobreFlix Repository, speichere die Einstellung und installiere das Plugin aus dem Catalog bzw. Katalog.

Methode 2: Manuelle Installation

  1. Lade die ZIP-Datei der stabilen Version aus den Forge-Releases herunter, zum Beispiel NexusPobreFlix-1.0.0.2.zip.
  2. Oeffne den Jellyfin-Serverordner und suche das Verzeichnis plugins. Unter Windows liegt es normalerweise unter %ProgramData%/Jellyfin/Server/plugins.
  3. Erstelle einen Unterordner namens NexusPobreFlix.
  4. Entpacke die Plugin-DLL und meta.json aus der ZIP-Datei in diesen Ordner.
  5. Starte den Jellyfin-Server neu.
  6. Leere im Client den Browsercache, zum Beispiel mit Ctrl + F5.

Methode 3: Desktop-Client (Windows-PC)

Fuer Windows-PCs oder TV-Setups mit Controller-Unterstuetzung kann der angepasste Launcher genutzt werden:

  1. Lade den Client herunter: Nexus-jellyfin-desktop.
  2. Der Client startet im Kiosk-Vollbildmodus, behandelt lokale HTTP-Kontexte passend fuer die Gamepad API und speichert die Anmeldung automatisch im Ordner perfil-pobreflix.

Code-Struktur

Nexus-PobreFlix/
├── bin/Release/net9.0/      # Kompilierte Binaries
├── Controllers/            # API-Routen und lokale Ressourcencontroller
├── Core/                   # C#-Logik, Trailer-Automation und Runtime-Hooks
├── img/                    # Repository-Grafiken, Logo und Icon
├── Properties/             # Build-Definitionen
├── Resources/
│   └── slider/             # Slider-, Player-, Sprach- und Style-Dateien
│       ├── main.js         # Zentrale JS-Initialisierung fuer UI-Injektion
│       └── src/            # Stylesheets (CSS)
├── RuntimeModules/         # Bootstrap-Scripte wie storagePreload.js und splash.js
├── Web/                    # HTML/JS fuer die administrative Konfiguration
├── JMSFusion.csproj        # MSBuild-Projektdatei
├── manifest.json           # Auto-Update-Manifest
└── meta.json               # Plugin-Metadaten fuer den Katalog

Entwicklung

Das Projekt zielt auf .NET 9 und Jellyfin 10.11.0.

dotnet restore JMSFusion.csproj
dotnet build JMSFusion.csproj -c Release

Neue Frontend-Assets sollten unter Resources/, RuntimeModules/ oder Web/ liegen, da diese Pfade in JMSFusion.csproj als Embedded Resources eingebunden sind.


Release-Hinweise

Bei neuen Releases muessen diese Stellen zusammenpassen:

  • JMSFusion.csproj: Version und Assembly-Version
  • meta.json: Plugin-Version, ABI und Metadaten
  • manifest.json: Release-Version, Download-URL, Checksumme und Timestamp
  • Release-ZIP: Plugin-DLL und meta.json

Die Release-ZIP kann mit dem lokalen Skript erstellt werden:

./package_release.sh 1.0.0.2

Das Skript erstellt dist_release/NexusPobreFlix-1.0.0.2.zip und gibt die MD5-Checksumme aus. Lade diese ZIP anschliessend in Forgejo/Gitea als Release-Asset zum Tag v1.0.0.2 hoch. Die Download-URL muss danach zur sourceUrl in manifest.json passen:

https://forge.no404.eu/Fraggle/Nexus-PobreFlix/releases/download/v1.0.0.2/NexusPobreFlix-1.0.0.2.zip

Lizenz Und Autorschaft

  • Basiscode (JMSFusion): Entwickelt von G-Grbz, lizenziert unter MIT.
  • Nexus-PobreFlix-Edition: Visuelle Anpassungen, Rebranding und Erweiterungen gepflegt von ONeithan, deutsche Fork-Anpassungen unter Fraggle/Nexus-PobreFlix.


Nexus PobreFlix
Entwickelt fuer die Nexus-PobreFlix-Community.