// the find
miru-project/miru-app
🎉 A versatile application that is free, open-source, and supports extension sources for videos, comics, and novels, available on Android, Windows, and Web platforms.
Miru is a Flutter app for Android, Windows, and Web that plays video, reads manga, and reads novels through user-written JavaScript extensions rather than built-in scrapers. It's aimed at people who want a Tachiyomi/Aniyomi-style multi-source consumption app and don't mind sideloading extension repos instead of getting everything from one official source.
The extension model is the core design decision and it's a good one: sources run in a sandboxed JS engine (quickjs) instead of being compiled into the app, so adding a new site doesn't require a new app release. It covers three content types (video, comics, novels) with one UI and one extension API instead of three separate apps. Integrations with TMDB and AniList for metadata/tracking are built in rather than left to extensions, and there's a built-in BT/torrent client plus SOCKS/HTTP proxy support, which matters a lot for this app's actual use case.
Linux isn't supported because quickjs won't start there, and macOS has project files in the tree but isn't mentioned anywhere in the README's platform list, so the real platform story is narrower than the badges suggest. There's no data sync between devices (on the TODO list, not implemented), so favorites/history/progress are local-only. The extension ecosystem is the whole value proposition but lives in a separate, unaudited repo of third-party JS scrapers — that's inherently a maintenance and trust liability the project can't fully control. Issue/PR templates exist but there's no CONTRIBUTING.md or documented extension API spec in this tree, so writing a new extension likely means reverse-engineering existing ones.