# maotoumao/MusicFree

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/maotoumao-musicfree).**

23,331 stars · 1,624 forks · TypeScript · agpl-3.0

## Links

- GitHub: https://github.com/maotoumao/MusicFree
- Homepage: https://musicfree.catcat.work
- awesome-repositories: https://awesome-repositories.com/repository/maotoumao-musicfree.md

## Topics

`free` `music-player` `musicfree` `plugin` `react` `react-native` `typescript`

## Description

MusicFree is a cross-platform audio player that functions as an extensible media aggregator. It consolidates content from multiple disparate online music services into a single interface, allowing users to search and listen to media across various platforms within one application.

The application utilizes a plugin-based architecture that relies on modular scripts to integrate third-party streaming services. Users can expand the available music library by importing external configuration files, which define how the player interacts with different media providers and displays metadata.

To maintain interface responsiveness, the software performs media retrieval, content searching, and data parsing through asynchronous background tasks. These external scripts are executed within a sandboxed environment to safely process data from remote sources, while a centralized observer pattern manages state transitions across the playback interface.

## Tags

### Development Tools & Productivity

- [Extensible Media Players](https://awesome-repositories.com/f/development-tools-productivity/extensible-media-players.md) — Functions as an extensible media aggregator that fetches and displays metadata from diverse web services.

### Graphics & Multimedia

- [Audio Plugin Architectures](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-plugin-architectures.md) — Expands streaming library capabilities by loading external configuration files to support custom music providers. ([source](https://musicfree.catcat.work/qa/common.html))
- [Music Streaming Interfaces](https://awesome-repositories.com/f/graphics-multimedia/audio-music/music-utilities/music-streaming-interfaces.md) — Aggregates disparate music sources into one central application to simplify searching and listening across platforms.
- [Audio Playback](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-playback.md) — Links custom online music services to the playback interface for media retrieval and metadata display. ([source](https://musicfree.catcat.work/plugin/introduction.html))
- [Audio & Music](https://awesome-repositories.com/f/graphics-multimedia/audio-music.md) — Expands available music libraries by importing external configurations to manage new streaming providers.

### Software Engineering & Architecture

- [Plugin-Based Architectures](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures/plugin-based-architectures.md) — Extends core functionality by dynamically loading external JavaScript modules to integrate third-party streaming services.
- [Media Provider Interfaces](https://awesome-repositories.com/f/software-engineering-architecture/modular-provider-interfaces/media-provider-interfaces.md) — Provides a standardized abstraction layer for interacting with multiple disparate music streaming services.
- [Sandboxed Execution Environments](https://awesome-repositories.com/f/software-engineering-architecture/sandboxed-execution-environments.md) — Executes external integration scripts within isolated environments to safely process metadata and search queries from untrusted sources.
