[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-8874":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":14,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":16,"starSnapshotCount":16,"syncStatus":33,"lastSyncTime":34,"discoverSource":35},8874,"jellyfin-vue","jellyfin\u002Fjellyfin-vue","jellyfin","A modern web client for Jellyfin based on Vue","https:\u002F\u002Fjellyfin.org",null,"Vue",1674,261,14,35,0,1,5,3,61.15,"GNU General Public License v3.0",false,"master",true,[26,7,27,28,29],"client","vite","vue","vuejs","2026-06-12 04:00:41","\u003Ch1 align=\"center\">Jellyfin Vue\u003C\u002Fh1>\n\u003Ch3 align=\"center\">Part of the \u003Ca href=\"https:\u002F\u002Fjellyfin.org\">Jellyfin Project\u003C\u002Fa>\u003C\u002Fh3>\n\n---\n\n\u003Cp align=\"center\">\n\u003Cimg alt=\"Logo Banner\" src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fjellyfin\u002Fjellyfin-ux\u002Fmaster\u002Fbranding\u002FSVG\u002Fbanner-logo-solid.svg?sanitize=true\"\u002F>\n\u003Ca href=\"https:\u002F\u002Fhub.docker.com\u002Fr\u002Fjellyfin\u002Fjellyfin-vue\">\n\u003Cimg alt=\"Docker Pulls\" src=\"https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fpulls\u002Fjellyfin\u002Fjellyfin-vue\">\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjellyfin\u002Fjellyfin-vue\u002Fpkgs\u002Fcontainer\u002Fjellyfin-vue\">\n\u003Cimg alt=\"GHCR images\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGithub-packages-blue\">\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjellyfin\u002Fjellyfin-vue\">\n\u003Cimg alt=\"GPL 3.0 License\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fjellyfin\u002Fjellyfin-vue.svg\"\u002F>\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Ftranslate.jellyfin.org\u002Fprojects\u002Fjellyfin-vue\u002Fjellyfin-vue\u002F\">\n\u003Cimg src=\"https:\u002F\u002Ftranslate.jellyfin.org\u002Fwidgets\u002Fjellyfin-vue\u002F-\u002Fjellyfin-vue\u002Fsvg-badge.svg\">\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjellyfin\u002Fjellyfin-vue\u002Freleases\">\n\u003Cimg alt=\"Current Release\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease\u002Fjellyfin\u002Fjellyfin-vue.svg\"\u002F>\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fconventionalcommits.org\">\n\u003Cimg alt=\"Conventional Commits\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FConventional%20Commits-%23FE5196?logo=conventionalcommits&logoColor=white\" \u002F>\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fopencollective.com\u002Fjellyfin\">\n\u003Cimg alt=\"Donate\" src=\"https:\u002F\u002Fimg.shields.io\u002Fopencollective\u002Fall\u002Fjellyfin.svg?label=backers\"\u002F>\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Ffeatures.jellyfin.org\u002F?tags=vue\">\n\u003Cimg alt=\"Feature Requests\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ffider-vote%20on%20features-success.svg\"\u002F>\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fmatrix.to\u002F#\u002F#jellyfin-vue:matrix.org\">\n\u003Cimg alt=\"Chat on Matrix\" src=\"https:\u002F\u002Fimg.shields.io\u002Fmatrix\u002Fjellyfin:matrix.org.svg?logo=matrix\"\u002F>\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fwww.reddit.com\u002Fr\u002Fjellyfin\">\n\u003Cimg alt=\"Join our Subreddit\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Freddit-r%2Fjellyfin-%23FF5700.svg\"\u002F>\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fsonarcloud.io\u002Fsummary\u002Fnew_code?id=jellyfin_jellyfin-vue\">\n\u003Cimg alt=\"Code coverage\"src=\"https:\u002F\u002Fsonarcloud.io\u002Fapi\u002Fproject_badges\u002Fmeasure?project=jellyfin_jellyfin-vue&metric=coverage\"\u002F>\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fsonarcloud.io\u002Fsummary\u002Fnew_code?id=jellyfin_jellyfin-vue\">\n\u003Cimg alt=\"Maintainability Rating\"src=\"https:\u002F\u002Fsonarcloud.io\u002Fapi\u002Fproject_badges\u002Fmeasure?project=jellyfin_jellyfin-vue&metric=sqale_rating\"\u002F>\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fsonarcloud.io\u002Fsummary\u002Fnew_code?id=jellyfin_jellyfin-vue\">\n\u003Cimg alt=\"Reliability Rating\"src=\"https:\u002F\u002Fsonarcloud.io\u002Fapi\u002Fproject_badges\u002Fmeasure?project=jellyfin_jellyfin-vue&metric=reliability_rating\"\u002F>\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fsonarcloud.io\u002Fsummary\u002Fnew_code?id=jellyfin_jellyfin-vue\">\n\u003Cimg alt=\"Vulnerabilities\"src=\"https:\u002F\u002Fsonarcloud.io\u002Fapi\u002Fproject_badges\u002Fmeasure?project=jellyfin_jellyfin-vue&metric=vulnerabilities\"\u002F>\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fsonarcloud.io\u002Fsummary\u002Fnew_code?id=jellyfin_jellyfin-vue\">\n\u003Cimg alt=\"Code Smells\"src=\"https:\u002F\u002Fsonarcloud.io\u002Fapi\u002Fproject_badges\u002Fmeasure?project=jellyfin_jellyfin-vue&metric=code_smells\"\u002F>\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fsonarcloud.io\u002Fsummary\u002Fnew_code?id=jellyfin_jellyfin-vue\">\n\u003Cimg alt=\"Technical debt\"src=\"https:\u002F\u002Fsonarcloud.io\u002Fapi\u002Fproject_badges\u002Fmeasure?project=jellyfin_jellyfin-vue&metric=sqale_index\"\u002F>\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fsonarcloud.io\u002Fsummary\u002Fnew_code?id=jellyfin_jellyfin-vue\">\n\u003Cimg alt=\"Quality gate\"src=\"https:\u002F\u002Fsonarcloud.io\u002Fapi\u002Fproject_badges\u002Fmeasure?project=jellyfin_jellyfin-vue&metric=alert_status\"\u002F>\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fsonarcloud.io\u002Fsummary\u002Fnew_code?id=jellyfin_jellyfin-vue\">\n\u003Cimg alt=\"Duplicated lines\"src=\"https:\u002F\u002Fsonarcloud.io\u002Fapi\u002Fproject_badges\u002Fmeasure?project=jellyfin_jellyfin-vue&metric=duplicated_lines_density\"\u002F>\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fsonarcloud.io\u002Fsummary\u002Fnew_code?id=jellyfin_jellyfin-vue\">\n\u003Cimg alt=\"Bugs\"src=\"https:\u002F\u002Fsonarcloud.io\u002Fapi\u002Fproject_badges\u002Fmeasure?project=jellyfin_jellyfin-vue&metric=bugs\"\u002F>\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fsonarcloud.io\u002Fsummary\u002Fnew_code?id=jellyfin_jellyfin-vue\">\n\u003Cimg alt=\"Security\"src=\"https:\u002F\u002Fsonarcloud.io\u002Fapi\u002Fproject_badges\u002Fmeasure?project=jellyfin_jellyfin-vue&metric=security_rating\"\u002F>\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fsonarcloud.io\u002Fsummary\u002Fnew_code?id=jellyfin_jellyfin-vue\">\n\u003Cimg alt=\"Total lines\"src=\"https:\u002F\u002Fsonarcloud.io\u002Fapi\u002Fproject_badges\u002Fmeasure?project=jellyfin_jellyfin-vue&metric=ncloc\"\u002F>\n\u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\nJellyfin Vue is an experimental, alternative browser-based web client for Jellyfin written using Vue.js.\n\n![](https:\u002F\u002Fraw.githubusercontent.com\u002Fjellyfin\u002Fjellyfin.org\u002Frefs\u002Fheads\u002Fmaster\u002Fblog\u002F2023\u002F04-03-vue_vue3\u002Fvue-homepage.png)\n\n> [!NOTE]\n> Jellyfin Vue is not planned or targeted to replace [the main Jellyfin Web client](https:\u002F\u002Fgithub.com\u002Fjellyfin\u002Fjellyfin-web), and is not feature-complete.\n\n# Usage instructions for end users 👨‍👩‍👧‍👦\n\n*The following instructions will get you up and running quickly with\nbleeding-edge builds from the current `master` branch.\nThere are no stable releases yet.*\n\n## [Hosted instance 🌍](https:\u002F\u002Fjf-vue.pages.dev\u002F)\n\nBuilt from the latest commit in the default branch. Just input your server address when prompted. If you don't have a Jellyfin server, try with our demo instance: `https:\u002F\u002Fdemo.jellyfin.org\u002Fstable`\n\n⚠️ **This only works for Jellyfin servers that [are behind a reverse proxy and have HTTPS set up correctly](https:\u002F\u002Fjellyfin.org\u002Fdocs\u002Fgeneral\u002Fnetworking\u002F#running-jellyfin-behind-a-reverse-proxy)**. If your server runs over HTTP, you must host it yourself.\n\nHosted by Cloudflare Pages.\n\n## Host it yourself 💽\n\nCheck [our wiki page](https:\u002F\u002Fgithub.com\u002Fjellyfin\u002Fjellyfin-vue\u002Fwiki\u002FDeployment) for the most up to date information.\n\nYou can check [GitHub Packages (GHCR)](https:\u002F\u002Fgithub.com\u002Fjellyfin\u002Fjellyfin-vue\u002Fpkgs\u002Fcontainer\u002Fjellyfin-vue) (recommended) or [DockerHub](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fjellyfin\u002Fjellyfin-vue) for all the tagged images.\n\n## Privacy disclaimer 🕵🏻\n\nJellyfin Vue is just a GUI *(Graphical User Interface)* for a Jellyfin server. It only establishes connection to the Jellyfin server that you point it to, **nothing else**.\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Read more\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n- **Local instances** _Examples: Our Windows\u002FMac\u002FLinux application, a local web server, etc_: All the necessary assets for the frontend to work\n  are available locally (in your device) or bundled into the underlying environment (Tauri, Electron, etc) where it is running.\n  No assets need to be fetched remotely.\n- **Remote instances** _Examples: Our hosted instance, an admin hosting Jellyfin Vue and sharing the URL\n  (which is in a different domain from the Jellyfin Server), etc_: This probably comprises most cases.\n  Here, all the frontend assets are not locally available, but somewhere else. When you access the remotely hosted frontend\n  (normally using a web browser like Firefox or Microsoft Edge),\n  all the frontend assets are loaded\u002Fcached into your device. Once the load has finished,\n  **the connection will exclusively be between your device and the Jellyfin server(s)** ¹². Whoever is serving the frontend\n  is never in the middle. ³\n\n¹ _Assuming that the hosted version has not been altered (by adding trackers, beacons...) in any way from the sources provided in this repository\nand you trust the person\u002Fpeople behind it to not have done so_.\n\n² _Some features that need access to remote resources that are not controlled by you and\u002For the person hosting Jellyfin Vue might be added in the future\n(such as Google Cast support for Chromecasts). These will be always **opt in** and toggleable through [our configuration](https:\u002F\u002Fgithub.com\u002Fjellyfin\u002Fjellyfin-vue\u002Fwiki\u002FConfiguration)_\n\n³ _We assume standard networks here, no special configurations or policies that your ISP\u002FWorkplace\u002FUniversity\u002Fetc might apply._\n\n[Jellyfin Web](https:\u002F\u002Fgithub.com\u002Fjellyfin\u002Fjellyfin-web) (our main frontend) works in a similar way:\nIt connects by default to the Jellyfin server that is running alongside,\nbut it's also capable to connect to other Jellyfin servers [like can be tested in our demo](https:\u002F\u002Fdemo.jellyfin.org\u002F) and [the hosted instance](https:\u002F\u002Fjellyfin-web.pages.dev\u002F).\nBy inspecting the network requests, you will find that only connections to fetch its own assets are made to the server distributing the client, but connections to your own Jellyfin server will not go through it.\n\nThe same principle applies to Jellyfin Vue. Note that Jellyfin Web can also be hosted standalone, just like Jellyfin Vue.\n\n- _Relevant links_: [Community standards](https:\u002F\u002Fjellyfin.org\u002Fdocs\u002Fgeneral\u002Fcommunity-standards) and [Social Contract](https:\u002F\u002Fgithub.com\u002Fjellyfin\u002Fjellyfin-meta\u002Fblob\u002Fmaster\u002Fpolicies-and-procedures\u002Fjellyfin-social-contract.md)\n\u003C\u002Fdetails>\n\n# Usage instructions for developers 🛠\n\nSee [development setup](https:\u002F\u002Fgithub.com\u002Fjellyfin\u002Fjellyfin-vue\u002Fwiki\u002FContributing#development-setup) from our *Contributing* guides.\n\n# Contributing 🤝\n\nSee [Contributing](https:\u002F\u002Fgithub.com\u002Fjellyfin\u002Fjellyfin-vue\u002Fwiki\u002FContributing) guide.\n","Jellyfin Vue 是基于 Vue 构建的现代化 Jellyfin 网页客户端。该项目利用了 Vite 构建工具和 Vue 框架，为用户提供了一个响应迅速且界面友好的媒体管理体验。其核心功能包括流畅的多媒体浏览、播放控制以及与 Jellyfin 服务器的无缝集成。此外，Jellyfin Vue 还支持多语言环境，便于全球用户使用。此项目适用于需要一个高效且易于定制的前端解决方案来访问和管理个人媒体库的场景，特别适合那些希望在各种设备上享受一致媒体体验的家庭或个人用户。",2,"2026-06-11 03:20:06","top_language"]