Open-source project
EdenwareApps/Megacubo avatar
EdenwareApps/Megacubo

Megacubo: an Electron IPTV player built around M3U playlists and open streams

🎬 A powerful, intuitive IPTV streaming app supporting M3U playlists, EPG, and community lists. Available for Windows, macOS, Linux, Android & TV Boxes.

612 stars92 forksJavaScriptGPL-3.0

At a glance

What is it?
Megacubo is a GPL-3.0 IPTV player for Windows, Linux, macOS and Android that treats M3U playlists as the primary object, with community discovery, a miniplayer, Chromecast support, and a Capacitor-based Android build sharing one JavaScript codebase. It plays the streams you supply and hosts nothing itself.
Who is it for?
Megacubo fits someone who already has M3U playlists or wants to organise free-to-air and public broadcaster streams into one library, and who values the same build running on a desktop and an Android TV box. It does not fit someone looking for a general purpose media player or a source of content, because the project hosts nothing and the README is explicit that users are responsible for the playlists they add.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 16 days ago.
What is it written in?
Mainly JavaScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The content model is your playlist, not a catalogue

Megacubo describes itself as a cross-platform IPTV player with support for M3U playlists, live TV streams, bookmarks, history, miniplayer mode, and community lists, and the README makes a point of drawing a boundary around what the application is responsible for. The internet already contains publicly available TV channels, radio stations, live streams, and community broadcasts, many of them free-to-air channels and public networks distributed by their own broadcasters, and Megacubo helps users organise and access that open media ecosystem through personal playlists and community discovery. The application does not decide what users watch, and the README states that users are responsible for the sources and playlists they add and access, and that Megacubo does not host media content itself. That framing is what makes it a player rather than a service, and it also means the quality of the experience depends entirely on the playlist you bring to it.

Community mode is discovery, not a bundled stream library

The community mode is the feature most likely to be misread. The README describes it as a place where users may discover and share publicly available streams and playlists, and it lists what users remain responsible for: the playlists they add, the streams they access, and compliance with local laws and broadcaster rights. Community-shared public streams are listed among the things people use Megacubo for, alongside watching free-to-air channels already available in their country, accessing publicly available broadcaster streams, organising personal IPTV and M3U playlists, watching international public channels, and listening to radio streams. The design decision is that discovery is a feature of the app while the responsibility for what a link actually points at stays with the person who clicks it. If you are evaluating the project for a locked-down environment, this is the part that needs a policy conversation before anything else.

The feature list is short because the player is the product

The README's feature list runs to thirteen items: an IPTV player with M3U support, live TV and radio streaming, community mode, miniplayer or picture-in-picture mode, bookmarks and watch history, a multi-language interface, cross-platform support, hardware accelerated playback, Chromecast support, external player support, an Electron-based desktop app, Android support, and open source. Two of those deserve a note. The miniplayer mode is called out in the README as a thing people use while working or studying, which suggests a small always-on-top window rather than a full-screen takeover. And external player support means the app is not trying to be the only decoder in your life, which for an IPTV client that has to cope with wildly inconsistent stream formats is a pragmatic decision rather than a limitation.

One JavaScript codebase, two shell technologies

The repository layout explains how the cross-platform claim is achieved. The desktop app is Electron, built through `electron-builder.config.cjs` and `electron-builder.config.mjs`, with `main.mjs` as the entry point and separate Rollup configurations for the node and renderer bundles. The Android build is Capacitor, with `capacitor.config.json`, `capacitor.mjs`, and a `build-android.mjs` script alongside an `android/` directory. Because the package is declared as an ES module with `main.mjs` for import and a CommonJS build for require, the same Node code serves both. Playback is handled by a stack of JavaScript stream libraries in the dependency list, including `hls.js`, `dashjs`, `mpegts.js`, and `m3u8-parser`, which is how the app covers HLS, DASH, and MPEG-TS sources, the formats named in the repository topics alongside MAG, Xtream Codes, and xtream-codes-api.

Running it from source takes three npm scripts

The development path in the README is a clone, an install, and two commands:

bash
# clone repository
git clone https://github.com/EdenwareApps/Megacubo.git

# enter folder
cd Megacubo

# install dependencies
npm install

# prepare project
npm run prepare

# run development build
npm run debug

The `prepare` script runs after install, and the `debug` script starts the development build. Packaging for the three desktop platforms uses dedicated scripts:

bash
# Linux
npm run build:electron:linux

# Windows
npm run build:electron:win

# macOS
npm run build:electron:mac

The README points to `DEVELOPING.md` and `BUILDING.md` for the detailed instructions. The repository also has its own scripts in `scripts/`, a `www/` directory holding the web assets including the localisation files under `www/nodejs-project/lang`, a `website/` directory, a `patches/` directory, and a `test.mjs` entry point, with a `.nvmrc` pinning the Node version.

Distribution is the website first, GitHub releases second

For end users the README is clear about where to get the app. The recommended download is the official site at megacubo.tv, which provides a Windows installer, Linux packages, macOS builds, an Android version, the latest stable releases, and setup instructions. Portable and release assets are also available in the GitHub Releases section. On Linux the app ships in three formats, AppImage, Snap, and Flatpak, and Linux users can also build directly from source, while macOS and Android builds come from the official website and releases section. The quick start for a new user is four steps: install the app for your platform, open Megacubo, add your M3U playlist or a community source, then start watching live streams and channels. The documentation site covers installation, the setup wizard, the user interface, using IPTV lists, community mode, watching live TV, performance, recommendations, troubleshooting, and a FAQ, with separate pages for building and contributing.

Twenty-three interface languages and a translation workflow

Megacubo ships a multi-language interface, and the README tabulates the locales by code: Arabic, Bengali, Chinese, Dutch, English, French, German, Greek, Hindi, Indonesian, Italian, Japanese, Polish, Portuguese, Russian, Spanish, Swahili, Turkish, Ukrainian, Urdu, Telugu, and Punjabi. Translators are pointed at a specific directory in the repository, the `lang` folder under `www/nodejs-project/lang` on the master branch, which means localisation is treated as a normal contribution path rather than a separate build step. For a player aimed at open international broadcast streams, that coverage is the point of the exercise. A multi-language interface also means the layout has to cope with very different string lengths, which is a design constraint the developers inherited rather than chose.

GPL-3.0, an active release line, and what the licence means for a desktop app

Megacubo is GPL-3.0 licensed, with the LICENSE file at the repository root, which matters more than usual for an Electron application because it is distributed as a desktop program rather than as a library. The project is clearly still moving: the release list shows v17.7.0 on 2026-09-06, v17.6.9 on 2026-07-25, and v17.6.5 on 2026-03-17, and the last push was on 2026-10-06, with the package version also reading 17.7.0. The desktop app also ships a `check-disk-space` dependency and a `create-desktop-shortcuts` dependency, which are the small signs of an application that manages a local install rather than a thin wrapper around a website. Legal questions about what you are allowed to watch, and in which country, sit with you and with your broadcaster agreements, not with the app, and the README says so more than once.

Editorial conclusion

Megacubo fits someone who already has M3U playlists or wants to organise free-to-air and public broadcaster streams into one library, and who values the same build running on a desktop and an Android TV box. It does not fit someone looking for a general purpose media player or a source of content, because the project hosts nothing and the README is explicit that users are responsible for the playlists they add. Before adopting it, install from megacubo.tv or the GitHub releases rather than building from source unless you need to, then check the platform list in the README, since Linux packaging comes in AppImage, Snap, and Flatpak flavours while Android builds are distributed from the website.

Frequently asked questions

What platforms does Megacubo run on?

The README lists Windows, Linux, macOS, and Android as supported. The desktop app is Electron-based and the Android build uses Capacitor, with the two sharing the same JavaScript codebase.

How do I install Megacubo on Linux?

The README says Megacubo supports Linux desktop environments through AppImage, Snap, and Flatpak, and that Linux users can also build directly from source. The official website at megacubo.tv also carries Linux packages.

Does Megacubo host any TV channels or streams itself?

No. The README states that Megacubo does not host media content itself and that users are responsible for the playlists they add, the streams they access, and compliance with local laws and broadcaster rights.

How do I build Megacubo from source?

Clone the repository, run `npm install`, then `npm run prepare` and `npm run debug` for a development build. Platform installers are produced with `npm run build:electron:linux`, `npm run build:electron:win`, and `npm run build:electron:mac`, with the details in DEVELOPING.md and BUILDING.md.

What is Megacubo community mode?

It is a feature where users discover and share publicly available streams and playlists. The README keeps responsibility with the user for the playlists they add, the streams they access, and compliance with local laws and broadcaster rights.

What licence is Megacubo released under?

The project is released under the GPL-3.0 licence, with the LICENSE file at the repository root. Release v17.7.0 was published on 2026-09-06 and the last push was on 2026-10-06.

Official sources

  1. EdenwareApps/Megacubo on GitHub
  2. License: GPL-3.0
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/edenwareapps-megacubo.svg)](https://hysenlabs.com/projects/edenwareapps-megacubo)

Was this useful?