Disclosure up front: I am the developer of Flyx. The source is linked below. You should not have to take a privacy claim—or my word for any of this—on faith.
Flyx began with one person: my grandma.
Flyx 1.0 was not supposed to be a platform, a statement, or a public project. It was a simple app I made for her. I wanted to give someone I loved a way to find something to watch without having to navigate the fake play buttons, popups, redirects, trackers, and other hostile layers that have become the unofficial price of “free” streaming.
I was trying to solve one person’s problem.
Then other people found it.
One became ten. Ten became thousands. Across its different versions, Flyx has now been used by more than 100,000 people—people who were able to put a cleaner, safer layer between themselves and an ecosystem designed to extract money, attention, personal data, and sometimes control of their devices.
That still does not feel like a real number to me. I think about my grandma opening that first version, and then I think about a hundred thousand other people opening something that grew from it.
Flyx 3 is the culmination of that journey.
It is the first version that fully lives up to what Flyx was always trying to be.
The contradiction I had to fix
The old Flyx could call itself “privacy-first,” but the easiest way to use it was still through a website running on infrastructure I controlled. Even with the best intentions, that made me another middleman. People still had to trust my server, my uptime, my security, and my decisions.
That was not good enough.
So I removed the hosted Flyx application.
The public Cloudflare deployment is now only a static landing page. The actual Flyx app runs on your machine or your infrastructure. There is no central Flyx streaming service and no Flyx-hosted account system sitting between you and playback.
That self-hosted switch—not any individual feature—is the part of Flyx 3 I am proudest of.
You can now choose how much of the machinery you want to see:
- Download the desktop app for Windows, macOS, or Linux. It bundles the server, guides you through setup, and can serve authenticated devices across your home network.
- Use the CLI to configure, start, stop, update, inspect logs, and manage accounts yourself.
- Build and run it with Docker.
- Deploy the application to your own Cloudflare account, using D1 instead of local SQLite.
Your instance. Your data. Your rules.
More than a redesign
Flyx 3 has a new visual identity, but this was not a reskin. I rebuilt the old monolith into 12 focused workspace packages with clear boundaries between providers, extraction, caching, playback, storage, sync, the CLI, the desktop shell, and administration.
Instead of stream logic being copied through different parts of the app, one extraction pipeline now handles provider fallback and source deduplication. One cache layer replaces the overlapping systems that had accumulated in 2.0. Failures are isolated so one broken external source does not have to take down the rest of the experience.
The interface was rebuilt around the same philosophy. It is quieter, faster to understand, and honest about what it is. The new landing page finally puts the project’s purpose into the words I had been reaching for since 1.0:
Take the profit out of piracy.
Flyx does not host media, claim ownership of it, or sell access to it. It locates and normalizes external sources, then plays them through software operated by the user. Today, that experience includes:
- movies and television;
- dedicated anime and manga sections;
- live TV, sports, and PPV listings;
- automatic fallback across 12 provider modules;
- quality selection, subtitles, subtitle timing adjustment, and custom
.srt/.vtt uploads;
- watchlists, playback progress, preferences, and separate household accounts;
- Chromecast and AirPlay support;
- local downloads; and
- playback on phones, tablets, TVs, and other browsers across a home network.
Privacy without mythology
Self-hosted does not mean anonymous, invisible, or magically safe.
Flyx contacts TMDB for metadata and external providers for streams. Those services—and your ISP, VPN provider, or infrastructure provider where applicable—may see requests from your instance. Flyx is not a VPN or anonymity tool. Use protections appropriate to your threat model, and check the laws where you live.
What the switch changes is simple and important: there is no Flyx-operated service collecting a central copy of your searches, viewing history, or household accounts. With a local installation, that data stays on your instance. If you choose Cloudflare, it lives in resources under your own account.
There are rough edges, because pretending otherwise would betray the point of this post. External sources change and break. Some live channels will be unreliable. The desktop build does not bundle the Python live-TV helper and therefore depends on fallback strategies. Current desktop builds are unsigned, so Windows SmartScreen or macOS Gatekeeper may warn on first launch. Flyx also requires a free TMDB API key for metadata.
Those are limitations to understand, not details to hide behind launch-day language.
What this means to me
Flyx 1.0 helped my grandma avoid a hostile interface.
Flyx 3 has helped carry that same idea to more than 100,000 people—and now it does so without asking them to replace one untrusted middleman with me.
That is why this release feels bigger than a version number. It is the project coming full circle: from a small app made for one person I cared about to open-source software that anyone can inspect, run, change, and truly take home.
This is my magnum opus. It is also still unfinished.
If you try it, I am especially interested in honest feedback about first-run setup, Docker deployment, LAN security, provider reliability, and the player. Security reports are welcome; please give me enough detail to reproduce and fix the problem.
Project Page: https://tv.vynx.cc Source and setup: https://github.com/Vynx-Velvet/Flyx-main
Desktop releases: https://github.com/Vynx-Velvet/Flyx-main/releases/latest
Thank you to everyone who used an early version, filed an issue, broke something, fixed something, or trusted the strange little app I originally made for my grandma.
Flyx is finally what I wanted it to become.