{"id":33214125,"url":"https://github.com/damontecres/wholphin","last_synced_at":"2026-05-24T16:01:00.401Z","repository":{"id":318978577,"uuid":"1060901286","full_name":"damontecres/Wholphin","owner":"damontecres","description":"An OSS Android TV client for Jellyfin","archived":false,"fork":false,"pushed_at":"2026-05-19T21:02:54.000Z","size":10579,"stargazers_count":1898,"open_issues_count":256,"forks_count":82,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-05-19T21:51:44.948Z","etag":null,"topics":["android-tv","fire-tv","jellyfin","jellyfin-client"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/damontecres.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"damontecres","buy_me_a_coffee":"damontecres"}},"created_at":"2025-09-20T20:31:30.000Z","updated_at":"2026-05-19T21:33:43.000Z","dependencies_parsed_at":"2026-03-11T06:04:02.091Z","dependency_job_id":null,"html_url":"https://github.com/damontecres/Wholphin","commit_stats":null,"previous_names":["damontecres/wholphin"],"tags_count":66,"template":false,"template_full_name":null,"purl":"pkg:github/damontecres/Wholphin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damontecres%2FWholphin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damontecres%2FWholphin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damontecres%2FWholphin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damontecres%2FWholphin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/damontecres","download_url":"https://codeload.github.com/damontecres/Wholphin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damontecres%2FWholphin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33440447,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-24T13:13:05.286Z","status":"ssl_error","status_checked_at":"2026-05-24T13:13:03.728Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android-tv","fire-tv","jellyfin","jellyfin-client"],"created_at":"2025-11-16T12:29:32.937Z","updated_at":"2026-05-24T16:01:00.363Z","avatar_url":"https://github.com/damontecres.png","language":"Kotlin","funding_links":["https://github.com/sponsors/damontecres","https://buymeacoffee.com/damontecres"],"categories":[],"sub_categories":[],"readme":"# Wholphin - an OSS Android TV client for Jellyfin\n\n\u003e \"Never half-phin two jellies. Always wholphin one jelly.\"\n\nWholphin is an open-source Android TV client for Jellyfin. It aims to provide a different app UI that's inspired by Plex for users interested in migrating to Jellyfin.\n\nThis is not a fork of the [official client](https://github.com/jellyfin/jellyfin-androidtv). Wholphin's user interface and controls have been written completely from scratch. Wholphin supports playing media using either ExoPlayer or MPV.\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://github.com/damontecres/Wholphin/releases\"\u003e\n\u003cimg alt=\"Current Release\" src=\"https://img.shields.io/github/release/damontecres/wholphin.svg\"/\u003e\n\u003c/a\u003e\n\u003ca href=\"https://translate.codeberg.org/engage/wholphin/\"\u003e\n\u003cimg src=\"https://translate.codeberg.org/widget/wholphin/wholphin/svg-badge.svg\" alt=\"Translation status\" /\u003e\n\u003c/a\u003e\n\u003cbr/\u003e\n\u003ca href=\"https://play.google.com/store/apps/details?id=com.github.damontecres.wholphin\"\u003e\n\u003cimg width=\"180\" alt=\"Get Wholphin on Google Play\" src=\"https://github.com/user-attachments/assets/2550a4cb-ce46-47a1-ae24-f33a169234b7\"/\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.amazon.com/gp/product/B0G8RQQR9T/ref=mas_pm_wholphin\"\u003e\n\u003cimg width=\"180\" alt=\"Get Wholphin on Amazon AppStore\" src=\"https://github.com/user-attachments/assets/1f3a3b26-4b4f-44b1-9741-f4c895c8a53b\"/\u003e\n\u003c/a\u003e\n\n\n\u003c/p\u003e\n\n![v0_5_1_home](https://github.com/user-attachments/assets/62bb1703-abdf-4154-9054-e00b6ceb57b5)\n\n## Features\n\n### User interface\n\n- Customize the home page to see the content you are interested in\n    - Use poster or thumb images, show/hide titles, add/remove/re-order different types of rows!\n- A navigation drawer for quick access to libraries, favorites, search, and settings from almost anywhere in the app\n- Integration with [Jellyseerr/Seerr](https://github.com/seerr-team/seerr) to discover new movies and TV shows\n    - Note: only available when installed from [GitHub](https://github.com/damontecres/Wholphin/releases/latest) or the [Play store](https://play.google.com/store/apps/details?id=com.github.damontecres.wholphin)\n- Option to combine Continue Watching \u0026 Next Up rows\n- Show Movie/TV Show titles when browsing libraries\n- Play theme music, if available\n- Customize subtitle style for plain text subtitles\n- Search \u0026 download subtitles (requires compatible server plugin such as [OpenSubtitles](https://github.com/jellyfin/jellyfin-plugin-opensubtitles))\n- Customize layout grids for libraries\n- Multiple app color themes\n- Protect user profile switches with PIN code\n\n### Playback\n\n- Different media playback engines:\n  - **ExoPlayer** w/ optional extra audio \u0026 AV1 software decoding\n  - **MPV** for direct playing anything plus ASS subtitle support\n- Plex inspired playback controls:\n  - Using D-Pad left/right for seeking during playback\n  - Quickly access video chapters \u0026 queue during playback\n  - Optionally skip back a few seconds when resuming playback\n- Live TV \u0026 DVR support\n- Auto play next episodes with pass out protection\n- Option for automatic refresh rate \u0026 resolution switching on supported displays\n- Trickplay support\n- Subtly show playback position along the bottom of the screen while seeking w/ D-Pad\n\n### Roadmap\n\nSee [here for the roadmap](https://github.com/damontecres/Wholphin/wiki#roadmap)\n\n## Installation\n\nUsing [Google Play](https://play.google.com/store/apps/details?id=com.github.damontecres.wholphin) or [Amazon appstore](https://www.amazon.com/gp/product/B0G8RQQR9T/ref=mas_pm_wholphin) are the fastest way to install. But you can follow these instructions to install without needing an app store\n\nDownloader Code: `8668671`\n\n1. Enable side-loading \"unknown\" apps\n    - https://androidtvnews.com/unknown-sources-chromecast-google-tv/\n    - https://www.xda-developers.com/how-to-sideload-apps-android-tv/\n    - https://developer.android.com/distribute/marketing-tools/alternative-distribution#unknown-sources\n    - https://www.aftvnews.com/how-to-enable-apps-from-unknown-sources-on-an-amazon-fire-tv-or-fire-tv-stick/\n2. Install the APK on your Android TV device with one of these options:\n    - Install a browser program such as [Downloader](https://www.aftvnews.com/downloader/), use it to get the latest apk with short code `8668671` or URL: http://aftv.news/8668671\n    - Download the latest APK release from the [releases page](https://github.com/damontecres/Wholphin/releases/latest) or http://aftv.news/8668671\n        - Put the APK on an SD Card/USB stick/network share and use a file manager app from the Google Play Store / Amazon AppStore (e.g. `FX File Explorer`). Android's preinstalled file manager probably will not work!\n        - Use `Send files to TV` from the Google Play Store on your phone \u0026 TV\n        - (Expert) Use [ADB](https://developer.android.com/studio/command-line/adb) to install the APK from your computer ([guide](https://fossbytes.com/side-load-apps-android-tv/#h-how-to-sideload-apps-on-your-android-tv-using-adb))\n\n### Upgrading the app\n\nAfter the initial install above, the app will automatically check for updates. The updates can be installed in settings.\n\nThe first time you attempt an update, the OS should guide you through enabling the required additional permissions for the app to install updates.\n\nNote: if installed via an app store, the app store will handle updates.\n\n## Compatibility\n\nRequires Android 6+ (or Fire TV OS 6+) and Jellyfin server `10.10.x` or `10.11.x` (tested on primarily `10.11`).\n\nThe app is tested on a variety of Android TV/Fire TV OS devices, but if you encounter issues, please file an issue!\n\nJellyseerr integration is tested with `v2.7.3`. Older versions may not work.\n\n## Contributions\n\nIssues and pull requests are always welcome! Please check before submitting that your issue or pull request is not a duplicate.\n\nIf you plan to contribute, please read the [contributing guide](CONTRIBUTING.md)!\n\nYou can [help translate Wholphin](https://translate.codeberg.org/engage/wholphin/)!\n\n## Acknowledgements\n\n- Thanks to the Jellyfin team for creating and maintaining such a great open-source media server\n- Thanks to the official Jellyfin Android TV client developers, some code for creating the device direct play profile is adapted from there\n- Thanks to the Jellyfin Kotlin SDK developers for making it easier to interact with the Jellyfin server API\n- Thanks to numerous other libraries that make app development even possible\n\n## Additional screenshots\n\n### Customized home page\n![customize_home_example](https://github.com/user-attachments/assets/9a4f04b7-9604-4ea7-b352-50f2b15dc2f1)\n\n### Movie library browsing\n![v0_5_1_library](https://github.com/user-attachments/assets/fad0424b-0631-4438-a8bc-d4fbb95a5bf3)\n\n### Movie page\n![v0_5_1_movie](https://github.com/user-attachments/assets/849aad34-49d5-4864-8de7-005bbcb68ac6)\n\n### Series page\n![v0_5_1_series](https://github.com/user-attachments/assets/655389e1-6a6f-43bc-85e1-e2feffb20429)\n\n### Genres in library\n![v0_5_1_genres](https://github.com/user-attachments/assets/5bbcbeb6-edc9-42c7-a1d8-d92fa432a498)\n\n\n### Playlist\n![v0_5_1_playlist](https://github.com/user-attachments/assets/98268f7d-479d-41c6-b47b-3e67bbe661bc)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdamontecres%2Fwholphin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdamontecres%2Fwholphin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdamontecres%2Fwholphin/lists"}