edde746/plezy

▲ 442 stars today★ 3,977⑂ 438

Modern cross-platform media server client built with Flutter

About edde746/plezy

edde746/plezy is an open-source project on GitHub, mainly written in Dart. Modern cross-platform media server client built with Flutter It currently holds 3,977 stars and 438 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).

Project Overview

Git Homed tracks it on the Today's Trending board.

GitHub Repository Details

Repository edde746/plezy · default branch - · size 0 KB · watchers 0 · source: GitHub REST API and repository README

README

https://github.com/edde746/plezy/blob/HEAD/Plezy Logo Plezy

A modern client for Plex, Jellyfin, and Emby on desktop, mobile, and TV. Built with Flutter for native performance and a clean interface.

Website · Screenshots · Download · Contributing · License

https://github.com/edde746/plezy/blob/HEAD/Plezy mobile screenshots

Download

| Platform | Download | | --- | --- | | macOS | DMG (x64, arm64) | | Linux x64 | .deb · .rpm · .pkg.tar.zst · .flatpak · portable tar.gz | | Linux arm64 | .deb · .rpm · .pkg.tar.zst · .flatpak · portable tar.gz |

Install with a package manager

macOS — Homebrew

brew tap edde746/plezy https://github.com/edde746/plezy
brew install --cask plezy

Windows — WinGet

winget install edde746.Plezy

Linux — Flatpak

Install Flatpak with your distribution's package manager, download the bundle for your architecture above, then run:

flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --user flathub org.freedesktop.Platform//25.08
flatpak install --user ./plezy-linux-x64.flatpak
flatpak run com.edde746.plezy

On arm64, install plezy-linux-arm64.flatpak.

Sandbox, playback, and folder access
  • Not on Flathub — the remote supplies the Freedesktop runtime only.
  • Video playback needs a Wayland session; a pure X11 session shows the interface but cannot create the video plane.
  • No host or home filesystem access; app data lives in ~/.var/app/com.edde746.plezy/. Add host folders through the desktop file chooser portal, and keep download folders writable.
  • Network, display, audio, and device access are enabled. --device=all (Flatpak 1.14 compatibility) exposes more than GPUs and controllers; session-bus access stays filtered.

Arch Linux — Pacman

Distribution package.

sudo pacman -S plezy

Fedora / Red Hat — DNF

Installation instructions · Community repository by @aldobarr.

Nix

Community package maintained by @mio-19 and @MiniHarinn.

aerynOS — Moss

Distribution package.

sudo moss pad plezy

Features

https://github.com/edde746/plezy/blob/HEAD/ Browse & Discover

https://github.com/edde746/plezy/blob/HEAD/ Explore & Requests

https://github.com/edde746/plezy/blob/HEAD/ Playback

https://github.com/edde746/plezy/blob/HEAD/ Music

https://github.com/edde746/plezy/blob/HEAD/ Live TV & DVR

https://github.com/edde746/plezy/blob/HEAD/ Downloads & Offline

https://github.com/edde746/plezy/blob/HEAD/ Watch Together

https://github.com/edde746/plezy/blob/HEAD/ Integrations

https://github.com/edde746/plezy/blob/HEAD/ Platform & Customization

[^jf]: Jellyfin only. [^mb]: Jellyfin and Emby only. [^plex]: Plex only. [^connect]: Requires connecting the service under Settings > Services. [^hdr]: In-app HDR toggle on Windows, macOS, iOS, tvOS, and Linux — Linux needs a colour-managed Wayland compositor. Dolby Vision on Android, macOS, and Apple TV. [^pass]: Desktop, Android TV, and Apple TV. [^mpv]: Requires mpv's GPU renderer — unavailable on iOS, tvOS, and macOS, and Android defaults to ExoPlayer. [^pip]: Android, iOS, and macOS — not on Android TV or Apple TV. [^rrm]: Windows, Android, and tvOS. [^android]: Progress sync on Android. [^lyrics]: Where your server provides lyrics. [^bgaudio]: tvOS pauses music when the app is backgrounded. [^dl]: Not available on tvOS. [^desktop]: Desktop only. [^rt]: Real-time scrobbling on Trakt and Simkl; MyAnimeList and AniList update on completion. [^shelf]: Android TV / Fire TV and tvOS. [^links]: Android, iOS, macOS, and tvOS.

plezy:// links

Links start Plezy from outside the app. Any link may add profile=: a profile id, a Plex Home user UUID, or a display name (ignoring case; it must match one profile). Plezy switches to that profile first, and a protected profile still asks for its PIN. A link replaces whatever is playing.

| Link | Does | |---|---| | plezy://open | Opens Plezy | | plezy://play?server=&id= | Plays one item on one server, any backend | | plezy://play?type=movie\|show&tmdb= | Plays a title from whichever server has it. Use tmdb, tvdb, imdb=tt, or plex= (the Plex GUID without plex://movie/) | | plezy://live?channel= | Tunes a Live TV channel by key, number, or call sign. Optional server= and start=beginning\|live |

For a show, mode=next (the default) plays the next episode to watch, and mode=shuffle plays the show shuffled. The menu of any movie, show, or episode has Show link, and each profile's menu in Switch Profile has Show profile link. Both show the link as text and a QR code.

# Android / Android TV, over adb (Home Assistant: remote.turn_on with activity: plezy://...)
adb shell am start -a android.intent.action.VIEW -d "plezy://play?type=show\&tvdb=81189\&profile=Kids"

macOS

open "plezy://play?type=movie&tmdb=603"

On iOS, use the Open URLs action in Shortcuts.

Building from Source

Prerequisites

Setup

git clone https://github.com/edde746/plezy.git
cd plezy
flutter pub get
scripts/codegen.sh
flutter run
Code generation

After modifying model classes or other generated sources:

scripts/codegen.sh

After modifying translations:

dart run slang

Packaging a Flatpak bundle

Packages an already fully resolved Linux release bundle — pinned libmpv and bundled libraries included, not a Flathub source-build manifest. Run it on Linux, on the same architecture as the bundle, after following the bundle preparation steps in the Linux release workflow: flutter build linux alone does not produce all the required bundled libraries.

Install the packaging tools (Debian/Ubuntu shown) plus the native-architecture SDK and runtime:

sudo apt-get update
sudo apt-get install -y flatpak flatpak-builder imagemagick
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --user flathub org.freedesktop.Platform//25.08 org.freedesktop.Sdk//25.08

BUNDLE_DIR=build/linux/x64/release/bundle python3 linux/packaging/build-flatpak.py --bundle "$BUNDLE_DIR" --arch x64 --output "$PWD"

That writes plezy-linux-x64.flatpak, installable with the Flatpak commands above; on arm64, use the prepared arm64 bundle directory and --arch arm64. Package from the checkout matching the bundle, since the version comes from pubspec.yaml.

Cross-architecture packaging needs native Flatpak tools, a registered binfmt interpreter, and the target SDK/runtime installed with flatpak install --user --arch=x86_64 (or aarch64) — never run Flatpak's namespace tools under emulation. Pass --arch x64 or --arch arm64 to the checker and the matching Flatpak architecture to flatpak run --arch=....

Check the installed package against the runtime (not just the SDK), then launch it on a Wayland desktop and exercise streaming, audio, downloads/offline playback, and file chooser portals:

python3 linux/packaging/check-flatpak.py

The check fails on a non-executable entry point or an unresolved bundled ELF dependency. A container without a GPU can use flatpak run --env=GALLIUM_DRIVER=softpipe com.edde746.plezy for software-rendered verification; this is not a hardware-decoding or HDR test.

Local checks
scripts/ci_checks.sh

To install the same pre-commit checks locally:

scripts/setup_hooks.sh

End-to-end tests (Android emulator plus a Dockerized Jellyfin fixture):

python3 scripts/maestro/run_maestro.py basic

Contributing

See CONTRIBUTING.md for development workflow, formatting, tests, and translation guidelines.

License

Plezy is licensed under GPL-3.0.

Acknowledgments

GitHub Stars & Activity

3,977Stars
438Forks
0Open issues
DartLanguage

GitHub Popularity

GitHub stars3,977
Forks438
Open issues0
Primary languageDart
License-
Stars gained today442
Created-
Last pushed-

Trending History

Monthly boardrank #100 · ▲ 442 stars

Related GitHub Projects

1

flutter / flutter

Dart★ 180,510⑂ 33,336▲ 143 stars
→
2

localsend / localsend

Dart★ 96,154⑂ 5,427▲ 305 stars
→
3

AppFlowy-IO / AppFlowy

Dart★ 77,868⑂ 6,110▲ 42 stars
→
4

chen08209 / FlClash

Dart★ 58,992⑂ 3,838▲ 381 stars
→
5

hiddify / hiddify-app

Dart★ 33,493⑂ 3,139▲ 31 stars
→
6

ente / ente

Dart★ 29,697⑂ 1,878▲ 42 stars
→
7

wanghongenpin / proxypin

Dart★ 14,267⑂ 1,265▲ 49 stars
→
8

KaringX / clashmi

Dart★ 10,124⑂ 634▲ 43 stars
→

More Trending Repositories