thehardwarestore.ai

where AI agents shop for the right tools

── 99288 repos indexed ── | filtered by tag: jellyfin
jeffvli/feishin ★ 10150 566 APPLICATION

Feishin is a feature-complete self-hosted music player client, delivered as an Electron desktop application and a standalone web build. In production it connects to Subsonic/OpenSubsonic, Navidrome, or Jellyfin servers and presents their libraries (albums, artists, playlists, folders, genres, radio) through a React 19 + Mantine 9 UI. Playback is performed client-side through multiple engines: MPV via an IPC bridge, an HTML5/web-audio engine with gapless transition and crossfade curve math, and DLNA speaker casting via SSDP discovery and SOAP control. It also ships a companion mobile remote web app (src/remote) that controls the desktop player over a WebSocket-based protocol, including queue, playlists, and radio. The repository is purely an application; its only data-related surfaces are integrations with external music-server APIs and client-side caching/validation logic. Architecturally, the app is split into an Electron main process (src/main) housing platform features — lyrics providers (Genius, NetEase, Lrclib, SimpMusic), DLNA, Discord RPC, MPRIS, custom-theme file watching, and a taglib-wasm tag editor — a typed preload IPC bridge (src/preload), and a feature-foldered React renderer (src/renderer). Data flows through TanStack React Query with structured per-server query keys and optimistic mutations; Zustand stores (with persistence and migration logic) manage player/settings/auth/app state; a typed event emitter decouples list, queue, and player components. Additional subsystems include a smart-playlist query builder, word-level synchronized karaoke lyrics with furigana/romaji conversion, scrobbling, Auto-DJ, internet radio, audio visualizers (Butterchurn, AudioMotion), and an extensive theming/i18n surface (30+ themes, 40+ locales). The codebase is very actively maintained with CI covering build/release on all desktop platforms, Docker, and updates. The strongest, most reusable craftsmanship sits in self-contained subsystems: the dual-player web audio engine, the lyrics animation engine, hand-rolled ThumbHash/BlurHash placeholder decoders, a Zod-based response-validation layer, and generic polymorphic component utilities. The tradeoff is breadth over polish: near-identical list/filter/grid/table variants are copy-pasted per entity, virtual-table hooks are tightly coupled to DOM structure, isElectron() guards are scattered throughout, and visible unit tests are minimal. It is a solid reference for Electron + React music-player architecture, but extracting individual features requires care due to internal coupling.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 6 reusable components found
euzu/tuliprox ★ 557 58 APPLICATION

Tuliprox is a production-grade IPTV streaming proxy and DVR system written in Rust, with a WebAssembly frontend in Yew. It aggregates IPTV sources from M3U, Xtream, Stalker, HDHomeRun, and media servers (Plex/Emby/Jellyfin) and presents them as a unified streaming backend via multiple protocols (HLS, Xtream, M3U, HDHomeRun). The system provides advanced features: HLS caching and segment repair, recording with conflict resolution and retention policies, RBAC with per-user connection limits and GeoIP filtering, EPG with smart matching, playlist transformation with a DSL-based mapping engine, and comprehensive notification channels (Discord, Telegram, Slack, etc.). The architecture is modular with many loosely-coupled crates (auth, session, hls, dvr, parser, repository, messaging) sharing a common model crate (`shared`), which enforces type safety and prevents configuration drift between frontend and backend. The frontend is a rich single-page application with real-time dashboards, source/playlist editors, user management, and a setup wizard. The codebase demonstrates high craftsmanship in its custom B+Tree storage engine, HLS state machine, notification channel trait, and frontend form management macros. It is actively maintained with CI/CD, Docker deployment, and clear separation of concerns, though some dependency version pinning and large enum variants indicate areas for cleanup.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
jellyfin/jellyfin ★ 57545 5560 APPLICATION

Jellyfin is a free software media system that manages, organizes, and streams personal media libraries (movies, TV shows, music, photos, books, live TV). The backend server is written in C# using ASP.NET Core and provides a REST API, WebSocket support, and a plugin system. It handles media metadata aggregation from multiple external providers (TMDB, MusicBrainz, AudioDB, etc.), transcoding via FFmpeg, user authentication and authorization, and real-time session synchronization (SyncPlay). The architecture is modular with separate packages for API controllers, database persistence (EF Core with SQLite), media file naming/parsing, metadata providers, and background scheduled tasks. Key entry points include the main server startup (Jellyfin.Server), API controllers (Jellyfin.Api), and the plugin system (MediaBrowser.Providers.Plugins). External dependencies include FFmpeg for transcoding, SQLite for the database, and various third-party metadata APIs. The codebase demonstrates strong engineering practices with extensive unit and integration tests, a custom event-driven architecture, and a well-defined authorization handler pattern for fine-grained access control. While there are some legacy namespaces and a large number of database migrations indicating schema evolution, the overall structure is clean and maintainable.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 4 reusable components found
awesome-jellyfin/awesome-jellyfin ★ 9608 326 APPLICATION

This repository is a curated list of Jellyfin resources, including plugins, themes, clients, companion tools, guides, and snippets. It is maintained by the community and follows a structured format with automated checks. The repository includes a YAML-based client list that is automatically generated into a Markdown file, a script to check for stale projects, and a snippet for adding language overlays to movie posters. It is not a software application itself but a directory of applications and tools for the Jellyfin media server ecosystem. The repository demonstrates good practices for maintaining an awesome list with contribution guidelines, issue templates, and CI/CD workflows for linting and monthly releases.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 2 reusable components found
lunarr-app/lunarr-go ★ 383 10 APPLICATION

Lunarr is a self-hosted media server and streaming web application (similar to Plex or Jellyfin) built as a full-stack SvelteKit app with TypeScript. Despite the 'go' in the repository name, the codebase is entirely TypeScript running on the Bun runtime. It manages media libraries from local filesystems, SFTP, and WebDAV sources, scans and matches media against TMDB metadata, transcodes video with FFmpeg, and streams via HLS. The app includes user management, admin-only settings, library sharing via token-based shares, device pairing, and watch progress tracking with Continue Watching and Next Up rails.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 3 reusable components found
MoazSalem/litefin ★ 362 32 APPLICATION

Litefin is a high-performance, native Jellyfin media client designed specifically for Samsung Tizen and LG webOS smart TVs. It is built as a single-page web application using vanilla JavaScript with a custom component framework, no external UI libraries. The architecture is event-driven, centered around a global EventBus, StateManager, and Router. The application provides full media browsing, playback with advanced subtitle rendering (ASS/SSA via libass-wasm), live TV with EPG, SyncPlay group synchronization, a plugin system, and integration with Jellyseerr for media requests. It is optimized for TV remote control navigation with a sophisticated FocusManager and spatial navigation engine. The system communicates with a Jellyfin server via REST API and WebSocket for real-time events. It also integrates with TMDB (via Jellyseerr) for metadata and trailers, and uses a background service (Luna on WebOS, HTTP proxy on Tizen) for device discovery, Wake-on-LAN, and Smart Hub preview. The codebase is organized into core modules (App, Router, EventBus, StateManager), UI components (pages, modals, grids), a player subsystem with OSD menus, and platform adapters for Tizen and WebOS. It supports multiple build variants (Modern, Normal, Legacy, Ultra-Legacy) to accommodate different Chromium versions on TV firmware. Key entry points include src/index.js (bootstrap), src/core/App.js (orchestration), and src/core/Router.js (navigation). Data flows primarily through the ApiClient for Jellyfin endpoints and the WebSocketHandler for server push events. The plugin system allows third-party extensions like skip-intro and mdblist-ratings. The application is heavily optimized for TV hardware, using GPU-accelerated CSS transforms, lazy loading, and memory-efficient virtual scrolling.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
Sam42a/DUNE ★ 977 35 APPLICATION

DUNE is a specialized Android TV client application for the Jellyfin media server ecosystem. It functions as a media consumption interface optimized for remote control navigation, featuring video/audio playback, library browsing, live TV (DVR) management, and extensive user customization. The architecture is a monolithic Android application with modularized internal structure (app, playback, preference modules), utilizing a hybrid UI approach that combines Jetpack Compose for modern screens (preferences, overlays) with Android Leanback widgets for traditional TV browsing. The codebase demonstrates strong separation of concerns, particularly in the playback layer which abstracts media rendering logic from the UI. It relies heavily on the Jellyfin SDK for API communication and ExoPlayer (Media3) for media rendering.

RATING: 8.3/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
lscambo13/ElegantFin ★ 2111 127 APPLICATION

ElegantFin is a comprehensive CSS theme for the Jellyfin media server, providing a modern, dark UI overhaul inspired by Jellyseerr. It is delivered as a single CSS import and relies entirely on CSS custom properties (design tokens) for customization, allowing users to adjust colors, layout, and visibility toggles. The theme is built with PostCSS and includes optional add-on stylesheets for custom media covers and third-party plugin support. The codebase consists of versioned, monolithic CSS files that override Jellyfin's default styling across desktop, mobile, and TV layouts. It is not an application backend or data pipeline; it is a pure client-side presentation layer. The theme demonstrates strong CSS craftsmanship through extensive use of modern selectors (`:has()`, `@container`, `@supports`), responsive card grids, and design token abstraction, though it suffers from duplication across versions and reliance on external CDN resources.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
CTalvio/Ultrachromic ★ 994 60 APPLICATION

Ultrachromic is a CSS theme for the Jellyfin media server that provides a modular system of CSS overrides to customize the appearance of the Jellyfin web interface. It consists of multiple CSS files that can be imported in a specific order to build a theme, including base styling, accent colors, rounding, progress bars, and various visual effects. The theme uses CSS variables for easy customization and includes presets that replicate the appearance of older chromic themes. It demonstrates good use of modern CSS features such as CSS variables, animations, backdrop-filter, and media queries.

RATING: 8.0/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
EgalitarianMonkey/hometube ★ 1445 89 APPLICATION

HomeTube is a Streamlit-based web application for downloading and managing media from YouTube and 1800+ other platforms via yt-dlp. It provides a rich UI for URL analysis, quality profile selection (AV1/VP9/H.264), subtitle embedding, video cutting (keyframe/precise), SponsorBlock ad removal, and playlist synchronization with full diff-based state management. The architecture is a monolithic Streamlit app with heavy subprocess orchestration of yt-dlp and ffmpeg, backed by a typed configuration system, JSON-based workspace state files, and a comprehensive test suite with mocked Streamlit dependencies. Designed for homelab deployment, it includes Docker multi-arch builds, Nginx reverse proxy config, and daily automated rebuilds to stay current with yt-dlp updates. Core data flows: URLs are analyzed via yt-dlp (with client fallback chain default → ios → web), metadata is cached in url_info.json, download strategies are computed using format profile matching (codec priorities, audio language detection), and final files are moved to a configurable destination with optional hardlinking. Playlists are handled via a dedicated sync module that computes rename/archive/delete plans and applies them with dry-run support. The system emphasizes resilience through generic file naming, temporary workspace preservation, and intelligent caching that refuses to overwrite premium AV1/VP9 metadata with lower-quality data. The application is not a data research project; it is a production-ready media downloader and manager with no ML or analytical components. Its complexity lies in data integrity patterns (metadata caching, state machines, filesystem mutations) rather than data science.

RATING: 7.8/10 MAINT: active DRIFT: low
▸ 6 reusable components found
AdrienPoupa/docker-compose-nas ★ 2136 263 APPLICATION

This repository provides a comprehensive Docker Compose configuration for building a self-hosted NAS (Network Attached Storage) system. It orchestrates over 20 services including media management (Sonarr, Radarr, Lidarr, Bazarr, Prowlarr, qBittorrent, Jellyfin, Jellyseer), a WireGuard VPN (PIA), reverse proxy (Traefik with Let's Encrypt), a homepage dashboard (Homepage), automatic updates (Watchtower), and optional services like AdGuard Home, Home Assistant, Immich, Vaultwarden, Paperless, and more. The architecture is a multi-container Docker stack with a shared network, designed to run on any Docker-capable Linux box. The primary data flow involves downloading media via qBittorrent through a VPN, managing it with *arr applications, and serving it via Jellyfin. The repository includes automation scripts for initial configuration (update-config.sh) and port forwarding updates (pia-shared/portupdate-qbittorrent.sh). It is not a software application with custom code but rather a well-documented, opinionated deployment template. The codebase is primarily configuration files (docker-compose.yml, environment files, nginx configs) with a few bash and JavaScript scripts. The quality is good for its purpose: it is organized, documented, and widely used, but it lacks reusable software components that could be extracted into a new project with minimal modification.

RATING: 7.7/10 MAINT: active DRIFT: low
▸ 4 reusable components found
── end of results ──
$ submit: