explaingit

miru-project/miru-app

5,504DartAudience · generalComplexity · 3/5Setup · easy

TLDR

A free open-source Android and Windows media app that lets you watch videos, read comics, and read novels from any source using small JavaScript plugins, with AniList tracking and TMDB metadata built in.

Mindmap

mindmap
  root((repo))
    What it does
      Multi-media viewer
      JS extension system
      Video and manga
    Tech Stack
      Flutter
      Dart
      JavaScript plugins
    Features
      TMDB metadata
      AniList tracking
      Proxy support
    Platforms
      Android
      Windows
    Use Cases
      Watch streaming
      Read manga
      Custom sources
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Set up a single app that pulls together video streaming, manga reading, and novel reading from multiple sources via extensions

USE CASE 2

Write a JavaScript extension plugin to add a new content source that the app can browse, search, and play

USE CASE 3

Track your anime and manga watch history automatically through the built-in AniList integration

Tech stack

DartFlutterJavaScript

Getting it running

Difficulty · easy Time to first run · 5min

Linux is not supported due to a JavaScript engine dependency issue, download pre-built installers from the GitHub releases page.

In plain English

Miru App is a free, open-source media viewer for Android and Windows that lets you watch videos, read comics, and read novels from a variety of sources all inside one app. Rather than being tied to specific built-in content, it uses an extension system: small JavaScript plugins that tell the app where to find and how to fetch content from different websites or services. An official extension repository is included out of the box so you can start watching video content without writing any code. The extension system is designed to be approachable for people who want to add their own sources. Extensions are written in JavaScript, and the app provides debugging tools and a debug log to help test them. You can also point the app at a custom extension repository if you prefer to host or share your own collection of plugins. Beyond basic playback and reading, the app pulls in metadata from TMDB, a database of film and television information, so your library shows cover art and descriptions automatically. It also connects to AniList, a tracking service for anime and manga, so you can log what you have watched or read. Proxy support is included for HTTP, SOCKS4, and SOCKS5 connections. BitTorrent support is listed as completed in the project's to-do list. The app is built with Flutter, a framework that lets one codebase run on multiple platforms. Linux is not supported at the moment because of a dependency issue with the JavaScript engine the app relies on. You can download a pre-built installer from the GitHub releases page, or build it yourself by installing Flutter and running the standard build commands listed in the README. A Telegram community exists for questions and announcements.

Copy-paste prompts

Prompt 1
I want to write a Miru extension in JavaScript that adds a new video streaming source. Show me the structure of a basic extension with a search function and an episode list fetcher.
Prompt 2
How do I add a custom extension repository URL in Miru so I can install my own plugins instead of the default ones?
Prompt 3
How do I configure Miru to route all content requests through a SOCKS5 proxy?
Prompt 4
I want to debug a Miru extension I wrote. How do I use the app's debug log and debugging tools to trace what my JavaScript plugin is doing?
Open on GitHub → Explain another repo

← miru-project on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.