SimoHypers/limusic
Media & DesignA desktop YouTube Music client built with Rust and Tauri that streams ad-free audio through libmpv, for listeners who want a native player.
What it is
Limusic is a native desktop client for YouTube Music, written in Rust with Tauri and a SvelteKit front end. It talks directly to YouTube's InnerTube API instead of embedding a browser runtime or running a backend server, and plays audio through libmpv. The result is ad-free streaming, gapless transitions, on-disk caching and loudness normalization using YouTube's own metadata. The UI process never contacts YouTube itself; the Rust core handles API calls, and the obfuscated stream-protection JavaScript runs hidden inside a webview isolated from the interface.
Beyond playback, it covers YouTube Music account sign-in (Google login or pasted cookie, multiple accounts), library write actions such as likes and playlist editing, play history, synced lyrics with optional word-by-word timing, optional music videos, a queue with radio continuation, Last.fm and ListenBrainz scrobbling, Discord Rich Presence, OS media keys, a tray, and a Mini Player. The intended users are people who already listen to YouTube Music on desktop and want a lighter, native-feeling player with scrobbling and richer controls.
Getting started
Builds are published on the releases page. Install the package for your platform:
| Platform | File | Notes |
|---|---|---|
| Windows | -setup.exe |
self-updating |
| Windows | .msi |
no auto-update |
| Linux | .AppImage |
self-updating, libmpv bundled, needs glibc 2.39+ |
| Linux (Ubuntu/Debian) | .deb |
apt pulls in libmpv and webkit2gtk |
| Linux (Fedora/RHEL) | .rpm |
requires mpv-libs (sudo dnf install mpv-libs) |
| macOS (Apple Silicon) | .dmg |
unsigned; first launch needs xattr -dr com.apple.quarantine /Applications/limusic.app |
Intel Macs have no prebuilt binary and must build from source per BUILD-PLATFORMS.md. Arch, Fedora COPR and openSUSE Tumbleweed packages exist as community-maintained repos (for example yay -S limusic-bin on Arch), updated by their maintainers rather than the project.
After launching, sign in to YouTube Music from within the app, then search and play. Optional integrations: click the Last.fm mark in the title bar and approve the app in the browser; paste a ListenBrainz user token under Settings ▸ Scrobbling; toggle Discord Rich Presence from its icon. Lyrics open from the microphone button in the player bar.
To build on Fedora:
sudo dnf install mpv-libs mpv-libs-devel webkit2gtk4.1-devel \
gcc gcc-c++ make openssl-devel librsvg2-devel
cd ui && pnpm install && cd ..
cargo tauri build
Self-hosted Listen Together rooms require running the relay: cargo run -p sync-server, which serves plain WebSocket on 0.0.0.0:8080; put a TLS terminator in front and paste the resulting wss:// URL into the app's Listen Together panel.
Constraints and limitations
- Distribution targets: Windows, Linux and Apple Silicon macOS are the supported release targets; Intel macOS builds are source-only.
- Linux package requirements differ: AppImage needs glibc 2.39+ (Ubuntu 24.04+, Debian 13+, Fedora 40+); the RPM path requires
mpv-libs;.deband.rpmpackages do not self-update. - The macOS
.dmgis unsigned, so the quarantine attribute must be cleared before first launch. - Building from source without
src-tauri/lastfm.keys(your ownLIMUSIC_LASTFM_API_KEYandLIMUSIC_LASTFM_API_SECRETfrom the Last.fm API page) still builds; only the Last.fm button reports as unconfigured. - Word-by-word lyrics depend on Boidu, which is queried for every track by default; the setting can be disabled, and other sources provide line-level lyrics only. YouTube Music's own lyrics are licensed per region and may be absent entirely in some countries.
- Last.fm scrobbles at the halfway point or four minutes, whichever comes first; ListenBrainz requires a verified email on a new account.
- The project is not affiliated with YouTube or Google, and is licensed GPL-3.0.
HotRepo's take
Limusic entered HotRepo's Rust monthly list on 2026-11-01 with 1,550 stars (872 gained in the month) and a best position of 20. That is the only snapshot available, so it establishes a single-date fact rather than a trend line; no all-language GitHub daily rank has been recorded for the project. The language-scoped monthly figure does show that a native Rust YouTube Music client — a category where the usual answer is an Electron app or the web player — found an audience in that window. Whether that holds beyond one month is not yet visible in the data.
Written by AI from the project's README, updated . The project's own docs are the source of truth.