Desktop version of Fluxa Media products.
Find a file
KhooLy d99cb5c6f9 fix: harden OAuth flow, addon fetches, storage, and Nuvio key handling
- OAuth: generate and validate a state param across the Trakt/MAL/Simkl
  deep-link flow to close a login-CSRF gap (code was exchanged with no
  check that it came from a flow this app actually started).
- Add net_guard: resolves the host of any addon-supplied URL and refuses
  to fetch loopback/private/link-local/CGNAT addresses, applied to
  http_fetch_text, artwork prefetch, and offline downloads. Drop the
  now-unused localhost/ws CSP allowances.
- Encrypt storage_read/storage_write at rest (AES-256-GCM, key in a
  0600-permissioned file) instead of plaintext JSON, with transparent
  fallback for existing unencrypted files so upgrading doesn't lose data.
- Replace get_nuvio_config (handed the Supabase anon key straight to JS)
  with a nuvio_request proxy command -- Rust attaches the key and makes
  the call itself, so it never exists in webview-reachable memory.
2026-06-17 19:58:53 +03:00
.github/workflows feat: switch to gpu-next libmpv fork, fix player UI bugs, bump v0.1.1 2026-06-17 18:50:15 +03:00
public chore: replace logo PNGs with SVGs, add anilist/letterboxd/tmdb/mdblist/tomatoes assets 2026-06-17 01:03:05 +03:00
src fix: harden OAuth flow, addon fetches, storage, and Nuvio key handling 2026-06-17 19:58:53 +03:00
src-tauri fix: harden OAuth flow, addon fetches, storage, and Nuvio key handling 2026-06-17 19:58:53 +03:00
.env.example feat: initial release 2026-06-17 00:42:06 +03:00
.gitignore feat: initial release 2026-06-17 00:42:06 +03:00
index.html feat: initial release 2026-06-17 00:42:06 +03:00
package-lock.json feat: initial release 2026-06-17 00:42:06 +03:00
package.json feat: switch to gpu-next libmpv fork, fix player UI bugs, bump v0.1.1 2026-06-17 18:50:15 +03:00
README.md docs: rewrite README to focus on the app itself 2026-06-17 19:33:17 +03:00
tsconfig.json feat: initial release 2026-06-17 00:42:06 +03:00
vite.config.ts feat: initial release 2026-06-17 00:42:06 +03:00

Fluxa

Fluxa Desktop

A fast, native media client for Windows, macOS, and Linux.
Browse catalogs, track what you watch, and play anything the Stremio addon ecosystem exposes.

Stars Releases License

Download · Features · Building from source


What it does

Fluxa connects to any Stremio-compatible addon and turns it into a proper desktop app: a home feed with genre and category browsing, a calendar of upcoming episodes, a library with continue-watching and resume positions, and two-way watch tracking with Trakt, MyAnimeList, and Simkl. Playback runs through libmpv with platform-native rendering, including direct torrent/magnet support — no separate addon server, no browser round-trip for OAuth, no telemetry.

Features

  • Catalogs & discovery — home feed, genre/category grids, search across every installed addon, and a calendar of upcoming episodes for what you're following
  • Library — watchlist, continue watching with resume position, and custom collections, with import support for existing lists
  • Watch tracking — two-way sync with Trakt, MyAnimeList, and Simkl; OAuth is handled locally via deep link (fluxa://oauth/...), no hosted redirect server
  • Playback — native libmpv rendering with a custom render surface per platform (X11 on Linux, native views on macOS/Windows), subtitle and audio track selection, intro/outro skip, and direct torrent/magnet playback
  • Profiles — multiple local profiles on one install, each with its own library, addons, and sync accounts
  • Addons — install and manage Stremio-compatible addons directly from the app
  • Auto-update — in-app update checks and installation via Tauri's updater

Download

Grab the latest build from Releases.

Platform Package
Windows 10+ .exe — NSIS installer
macOS 11+ .dmg — Universal (Intel + Apple Silicon)
Linux (Debian / Ubuntu) .deb
Linux (Fedora / RHEL) .rpm
Linux (portable) .AppImage

Building from source

git clone https://github.com/KhooLy/fluxa-desktop.git
cd fluxa-desktop
npm install
npm run tauri dev

Prerequisites

  • Node.js 22+
  • Rust stable
  • libmpv — either install it system-wide, or run ./src-tauri/fetch-libmpv.sh to pull the prebuilt gpu-next fork used for release builds
    • Linux: sudo apt install libmpv-dev or sudo pacman -S mpv
    • macOS: brew install mpv
    • Windows: handled by the fetch script
npm run build   # production frontend build
npm run check   # typecheck + cargo check

Stack

Tauri 2 · React 18 · TypeScript · Vite · Rust · mpv · librqbit


Legal — Fluxa Desktop is a client-side interface for user-installed Stremio addons. It does not host, serve, or distribute any media content. All streams come from third-party addons chosen by the user. Fluxa is not affiliated with any addon developer, repository, or content provider. Users are responsible for ensuring they have the right to access what they stream.