A modern rework of miru_app.
Miru is a versatile, free and open-source application designed for streaming video, reading manga, and enjoying novels with a flexible third-party extension ecosystem. Available across Android, Linux, and Windows.
To grab the latest development builds, visit GitHub Actions Releases.
- Multi-Media Hub: Seamless support for Anime/Video streaming (HLS, MP4), Manga reader, and Web Novels.
- Integrated Torrent Engine: Built-in BitTorrent support for streaming media directly via magnet links and
.torrentfiles. - Extension Ecosystem: Modular architecture supporting community-authored extensions in JavaScript and Go (Scriggo VM).
- Network & Privacy: Built-in HTTP, SOCKS4/5 proxy routing, and TLS fingerprint spoofing to protect media requests.
- Cross-Platform Experience: Modern, responsive UI powered by Flutter and Forui, paired with a high-performance Go backend (
miru-core).
Miru Alpha separates presentation from network and data processing:
┌────────────────────────────────────────────────────────┐
│ Flutter Frontend │
│ UI (Watch, Detail, Download) ── Riverpod & MVVM │
└───────────────────────────▲────────────────────────────┘
│ gRPC & Local HTTP Proxy
┌───────────────────────────▼────────────────────────────┐
│ Go Backend (miru-core) │
│ • gRPC Service Layer • Extension Runtime (Go/JS) │
│ • HTTP Stream Proxy • Torrent Engine & SQLite │
└────────────────────────────────────────────────────────┘
The Flutter app communicates with an embedded or local Go backend via gRPC. All media fetching and extension requests are handled through the core service, guaranteeing unified proxying and security handling.
- Flutter: Flutter SDK (
>= 3.24.xrecommended, ensureflutteris on yourPATH). - Go: Go toolchain (
>= 1.22.x, ensuregois on yourPATH). - Git
-
Install the required system packages:
-
Debian / Ubuntu:
sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev libwebkit2gtk-4.1-dev libasound2-dev jq
-
Arch Linux:
sudo pacman -S --needed gtk3 webkit2gtk-4.1 git clang cmake ninja jq alsa-lib
-
-
Run or build the app:
flutter run -d linux # or build release bundle: flutter build linux --release
Ensure the Android SDK, NDK, and go are installed and properly configured in your environment. Native libraries are automatically compiled for each target ABI during the Flutter build hook.
flutter build apk --releaseEnsure the Desktop development with C++ workload in Visual Studio (or Build Tools) is installed, along with CMake.
flutter run -d windows
# or build release executable:
flutter build windows --releaseMiru Alpha relies on code generation for Protobuf contracts, Riverpod state notifiers, and JSON serialization:
-
Generate Protobuf Definitions: Regenerate Dart and Go gRPC / protobuf models:
make gen-proto
-
Run Build Runner (Riverpod & Freezed):
# Single run: make build-runner # Continuous file-watch mode during development: make runner-build-watch
-
Scriggo Extension Dependencies (Go Backend): When updating extension types in
src/miru_core/miru-core:cd src/miru_core/miru-core make gen-deps
This project is licensed under the GPL-3.0 License.