Skip to content
View tunefriend's full-sized avatar

Block or report tunefriend

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
tunefriend/README.md

TuneFriend

Stream music from a friend's self-hosted Subsonic server (Navidrome, Airsonic, Gonic, etc.) on Android — and on the web.

Latest release: v2.32

F-Droid: com.tunefriend.app

Web (Cloudflare, always online): https://tunefriend.org

Install

Android

  1. Prefer F-Droid for automatic updates, or download the APK from GitHub Releases
  2. Install on Android (allow installs from unknown sources if prompted)
  3. Enter your friend's server URL, username, and password
  4. Settings → Sync Library once (Wi‑Fi recommended for first sync) — then Songs, Albums, Genres, and Shuffle All use your full library

Note: GitHub and F-Droid builds are release-signed. If you previously installed an old debug APK, uninstall it first, then install the release build.

Web

Open https://tunefriend.org in any browser.
Your music server must be reachable from the internet (public HTTPS or tunnel) — private 192.168.x.x URLs only work with the local desktop server (./start.sh on your PC).

See DEPLOY.md for redeploying to Cloudflare (same account as oncall-scheduler).

Share with friends

Contact

Questions or feedback: tunefriend.music@proton.me

What friends need from you

If you're hosting the music server, give them:

  1. Server URL — e.g. http://your-ip:4533 or https://music.yourdomain.com
  2. Username and password (create an account for them in Navidrome)

They do not need your computer running — only your music server.

Features

  • Browse Home, Songs, Albums, Genres (and decades), and Search
  • Shuffle All with artist-aware diversity for large libraries
  • Favorites and Settings in the top bar
  • Background playback with lock screen / notification controls
  • Library sync for 50k+ song collections (search3 fast path)

Build from source

Requirements: Node.js 18+, JDK 21, Android SDK.

git clone https://github.com/tunefriend/tunefriend.git
cd tunefriend
npm install
npm run build:apk

Release APK (with android/keystore.properties configured):

android/app/build/outputs/apk/release/app-release.apk

Debug APK: npm run build:apk:debug

License

GNU General Public License v3.0 or later — see LICENSE.

If you modify TuneFriend and distribute it (including sharing a modified APK), you must provide the source code for your version under the same license.

Popular repositories Loading

  1. tunefriend tunefriend Public

    Stream music from Navidrome & Subsonic servers on Android — background playback, shuffle, library sync

    JavaScript 1

  2. win11-tiling win11-tiling Public

    Windows 11-style window tiling for Linux (GNOME & KDE) — Debian, Fedora, Arch packages

    Rich Text Format 1

  3. joker-theme joker-theme Public

    Joker desktop theme for GNOME (Debian) — void black, royal purple, toxic green

    CSS

  4. diablo2-sanctuary-theme diablo2-sanctuary-theme Public

    Diablo 2 Sanctuary desktop theme for GNOME + KDE — dark stone, blood red, gold

    QML

  5. dragonball-android-theme dragonball-android-theme Public

    Fan-inspired Dragon Ball wallpapers, lock screens & icons for any Android phone (Pixel, GrapheneOS, Samsung, etc.)

  6. rick-and-morty-android-theme rick-and-morty-android-theme Public

    Fan-inspired Rick and Morty wallpapers, lock screens & icons for any Android phone