GitPedia

Flixor

Modern cross-platform Plex client

From Flixorui·Updated June 28, 2026·View on GitHub·

[![Contributors][contributors-shield]][contributors-url] [![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] [![Issues][issues-shield]][issues-url] [![License][license-shield]][license-url] The project is written primarily in Swift, distributed under the Other license, first published in 2025. Key topics include: android, androidtv, cross-platform, kotlin-android, netflix.

Latest release: beta2.4.0tvOS Alpha and Mobile, MacOS Beta 2.4.0
March 2, 2026View Changelog →

<a id="readme-top"></a>

<!-- PROJECT SHIELDS -->

Contributors
Forks
Stargazers
Issues
License

<div align="center"> <h1>Flixor</h1> <p><strong>A beautiful, Netflix-style client for your Plex library</strong></p> <p>Available on Web, macOS, iOS, Android, and tvOS</p> </div>

About

Flixor is a modern, cross-platform Plex client that brings a Netflix-like experience to your media library. Browse beautiful rows, see rich metadata with ratings from multiple sources, and enjoy powerful playback on any device.

Supported Platforms

PlatformStatusPlayer
WebAvailableHLS.js / DASH.js
macOSAvailableMPV (HDR, Dolby Vision)
iOSAvailableKSPlayer
AndroidAvailableMPV
tvOSIn Development-

Features

Core Experience

  • Netflix-style UI - Continue Watching, Trending, Collections, Watchlist, and more
  • Rich metadata - Trailers, cast info, tech badges (4K/HDR/Atmos/DTS-X)
  • Smart search - Search across Plex and TMDB with intelligent filtering
  • Ultra-fast grids - Optimized for libraries with thousands of items
  • Cross-platform sync - Watch progress syncs across all your devices

Playback

  • Web: Built-in DASH/HLS player with Picture-in-Picture and subtitle support
  • macOS: MPV-powered with HDR, Dolby Vision, and advanced audio passthrough
  • Mobile: Native players with background playback and streaming quality options

Integrations

ServiceDescription
TMDBMovie/TV metadata, posters, backdrops, trailers
TraktWatch history sync, scrobbling, ratings, watchlists
MDBListAggregated ratings from IMDb, RT, Letterboxd, Metacritic
OverseerrRequest movies and shows directly from the app

Mobile-Specific Features

  • OTA (Over-the-Air) updates without app store
  • Configurable bottom navigation tabs
  • Optional TMDB search integration
  • Landscape continue watching cards with progress indicators

Screenshots

<details> <summary>Click to view screenshots</summary>

Home
Details
Library

</details>

Installation

Web App (Docker)

Using the published image:

bash
docker run -d \ --name flixor \ -p 8080:80 \ -e SESSION_SECRET=your-secure-secret-here \ -v flixor-config:/app/config \ -v flixor-cache:/app/cache \ --restart unless-stopped \ ghcr.io/flixorui/flixor:latest

Using Docker Compose:

yaml
services: flixor: image: ghcr.io/flixorui/flixor:latest container_name: flixor environment: - SESSION_SECRET=your-secure-secret-here ports: - "8080:80" volumes: - flixor-config:/app/config - flixor-cache:/app/cache restart: unless-stopped volumes: flixor-config: flixor-cache:
bash
docker compose up -d

Open http://localhost:8080 and sign in with Plex.

macOS

  1. Download the latest .dmg from Releases
  2. Drag Flixor to your Applications folder
  3. Open and sign in with Plex

Requirements: macOS 13.0 (Ventura) or later

iOS / Android

Download from the Releases page or join the TestFlight/beta program.

The mobile apps support OTA updates - you'll receive update notifications within the app.

Development

Prerequisites

  • Node.js 18+
  • npm or yarn

Web Frontend

bash
cd web_frontend npm install npm run dev

Mobile App

bash
cd apps/mobile npm install npx expo start

macOS App

Open apps/macos/FlixorMac.xcodeproj in Xcode and build.

Full Stack (Web + Backend)

bash
npm install npm run dev:all

The dev server runs on http://localhost:5173 and is accessible on your local network.

Configuration

Environment Variables

VariableDescriptionDefault
SESSION_SECRETSecret for session encryptionRequired
VITE_PROXY_TARGETBackend URL for dev proxyhttp://localhost:3000

App Settings

Settings are available in-app under Settings:

  • Catalogs - Choose which Plex libraries appear
  • Home Screen - Configure hero and row visibility
  • Integrations - Set up TMDB, Trakt, MDBList, Overseerr
  • Playback - Video player preferences
  • Appearance - Episode layout, backdrop options

OTA Updates (Mobile)

The mobile app supports self-hosted OTA updates. To publish an update:

bash
export FLIXOR_OTA_UPLOAD_KEY=your-upload-key ./scripts/publish-ota-update.sh

Users will receive update notifications on app launch.

Community

Contributing

Contributions are welcome! Please read our contributing guidelines before submitting a PR.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

Distributed under the GPL-3.0 License. See LICENSE for more information.

Star History

Star History Chart


<p align="center"> Made with care for the Plex community </p> <!-- MARKDOWN LINKS & IMAGES -->

Contributors

Showing top 2 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from Flixorui/flixor via the GitHub API.Last fetched: 6/28/2026