package icon

Linthra

Open-source, local-first music player for music you own. No forced sync.
Linthra is an open-source Android music player for people who keep their music on
their own devices or self-hosted servers. It plays local files, and it streams
from self-hosted music servers such as Jellyfin and Navidrome/Subsonic — you
bring your own server and sign in with your own account.

Linthra is an unofficial community client. It is not affiliated with Jellyfin,
Navidrome, or Subsonic.

The app is still early alpha. It's usable for testing on a real device, but it
isn't production-stable and has a few rough edges. The lists below separate what
works today from what's still planned.

On privacy:

* No ads, no tracking, no analytics, and no crash-reporting or telemetry SDK.
* No account to create, and nothing phones home — streaming is the default, and
downloads only happen when you ask for them (Wi-Fi only unless you opt in to
mobile data).
* When you sign in to a server, the password is used once to get a session
token, then dropped; the token is stored encrypted and never logged.
* Open-source under the Mozilla Public License 2.0, so anyone can read, build,
and contribute to it.

What works today:

* Local library — pick a folder with the Storage Access Framework (no broad
storage permission), scan it, and browse Songs, Albums, and Artists with
search.
* Streaming from your own Jellyfin or Navidrome / Subsonic server: test the
connection, sign in, sync, and play, including over HTTPS.
* A smart offline cache — download tracks for offline play, with a size limit
and a "Keep offline" pin.
* Queue / Up Next, playlists and favourites (synced with Jellyfin where it's
supported), and automatic "smart mixes" built from on-device signals.
* Background playback with a media notification and lock-screen, Bluetooth, and
wired-headset controls, plus shuffle / repeat and synced lyrics.
* Android Auto browsing, and casting to a Chromecast, speaker, or TV through a
pure-Dart Cast implementation (no Google Play Services).

Still to come:

* Reading tags and album art from local files (for now they show file names).
* Subsonic favourites, lyrics, and cover art, and fuller playlist sync.
* "Download all" for an album or playlist.
* More sources, such as WebDAV / NAS, behind the same interface.
* A Linux desktop build later, from the same codebase.

Linthra is distributed for testing as a sideloaded APK from GitHub Releases. It
isn't on F-Droid or Google Play yet.

Versions

Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.

Download F-Droid
  • Version 0.1.1 (1019993) suggested Added on Jun 09, 2026

    x86_64

    This version requires Android 5.0 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • allow Wi-Fi Multicast reception
      Allows the app to receive packets sent to all devices on a Wi-Fi network using multicast addresses, not just your phone. It uses more power than the non-multicast mode.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "mediaPlayback"
      Allows the app to make use of foreground services with the type "mediaPlayback"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • show notifications
      Allows the app to show notifications
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • io.github.thezupzup.linthra.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 10 MiB PGP Signature | Build Log

  • Version 0.1.1 (1019992) - Added on Jun 09, 2026

    arm64-v8a

    This version requires Android 5.0 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • allow Wi-Fi Multicast reception
      Allows the app to receive packets sent to all devices on a Wi-Fi network using multicast addresses, not just your phone. It uses more power than the non-multicast mode.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "mediaPlayback"
      Allows the app to make use of foreground services with the type "mediaPlayback"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • show notifications
      Allows the app to show notifications
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • io.github.thezupzup.linthra.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 10 MiB PGP Signature | Build Log

  • Version 0.1.1 (1019991) - Added on Jun 09, 2026

    armeabi-v7a

    This version requires Android 5.0 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • allow Wi-Fi Multicast reception
      Allows the app to receive packets sent to all devices on a Wi-Fi network using multicast addresses, not just your phone. It uses more power than the non-multicast mode.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "mediaPlayback"
      Allows the app to make use of foreground services with the type "mediaPlayback"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • show notifications
      Allows the app to show notifications
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • io.github.thezupzup.linthra.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 10 MiB PGP Signature | Build Log

  • Version 0.1.0-alpha.40 (1000403) - Added on Jun 05, 2026

    x86_64

    This version requires Android 5.0 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • allow Wi-Fi Multicast reception
      Allows the app to receive packets sent to all devices on a Wi-Fi network using multicast addresses, not just your phone. It uses more power than the non-multicast mode.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "mediaPlayback"
      Allows the app to make use of foreground services with the type "mediaPlayback"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • show notifications
      Allows the app to show notifications
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • io.github.thezupzup.linthra.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 10 MiB PGP Signature | Build Log

  • Version 0.1.0-alpha.40 (1000402) - Added on Jun 05, 2026

    arm64-v8a

    This version requires Android 5.0 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • allow Wi-Fi Multicast reception
      Allows the app to receive packets sent to all devices on a Wi-Fi network using multicast addresses, not just your phone. It uses more power than the non-multicast mode.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "mediaPlayback"
      Allows the app to make use of foreground services with the type "mediaPlayback"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • show notifications
      Allows the app to show notifications
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • io.github.thezupzup.linthra.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 10 MiB PGP Signature | Build Log

  • Version 0.1.0-alpha.40 (1000401) - Added on Jun 05, 2026

    armeabi-v7a

    This version requires Android 5.0 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • allow Wi-Fi Multicast reception
      Allows the app to receive packets sent to all devices on a Wi-Fi network using multicast addresses, not just your phone. It uses more power than the non-multicast mode.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "mediaPlayback"
      Allows the app to make use of foreground services with the type "mediaPlayback"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • show notifications
      Allows the app to show notifications
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • io.github.thezupzup.linthra.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 10 MiB PGP Signature | Build Log