update readme

This commit is contained in:
tapframe 2026-05-13 00:26:48 +05:30
parent f8320433d0
commit 3c7b86af28

View file

@ -1,6 +1,6 @@
<div align="center"> <div align="center">
<img src="https://github.com/tapframe/NuvioTV/blob/main/assets/brand/app_logo_wordmark.png" alt="Nuvio" width="300" /> <img src="https://github.com/tapframe/NuvioTV/blob/main/assets/brand/app_logo_wordmark.png" alt="Nuvio Desktop" width="300" />
<br /> <br />
<br /> <br />
@ -11,62 +11,66 @@
[![License][license-shield]][license-url] [![License][license-shield]][license-url]
<p> <p>
A modern media hub for Android and iOS built with Kotlin Multiplatform and Compose Multiplatform. Nuvio Desktop is a modern desktop media hub built with Kotlin Multiplatform and Compose Multiplatform.
<br /> <br />
Stremio addon ecosystem • Cross-platform macOS in development • Windows coming later • Stremio addon ecosystem
</p> </p>
</div> </div>
## About ## About
Nuvio is the current Kotlin Multiplatform rewrite of the original React Native app. It delivers a shared Compose UI for Android and iOS while keeping the playback-focused experience, collection tools, watch progress flows, downloads, and Stremio addon ecosystem integration that shaped the earlier app. Nuvio Desktop brings the Nuvio media experience to desktop with a Compose Multiplatform interface, profile-aware library flows, watch progress, collection tools, and Stremio addon ecosystem integration.
The mobile app is built from a single shared codebase in [composeApp](./composeApp), with native platform entry points for Android and iOS. The current desktop version is focused on macOS and is still in development. Windows support is planned for a later stage.
## Status
- macOS: active development.
- Windows: planned, not available yet.
## Installation ## Installation
### Android There is no stable public desktop release yet. macOS builds are currently intended for development and testing from source.
Download the latest Android build from [GitHub Releases](https://github.com/NuvioMedia/NuvioMobile/releases/latest).
### iOS
- [TestFlight](https://testflight.apple.com/join/u4y7MHK9)
## Development ## Development
```bash ```bash
git clone https://github.com/NuvioMedia/NuvioMobile.git git clone https://github.com/NuvioMedia/NuvioDesktop.git
cd NuvioMobile cd NuvioDesktop
./scripts/run-mobile.sh android ./gradlew :composeApp:desktopRun
# or
./scripts/run-mobile.sh ios
``` ```
### Project Structure ### Project Structure
- `composeApp/` contains the shared Kotlin Multiplatform and Compose Multiplatform app code. - `composeApp/` contains the shared Kotlin Multiplatform and Compose Multiplatform app code.
- `composeApp/src/commonMain/` contains shared UI, features, repositories, and platform-agnostic logic. - `composeApp/src/commonMain/` contains shared UI, features, repositories, and platform-agnostic logic.
- `composeApp/src/androidMain/` contains Android-specific integrations. - `composeApp/src/desktopMain/` contains desktop-specific integrations.
- `composeApp/src/iosMain/` contains iOS-specific integrations. - `MPVKit/` contains the macOS native playback bridge built on MPVKit and libmpv.
- `iosApp/` contains the native Xcode project and iOS entry point. - `iosApp/` remains in the tree for shared project history and configuration used by the codebase.
Useful commands: Useful commands:
```bash ```bash
./gradlew :composeApp:assembleDebug ./gradlew :composeApp:compileKotlinDesktop
./gradlew :composeApp:compileKotlinIosSimulatorArm64 ./gradlew :composeApp:desktopRun
./scripts/build-distribution.sh ./gradlew :composeApp:packageReleaseDmg
``` ```
Versioning is driven from `iosApp/Configuration/Version.xcconfig`, which is used as the shared source of truth for both iOS and Android builds. The macOS player bridge is built automatically for desktop run tasks. To build it directly:
```bash
cd MPVKit
swift build -c release --product DesktopMPVBridge
```
Versioning is currently driven from `iosApp/Configuration/Version.xcconfig`, which is used as the shared source of truth by the build.
## Legal & DMCA ## Legal & DMCA
Nuvio functions solely as a client-side interface for browsing metadata and playing media provided by user-installed extensions and/or user-provided sources. It is intended for content the user owns or is otherwise authorized to access. Nuvio Desktop functions solely as a client-side interface for browsing metadata and playing media provided by user-installed extensions and/or user-provided sources. It is intended for content the user owns or is otherwise authorized to access.
Nuvio is not affiliated with any third-party extensions, catalogs, sources, or content providers. It does not host, store, or distribute any media content. Nuvio Desktop is not affiliated with any third-party extensions, catalogs, sources, or content providers. It does not host, store, or distribute any media content.
For comprehensive legal information, including our full disclaimer, third-party extension policy, and DMCA/Copyright information, please visit our [Legal & Disclaimer Page](https://nuvioapp.space/legal). For comprehensive legal information, including our full disclaimer, third-party extension policy, and DMCA/Copyright information, please visit our [Legal & Disclaimer Page](https://nuvioapp.space/legal).
@ -75,27 +79,26 @@ For comprehensive legal information, including our full disclaimer, third-party
- Kotlin Multiplatform - Kotlin Multiplatform
- Compose Multiplatform - Compose Multiplatform
- Kotlin - Kotlin
- AndroidX Media3 - Swift
- AVFoundation and native iOS integrations - MPVKit, libmpv, and FFmpeg
## Star History ## Star History
<a href="https://www.star-history.com/#NuvioMedia/NuvioMobile&type=date&legend=top-left"> <a href="https://www.star-history.com/#tapframe/NuvioDesktop&type=date&legend=top-left">
<picture> <picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=NuvioMedia/NuvioMobile&type=date&theme=dark&legend=top-left" /> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=tapframe/NuvioDesktop&type=date&theme=dark&legend=top-left" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=NuvioMedia/NuvioMobile&type=date&legend=top-left" /> <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=tapframe/NuvioDesktop&type=date&legend=top-left" />
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=NuvioMedia/NuvioMobile&type=date&legend=top-left" /> <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=tapframe/NuvioDesktop&type=date&legend=top-left" />
</picture> </picture>
</a> </a>
<!-- MARKDOWN LINKS & IMAGES --> [contributors-shield]: https://img.shields.io/github/contributors/tapframe/NuvioDesktop.svg?style=for-the-badge
[contributors-shield]: https://img.shields.io/github/contributors/NuvioMedia/NuvioMobile.svg?style=for-the-badge [contributors-url]: https://github.com/tapframe/NuvioDesktop/graphs/contributors
[contributors-url]: https://github.com/NuvioMedia/NuvioMobile/graphs/contributors [forks-shield]: https://img.shields.io/github/forks/tapframe/NuvioDesktop.svg?style=for-the-badge
[forks-shield]: https://img.shields.io/github/forks/NuvioMedia/NuvioMobile.svg?style=for-the-badge [forks-url]: https://github.com/tapframe/NuvioDesktop/network/members
[forks-url]: https://github.com/NuvioMedia/NuvioMobile/network/members [stars-shield]: https://img.shields.io/github/stars/tapframe/NuvioDesktop.svg?style=for-the-badge
[stars-shield]: https://img.shields.io/github/stars/NuvioMedia/NuvioMobile.svg?style=for-the-badge [stars-url]: https://github.com/tapframe/NuvioDesktop/stargazers
[stars-url]: https://github.com/NuvioMedia/NuvioMobile/stargazers [issues-shield]: https://img.shields.io/github/issues/tapframe/NuvioDesktop.svg?style=for-the-badge
[issues-shield]: https://img.shields.io/github/issues/NuvioMedia/NuvioMobile.svg?style=for-the-badge [issues-url]: https://github.com/tapframe/NuvioDesktop/issues
[issues-url]: https://github.com/NuvioMedia/NuvioMobile/issues [license-shield]: https://img.shields.io/github/license/tapframe/NuvioDesktop.svg?style=for-the-badge
[license-shield]: https://img.shields.io/github/license/NuvioMedia/NuvioMobile.svg?style=for-the-badge [license-url]: https://github.com/tapframe/NuvioDesktop/blob/main/LICENSE
[license-url]: https://github.com/NuvioMedia/NuvioMobile/blob/main/LICENSE