MyGo 云音乐
用 Go 与 MyGo 写成的第三方网易云音乐桌面客户端。原生界面,没有 WebView;边下边播,无损与 Hi-Res,逐字歌词与「律动」,刘海播放器。
Translation pending
A music player for YouTube Music, Tidal, Apple Music and Spotify that plays everything in lossless FLAC. Downloads for Windows, Android and Linux.
MediaPython · KotlinGitHub @VarixxlOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
One music player for YouTube Music, Tidal, Apple Music and Spotify, in lossless FLAC. Linux (Omarchy), Windows and Android.
Taken from the repository README
Loading the full README.
Read the full README ↗(Formerly Omarchy Music.)
A small music popup for Omarchy (Hyprland), themed live from the Omarchy theme. You browse YouTube Music, Tidal, Apple Music or Spotify, plus the music in your own folders. Everything plays in lossless FLAC from Tidal where Tidal has it.
It is a single Python/GTK 4 file: omarchy-music. It also runs on Windows, and there is
an Android app.
Downloads (Windows installer, Android APK) are on the download page and the releases page.
~/Music to start; add more in the accounts menu)
appear in the Music tab beside your downloads, with the covers they carry.playlists.json..lrc files).omarchy-music
command has a CLI (omarchy-music help).install.sh again; on Windows it runs the new installer, which reopens the app; on Android
the system installer asks you to confirm.android/ holds the Android version (Kotlin, Jetpack Compose, Media3). It has the same
services, Tidal FLAC streaming and downloads, Music tab, playlists, EQ with the headphone
curves, lyrics, Last.fm and Wrapped, the search menu, .m3u8 import and the DJ. It is a separate app, package org.omarchy.music.
What's playing shows in the notification shade and on the lock screen, the desktop's song
too while the phone is its remote.
Build it with JDK 17+ and the Android SDK (platform 35):
cd android
tools/tidal-keys.sh # writes tidal.properties (gitignored) from the tidalapi package
./gradlew assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apk
./gradlew assembleRelease signs with the key named in
~/.local/share/omarchy-music/keystore.properties (storeFile, storePassword, keyAlias,
keyPassword). That file and the key stay outside the repository. Without them, the
release build is signed with the debug key. A phone with a debug build installed has to
uninstall it once before it takes a release build, because the signatures differ.
On the phone, YouTube Music and Apple Music sign in on their own pages inside the app.
Tidal, Spotify and Last.fm connect the same way as on the desktop. Downloads go to
Music/Omarchy Music/ on the phone. The Music tab reads Music/ to start; Choose
folders there (or Folders in the accounts menu) picks which folders it reads.
History in the accounts menu adds your Spotify listening to Wrapped: import the zip from Spotify's data download (https://www.spotify.com/account/privacy/, the extended streaming history or the past year's), and with Spotify connected your last plays come in each time the app starts. A play Last.fm already has counts once. Nothing is sent to Last.fm, which takes nothing older than two weeks.
While Play on points at the desktop, the phone's now-playing bar, Up next and Lyrics follow the desktop, and every play, queue and button goes there. Songs stored on the phone itself play on the desktop too: the desktop streams each one from the phone (port 8899 on the phone, while Play on points at the desktop). Each song's address carries a code only the phone can make, and the desktop takes such songs only from the phone that sent them. Keep the phone app running and on the same network while they play.
The remote listens on TCP port 8897 and answers only paired phones. It is plain HTTP, so use it on a network you trust. Omarchy's firewall blocks the port until you allow it, for example:
sudo ufw allow from 192.168.1.0/24 to any port 8897 proto tcp
sudo ufw allow from 192.168.1.0/24 to any port 5353 proto udp # finding it without typing the address
Forget the paired phones in the accounts menu signs every phone out.
sudo pacman -S --needed mpv ffmpeg python-gobject gtk4 libadwaita
git clone https://github.com/Varixxl/omarchy-music.git ~/Projects/omarchy-music
~/Projects/omarchy-music/install.sh
install.sh does three things:
~/.local/share/omarchy-music/venv with the modules in
requirements.txt;~/.local/bin/omarchy-music;Run it again to update the modules.
For the dropdown look, add a Hyprland rule for the class org.omarchy.music, for example:
o.window({ class = "org.omarchy.music" }, {
float = true,
size = { 420, 680 },
move = { "(monitor_w*0.5-window_w*0.5)", "(36)" },
animation = "slide top",
})
Then bind a key to ~/.local/bin/omarchy-music. Running the command again toggles the
popup.
Get OmarchyMusic-Setup.exe from the releases page. It installs for your account only
(no administrator rights needed) and adds VarMusic to the Start menu. It's the same app
in a normal window, with Python, GTK 4, mpv and ffmpeg bundled. Media keys control it
directly.
The installer is built by GitHub Actions (.github/workflows/windows.yml) in MSYS2:
packaging/windows/build.sh gathers the app with everything it runs on, and
packaging/windows/installer.iss (Inno Setup) packs it. Pushing a v* tag builds it and
attaches it to that release. Running the workflow by hand gives the installer as a build
artifact.
On Windows, sign in to YouTube Music and Apple Music in Firefox. Chrome and Edge encrypt their cookies so that only they can read them.
Open the accounts menu with the ☰ button, or run omarchy-music accounts.
YouTube Music / Apple Music. Sign in at music.youtube.com and music.apple.com in Chromium (Firefox on Windows). The app reads those sign-ins from the browser's cookies.
Tidal (for FLAC; without it songs stream from YouTube Music). Click Connect, or run omarchy-music --tidal-login.
Then sign in on Tidal's page and paste back the address it ends on. Lossless needs a Tidal
subscription.
Spotify (optional). Spotify only lets each person use their own developer app:
http://127.0.0.1:8898/callback.omarchy-music --spotify-login.Since February 2026 the app's owner needs Spotify Premium. Spotify's API also no longer gives artist top tracks or radio, and only shows the items of playlists you own or collaborate on. Audio still comes from Tidal.
Last.fm (optional). Make a free API account, then paste its key and secret.
No logins or keys are stored in this repository. Everything personal lives in your home folder:
| What | Where |
|---|---|
| Downloaded songs, covers, library, your playlists | ~/Music/Omarchy Music/ (set OMARCHY_MUSIC_DIR to move it) |
| Queue, settings, EQ, folders, paired phones | ~/.local/state/omarchy-music.json |
| Play counts (Recent / Most played) | ~/.local/state/omarchy-music-plays.json |
| Tidal, Spotify and Last.fm logins (mode 600) | ~/.local/state/omarchy-music-{tidal,spotify,lastfm}.json |
| Cover and tag cache | ~/.cache/omarchy-music/ |
On Windows, everything under ~/.local/state and ~/.cache is in
%LOCALAPPDATA%\omarchy-music instead, and downloads go to Music\Omarchy Music in your
user folder.
To start over, quit the app (omarchy-music quit) and delete those paths.
A second copy can run beside your own. Its own app id and state come from
OMARCHY_MUSIC_PROFILE=dev. The other development variables:
OMARCHY_MUSIC_DIR: a test library.OMARCHY_MUSIC_MPRIS=0: no media keys.OMARCHY_MUSIC_NO_FOCUS=1.OMARCHY_MUSIC_MPV="--ao=null": silent.OMARCHY_MUSIC_SELFTEST=1: opens the window, checks that mpv and the modules work, prints
the result and exits (the Windows build runs this).MIT. See LICENSE.