AI summary
Open-source alpha music player for local files and self-hosted servers including Jellyfin, Navidrome/Subsonic, and Plex. Streams or caches tracks for offline play with no ads, tracking, or telemetry. New guided welcome helps first-time users choose a music source and defers notification permission until setup completes. Existing users upgrading skip the onboarding automatically.
Generated by AI. May contain inaccuracies.
About this app
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).
What's new
- A real first-run welcome
- New installs now open a guided welcome instead of dropping directly into an empty library. The source chooser helps users start with local music, Jellyfin, Navidrome / Subsonic, or Plex. Notification permission is deferred until the welcome has completed so first launch stays focused on setup. The welcome can be replayed later from Settings.
- Existing installs stay out of the way
- Linthra now records onboarding completion and detects Android install history during startup. Existing users upgrading from an earlier version continue into the normal app instead of being treated like a fresh install. The startup state is resolved before the router is built, preventing a temporary jump into the wrong screen.
- More resilient onboarding UI
- The welcome layout now uses the actual SafeArea constraints and handles very short viewports without producing invalid layout constraints. Regression coverage protects first-run routing, upgrade classification, onboarding persistence, and short-screen layout behavior.
About this version
- Version
- 0.2.0 (200999)
- Size
- 28.94 MB
- Requires Android
- 5.0
- Target SDK
- 21
- Architecture
- armeabi-v7a, x86, x86_64, arm64-v8a
- Downloads
- 46
- Updated
- Aug 9, 2026
- Package
- io.github.thezupzup.linthra
Similar apps
Ratings & reviews
- 50
- 40
- 30
- 20
- 10