App

Jellify-MusicMIT活跃维护

基于 React Native 的跨平台开源音乐播放器,连接 Jellyfin 媒体服务器播放自建音乐库,支持 Android Auto 和 CarPlay。

A cross-platform, free and open source music player for Jellyfin, powered by React Native

1.4.1-ota.1发布于 2026-11-08 18:44 UTC1,866star +3 / 7 天76fork同步于 2026-11-10 11:46 UTC

怎么上手

由 README 提炼,执行前请确认
从 Google Play 或 App Store 安装,或到 releases 页面下载 .APK / .IPA
硬件要求按 README 说明

README 未说明硬件要求;这是 iOS 和 Android 移动应用,需连接 Jellyfin Media Server 才能使用。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

Jellyfin 音乐服务器的跨平台开源客户端,用 React Native 打造 iOS 和 Android 播放器

基于 React Native 的跨平台开源音乐播放器,连接 Jellyfin 媒体服务器播放自建音乐库,支持 Android Auto 和 CarPlay。

核心能力

  • 浏览、搜索并播放 Jellyfin 音乐库
  • 支持离线播放与无损衔接播放
  • 基于 Instant Mix 和 Suggestions 做算法推荐
  • 支持 CarPlay 与 Android Auto 车载播放
  • 支持播放列表创建、更新与排序

容易踩的坑

必须自备并连接 Jellyfin Media Server,否则无法使用;Google Cast 支持仍处于早期阶段;自签名证书支持在 1.4 路线图中,尚未提供

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本1.4.1-ota.1
  1. 1.4.1-ota.11.4.1 OTA 1最新正式版2026-11-08 · 2026-11-08 18:44 UTC

    Welcome to Jellify 1.4.1 OTA 1

    This update is being delivered over-the-air, so Jellify will automatically download it the next time you open the app and then prompt you to restart. I have spent some time tidying up the internal architecture to ensure everything runs as smoothly as possible. These changes are designed to improve reliability and make the app feel more polished during your daily listening sessions.

    • I have introduced a centralized error handling system that uses toast notifications to keep you informed. This makes identifying and understanding issues much more straightforward and user-friendly.
    • You can now tap on any error toast to automatically copy the technical details to your clipboard. This is a huge win if you ever need to share specific logs with the team for troubleshooting.
    • I have refactored several internal stores and navigation states to optimize how the app handles data and gestures. This includes a specific fix to ensure icons are displaying perfectly on Android devices.

    Issues addressed

    • Tap an error toast to copy the error to the clipboard (#1646)

    Pull requests

    • Refactor navigation state and remove unused imports for Android icon fix (#1649) by @anultravioletaurora
    • Implement centralized error handling with toast notifications (#1650) by @anultravioletaurora
    • Restructure player settings store into separate files (#1651) by @anultravioletaurora
    • Refactor swipe settings store to gestures and update imports (#1652) by @anultravioletaurora

    Contributors

    Thank you to @anultravioletaurora for contributing to this release!

    Full changelog: https://github.com/Jellify-Music/App/compare/1.4.1...1.4.1-ota.1

  2. 1.4.12026-11-08 · 2026-11-08 16:06 UTC
    查看更新说明

    Welcome to Jellify 1.4.1

    I am so happy to introduce our latest updates designed to make your music experience even more seamless. This release focuses on refining our internal architecture and enhancing the overall visual polish of the app. We also included some fun new features to help you connect with other Jellify fans.

    • We added support for iMessage sticker packs and an optional Discord role ID for release announcements. This makes it much easier to share your love for Jellify with friends and stay in the loop on our newest updates.
    • The app received a major refactor of our theme palettes and types to improve the structural consistency of the UI. You can expect a more refined and cohesive look throughout your music journey.
    • We updated several core dependencies, including tamagui and safe-area-context, to their latest versions. These updates improve the overall performance and ensure a more reliable experience on your device.

    Pull requests

    • Add support for retrieving enabled alias class in AppIconChangerModule (#1640) by @anultravioletaurora
    • Update dependencies to latest versions including tamagui and safe-area-context (#1641) by @anultravioletaurora
    • Refactor theme types and palettes for improved structure (#1642) by @anultravioletaurora
    • Add iMessage sticker pack support with assets and configurations (#1643) by @anultravioletaurora
    • Enhance AboutScreen with privacy policy link and improved readability (#1644) by @anultravioletaurora
    • Key CocoaPods cache by runner environment to avoid conflicts (#1648) by @anultravioletaurora

    Contributors

    Thank you to @anultravioletaurora for contributing to this release!

    Full changelog: https://github.com/Jellify-Music/App/compare/1.4.0...1.4.1

  3. 1.4.02026-11-07 · 2026-11-07 19:17 UTC
    查看更新说明

    Welcome to Jellify 1.4.0

    I am so excited to share all the wonderful improvements we have packed into this latest version! We have introduced some amazing new features like CarPlay support and several polish updates to your favorite interface elements. This update is all about making your music experience smoother, faster, and more enjoyable for everyone.

    • We have officially added CarPlay support, which includes a dedicated library tab for your road trips. We also introduced a new Your Playlists section and renamed the Add to Queue button to Play Later to make the app even more intuitive.
    • The shuffle feature is now nearly instant because we moved the logic to native operations to remove any lag. We also fixed several playback issues, including lyrics readability on light backgrounds, seeking on transcoded tracks, and Repeat All behavior on the final song.
    • You will notice much faster loading times when browsing your music library thanks to some significant performance optimizations. We also upgraded our internal caching system to ensure your favorite playlists are always ready to play.

    Issues addressed

    • [FEATURE] Add Ability to Switch App Icons (#370)
    • [BUG] Failed to "Play Next" with an Empty Queue (#551)
    • [BUG] Server Version not updating (#745)
    • [BUG] OGG Vorbis transcode even when streaming quality is set to original (#828)
    • [FEATURE] Add Library Tab to CarPlay (#1176)
    • [BUG] Seeking on a Transcoded Track Doesn't Work (#1308)
    • [BUG] Skipping next on the last track ignores "Repeat All" and stops playback (#1467)
    • [BUG] lyrics on white background (#1491)
    • [FEATURE] Centralized caches for user and public playlists (#1572)
    • [BUG] Shuffle toggle is slow — icon lags because tracks are removed one-by-one over the bridge (#1592)

    Pull requests

    • Inline lyrics in the player, fix lyrics readability on light artwork (#1545) by @anultravioletaurora
    • Fix server version not updating (#745) (#1546) by @anultravioletaurora
    • Direct play Ogg Opus on iOS (#828) (#1547) by @anultravioletaurora
    • Fix skip next ignoring Repeat All on the last track (#1549) by @anultravioletaurora
    • Fix Play Next / Add to Queue doing nothing when the queue is empty (#1550) by @anultravioletaurora
    • Fix seeking on transcoded tracks on Android (#1551) by @anultravioletaurora
    • Consistent release notes, tags and Discord announcements for full releases and OTAs (#1552) by @anultravioletaurora
    • Wrap to last track when skipping back from the first with Repeat All (#1553) by @anultravioletaurora
    • chore(deps): bump the tamagui group across 1 directory with 4 updates (#1557) by @dependabot[bot]
    • chore(deps-dev): bump @types/node from 26.6.5 to 26.6.6 in the types group across 1 directory (#1560) by @dependabot[bot]
    • chore(deps-dev): bump openai from 7.43.0 to 7.45.1 (#1562) by @dependabot[bot]
    • chore(deps): bump @legendapp/list from 3.6.0 to 3.7.0 (#1563) by @dependabot[bot]
    • Revert iOS Ogg Opus direct play (#1564) by @anultravioletaurora
    • ci: delete App-Bundles PR branches when a PR is closed (#1566) by @anultravioletaurora
    • Replace deprecated TanStack Query imperative methods (#1575) by @anultravioletaurora
    • Centralize user and public playlist caches (#1576) by @anultravioletaurora
    • Refactor lyric line item tap gesture and adjust horizontal margins (#1577) by @anultravioletaurora
    • fix(lyrics): initial scroll lands above the viewport (#1580) by @anultravioletaurora
    • fix(ci): fail OTA workflows when a platform fails to publish (#1581) by @anultravioletaurora
    • chore(deps): migrate to @jellyfin/sdk 1.0.2 (#1582) by @anultravioletaurora
    • chore: refactor query layer and reorganize services (#1584) by @anultravioletaurora
    • chore: move isExplicit util, fix Android Auto Favorites label (#1590) by @anultravioletaurora
    • perf(user-data): seed favorite state lazily from item user data (#1591) by @anultravioletaurora
    • Queue albums and playlists; rename Add to Queue to Play Later (#1594) by @anultravioletaurora
    • chore(deps): bump @sentry/reac
  4. 1.3.1-ota.61.3.1 OTA 62026-11-07 · 2026-11-07 04:05 UTC
    查看更新说明

    Welcome to Jellify 1.3.1 OTA 6

    I am so happy to bring you some fresh improvements to make your listening experience even better! This is an over-the-air update, which means Jellify will download the update automatically the next time you open the app and will ask you to restart to apply the changes. We have focused on refining the interface and boosting the speed of your music playback.

    • We have streamlined the similar artists section to keep things tidy by limiting the display to your top 5 matches.
    • We updated our core internal components and data libraries to ensure the app stays stable and performs at its best.
    • We improved the track prefetching logic in the Lookahead settings to help your music start playing more efficiently.

    Pull requests

    • chore: update tamagui and related packages to version 3.2.3 (#1632) by @anultravioletaurora
    • chore(deps): bump the tanstack group across 1 directory with 3 updates (#1633) by @dependabot[bot]
    • Refactor similar artists rendering and limit to 5 (#1636) by @anultravioletaurora
    • Update LookaheadSettings component for track prefetching (#1637) by @anultravioletaurora

    Contributors

    Thank you to @anultravioletaurora for contributing to this release!

    Full changelog: https://github.com/Jellify-Music/App/compare/1.3.1-ota.5...1.3.1-ota.6

  5. 1.3.1-ota.51.3.1 OTA 52026-11-05 · 2026-11-05 18:40 UTC
    查看更新说明

    Welcome to Jellify 1.3.1 OTA 5

    Hello there! I am so excited to share the latest updates to help make your music experience even more seamless. This version is delivered over-the-air, meaning it will automatically download the next time you open the app and will ask you to restart to apply the changes. I have focused on performance improvements and some nice UI polish to keep everything feeling snappy and responsive.

    • I have optimized the shuffle toggle by utilizing native batch queue operations. This resolves the previous issue where the icon would lag while tracks were being processed one by one over the bridge.
    • You will find a brand new Your Playlists section that features a refactored list designed for much smoother scrolling. I also updated the Add to Playlist sheet so that it now prioritizes your most recently updated playlists for quicker access.
    • I have boosted the performance of library lists to ensure your music loads faster than ever before. Additionally, I implemented lazy user-data seeding to ensure your downloaded favorites stay visible and accessible more consistently.

    Issues addressed

    • [BUG] Shuffle toggle is slow — icon lags because tracks are removed one-by-one over the bridge (#1592)

    Pull requests

    • fix: make shuffle toggle instant by using native batch queue ops (#1608) by @anultravioletaurora
    • fix(user-data): keep downloaded favorites visible with lazy user-data seeding (#1610) by @thirty6down
    • Sort Add to Playlist sheet by most recently updated playlists (#1613) by @anultravioletaurora
    • Add Recent Playlists section and refactor item list for scrolling (#1614) by @anultravioletaurora
    • chore(deps): bump the tanstack group across 1 directory with 3 updates (#1616) by @dependabot[bot]
    • chore(deps-dev): bump openai from 7.45.1 to 7.47.0 (#1619) by @dependabot[bot]
    • chore(deps-dev): bump globals from 17.13.0 to 17.14.0 (#1621) by @dependabot[bot]
    • refactor: extract SwipeableRow gestures into useSwipeableRowGesture hook (#1623) by @anultravioletaurora
    • perf: speed up library lists (#1625) by @anultravioletaurora
    • Bump @jellify-music/react-native-reanimated-slider to 0.7.0 (#1628) by @anultravioletaurora
    • refactor: update Recent Playlists title to 'Your Playlists' (#1629) by @anultravioletaurora
    • feat: fetch patrons and special thanks from patrons API v1 (#1630) by @anultravioletaurora

    Contributors

    Thank you to @anultravioletaurora and @thirty6down for contributing to this release!

    Full changelog: https://github.com/Jellify-Music/App/compare/1.3.1-ota.4...1.3.1-ota.5

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Latest Version iTunes App Store Google Play Github All Releases

    Sponsors Patreon Ko-Fi

    Discord

    Contents

    Info

    jellify (verb) - to make gelatinous see also

    Jellify is a free and open source music player for the Jellyfin Media Server. Built with React Native, it is available for both iOS and Android.

    Jellify requires a connection to a Jellyfin Media Server server to work. See also

    Showcasing the artwork of your library, it has a user interface congruent to what the big guys do. Jellify also provides algorithmic curation of your music, driven by Jellyfin's Instant Mix and Suggestions APIs.

    This app was designed with me and my dad in mind. I wanted us to have a sleek, one stop shop for live recordings of bands we like (read: the Grateful Dead). The UI was designed so that we'd find it instantly familiar and useful. CarPlay / Android Auto support was also a must for us, as we both use CarPlay religiously.

    Recommended Additions

    These projects are not required to use Jellify, but are recommended by us to enrich your Jellyfin music experience!

    Downloading

    Android

    Download from Google Play

    Direct .APK Download

    Head to releases to download the required .APK directly.

    Also there is obtanium to which you can add Jellify as a repo to use the above releases as a repository.

    For Obtanium, click "Add App", put "https://github.com/Jellify-Music/App" as the source URL, and on the next screen toggle "prereleases". You'll now be easily able to keep your local copy in sync with new releases.

    iOS

    Download from the iTunes App Store

    The TestFlight Way

    Join the TestFlight and install the latest version from there

    The Sideloading Way

    Head to releases to download the required .IPA directly.

    Install via Altstore or your favorite sideloading utility

    Screenshots

    Screenshots taken on iPhone 15 Pro Max


    Home


    Library

    Artists

    Artist View

    Similar Artists

    Album Views

    Track Options & Add to Playlist


    Search


    Player


    CarPlay


    Features

    Current

    • Available via Play Store, App Store, Testflight, and Android APKs
      • APKs are associated with each release
    • Light and Dark modes (and different theme colors)
    • Home screen access to previously played tracks, artists, and your playlists
    • Quick access to similar artists and items for discovering music in your library
    • Jellyfin playback reporting and Last.FM Plugin support
    • Quick Connect Support
    • Full Library Browsing
    • Playlist support, including creating, updating, and reordering
    • Offline Playback
    • Support for Jellyfin Instant Mixes
    • Over-the-Air Updates
    • Shuffling
    • Switching Music Libraries
    • Google Cast Support (still in early stages)
    • Storage UI Manager
    • Gapless Playback
    • Android Auto / CarPlay Support

    Roadmap

    1.4 - If You Plant Ice, You're Gonna Harvest Wind - December '26
    • Websocket Support (Server online status)
    • Collaborative Playlists
    • EQ Controls
    • Allow Self-Signed Certificates
    1.5 - March '27
    • App Customization Options
    2.0.0 - December '27
    • Watch Support
    • Desktop Support (Experimental)
    • Tablet Support
    3.0.0 - TBD
    • Seerr (formerly Jellyseerr) Integration
    • Autoplay Integration
    • tvOS (Apple and Android)
    • JellyJam (Collaborative Queue)

    *This is subject to change

    Built with Good Stuff

    Made with React React Native Made with TypeScript code style: prettier GitHub License

    Frontend

    Tamagui
    Figtree
    Pulsar
    React Navigation
    React Native Blurhash
    React Native Drax
    React Native Reanimated
    React Native Toast Message
    React Native Vector Icons

    Backend

    Jellyfin SDK
    Tanstack Query
    React Native DNS Lookup
    React Native File Access
    React Native Google Cast
    React Native MMKV
    React Native Nitro Fetch
    React Native Nitro Modules
    React Native Nitro OTA
    React Native Nitro Player
    React Native URL Polyfill
    Zustand

    Made for Jellify

    We built these libraries for Jellify, and they're free for anyone to use in their own apps:

    React Native Nitro Player
    React Native Reanimated Slider

    Opt-In Monitoring

    All logging and metrics gathering is opt-in by default. This is merely here to help us make Jellify better.

    All logs and metrics are completely anonymized. No data can be traced back to you.

    Error Reporting — GlitchTip

    Unhandled exceptions and captured errors are reported to the SaaS GlitchTip instance via @sentry/react-native. Error reporting is initialized at app startup and is disabled unless you have opted in to sending metrics.

    All logging goes through three shared utilities in src/utils/logging/index.ts, each tagged with a LoggingContext (e.g. Initialization, Playback Reporting, Queue, Favorites):

    FunctionSeveritySentry behaviour
    captureError(error, context, message?)ErrorReports exception via Sentry.captureException when metrics are enabled
    captureWarning(context, message, error?)WarningReports message at warning level via Sentry.captureMessage when metrics are enabled
    captureInfo(context, message)InfoConsole-only — never sent to Sentry

    In production builds, all console.* methods are replaced with no-ops so that no debug output leaks — logs only surface through the explicit capture call path.

    Love from Wisconsin 🧀

    This is undoubtedly a passion project of mine, and I've learned a lot from working on it (and the many failed attempts before it). I hope you enjoy using it! Feature requests and bug reports are welcome :)

    Support the Project

    Jellify is free, open source, and always will be. You can support development via Patreon, GitHub Sponsors, or Ko-Fi starting at $1.

    All publicly paid supporters on GitHub and Patreon get their name displayed in the app's Settings as a thank-you.

    🎁 Sticker Club

    Patreon supporters on the $5 or $10 tier who stay subscribed for 3 months get a Jellify sticker mailed to them. A small, physical thank-you for supporting a passion project.

    Special Thanks

    • The Jellyfin Team for making this possible with their software, SDKs, and unequivocal helpfulness.
      • Extra thanks to Niels and Bill
        • They taught me the ways of the AudioAPI and how to do audio transcoding with Jellyfin
    • James, Chaphasilor and all other contributors of Finamp - another music app for Jellyfin
      • James’ API Blog Post proved to be exceptionally valuable during development
      • Chaphasilor taught me everything they know about audio normalization and LUFS, and their math was referenced in Jellify's audio normalization algorithm
    • Marc and the rest of the Margelo Community for their amazing modules and support
    • Nicolas Charpentier for his React Native URL Polyfill module and for his assistance with getting Jest working
    • The team behind Podverse for their incredible open source project, of which was used as a reference extensively during development
    • My fellow contributors who have poured so much heart and a lot of sweat into making Jellify a great experience
      • Extra thanks to John, Vali-98, and Erik for shaping and designing the user experience
      • Shout out to skalthoff for championing many features:
        • Gapless Playback
        • Library Selection
        • Quality Selection
      • Many thanks to PDB3D for the logo design!
      • Huge thank you to Ritesh for literally so many things:
        • Over-the-Air Updates
        • Cast Support
    • The friends we made along the way that have been critical in fostering an amazing community around Jellify
    • My long time friends that have heard me talk about Jellify for literally eons. Thank you for testing Jellify during it's infancy and for supporting me all the way back at the beginning of this project
      • Tony (iOS, Android)
      • Trevor (Android)
      • Laine (Android)
      • Jordan (iOS)
    • My best(est) friend Alyssa, for your design knowledge and for making various artwork for Jellify.
      • You’ve been instrumental in shaping it’s user experience, my rock during development, and an overall inspiration in my life

    Star History

    Star History Chart