explaingit

maotoumao/musicfree

24,609TypeScriptAudience · generalComplexity · 2/5LicenseSetup · moderate

TLDR

A free, ad-free music player app for Android that works through installable plugins, each plugin connects the app to a different online music source, so you can search and play from any supported service in one place.

Mindmap

mindmap
  root((MusicFree))
    What it does
      Plugin-based playback
      No ads or tracking
      Lyrics display
      Custom themes
    Tech Stack
      TypeScript
      React Native
      JavaScript plugins
    Use Cases
      Multi-source listening
      Plugin development
      Private music collection
    Audience
      Android users
      Plugin developers
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

Listen to music from multiple online sources without subscribing to any service, using a single app.

USE CASE 2

Build a plugin in JavaScript that connects MusicFree to a new music source.

USE CASE 3

Set up personalized playlists and lyrics display without any ads or personal data collection.

USE CASE 4

Use a music player that stores all your data locally with custom themes and no account required.

Tech stack

TypeScriptReact NativeJavaScript

Getting it running

Difficulty · moderate Time to first run · 30min

Requires separate plugin installation to access any music source, the app alone plays nothing out of the box.

Licensed under AGPL 3.0, free to use and modify, but if you distribute a modified version you must also release its source code under the same license.

In plain English

MusicFree is a free, ad-free, plugin-based music player for Android and Harmony OS. The core idea is that the app itself does not bundle any music source, instead, all search, playback, and playlist features are handled through plugins that you install separately. A plugin is a small JavaScript module that connects MusicFree to a specific music source available on the internet. As long as a plugin exists for a source, you can search and play music from it inside the app. The app supports light and dark themes, custom backgrounds, lyrics display, and stores all your data locally so it never collects personal information. You can even link the lyrics of one song to another, so multiple tracks share the same lyrics. You would use MusicFree if you want a single, customizable music player that can tap into various online music sources without ads and without paying for a subscription. It is primarily aimed at Chinese-speaking users given its documentation, though the plugin architecture is open to developers who want to add sources. The project is open-source under the AGPL 3.0 license, and the app is built with React Native and TypeScript.

Copy-paste prompts

Prompt 1
How do I install a plugin in MusicFree to connect it to a music source on Android?
Prompt 2
Show me how to write a MusicFree plugin in JavaScript that searches and streams tracks from a music API.
Prompt 3
How do I link lyrics between two songs in MusicFree so they share the same lyric file?
Prompt 4
Help me set up MusicFree with a custom background and dark theme on Android.
Open on GitHub → Explain another repo

← maotoumao on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.