MyGo 云音乐
用 Go 与 MyGo 写成的第三方网易云音乐桌面客户端。原生界面,没有 WebView;边下边播,无损与 Hi-Res,逐字歌词与「律动」,刘海播放器。
Translation pending
Your listening year, on your own server. Statistics and a yearly recap for Navidrome — web, iOS and Android.
MediaSwift · PythonGitHub @JannehyOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Native iOS client for a self-hosted Rotation server — statistics, artist pages and the yearly recap
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
A native SwiftUI client for a Rotation
server — your listening year, from your pocket.
English and German, following the device language. Six accent colours — and the
home screen icon follows the one you pick, without a second setting for it.
• An iPhone or iPad with iOS 16 or newer
• A Rotation server you can reach from the device — on your home network or
through a VPN such as Tailscale or WireGuard
• A Navidrome account on the server behind it. Rotation has no user
database of its own.Read the full README ↗A native SwiftUI client for a Rotation server — your listening year, from your pocket.
| Screen | What you get |
|---|---|
| Overview | Top artists, tracks, albums and genres for 7, 30 or 90 days, this year or all time — with rank, plays and hours, and your discoveries of the period |
| Detail | Every artist, album and track with its own history and a 30-second preview from your library |
| History | A weekday-by-hour heatmap and what you played last |
| Recap | Your year as a full-screen story: it advances by itself, holds when you hold it, plays music from your library, and asks you to guess before it tells |
| Friends | Other users of the same Navidrome and the artists you have in common |
| Settings | Server and account, who may find you, the accent colour, and the recap's season options including the December reminder |
English and German, following the device language. Six accent colours — and the home screen icon follows the one you pick, without a second setting for it.
No server to hand? Tap Try the demo on the sign-in screen: an invented listening year, complete with recap, entirely on the device.
On the App Store. To build it yourself:
brew install xcodegen
xcodegen generate
open Rotation.xcodeproj
Requires macOS with Xcode 15 or newer. Pick your team under Signing &
Capabilities (or put your Team ID into project.yml so it survives
regeneration), then build to your device.
Tools/build-ipa.sh archives and exports an IPA from the command line.
On first launch, enter the address of your server:
| Typed | Used |
|---|---|
192.168.1.20 | http://192.168.1.20:8770 |
192.168.1.20:9000 | that port instead of the default |
rotation.tail1234.ts.net | over Tailscale, with the tunnel up |
https://rotation.example.com | taken as typed, port 443 |
A bare host gets http:// and Rotation's default port 8770; anything more
explicit is used as you typed it, path prefix included. Behind an HTTPS reverse
proxy, enter the full https:// URL.
Sign in with your Navidrome account. The session survives restarts.
Tools/make-icon.py draws the record — one icon per accent colour — with the
standard library alone, no image dependency:
python3 Tools/make-icon.py
It writes icon-1024.png into each AppIcon*.appiconset, so the app on the home
screen wears the colour the app wears inside.