A fork of the Cider v1 player, aimed to maintaining it to be happily running upon Linux desktop, with some fixes not in the original upstream.
The "DesktopEntry" property of MPRIS requires a fixed desktop file name. As I have no idea how to manually specify desktop file name with electron-builder
, I have to change binary name, and following changes are made:
cider.desktop
->sh.cider.Cider.desktop
- (desktop entry icon)
cider
->sh.cider.Cider
cider
binary ->sh.cider.Cider
binary
This Cider build (and other third party apps supporting Apple Music) requires a valid Apple Music token (not account!) to work. Unfortunately, this is costly: an Apple Developer Program subscription is required to generate a valid token ($99 USD per year). Please read https://developer.apple.com/documentation/applemusicapi/generating_developer_tokens for more information.
Note that currently you could get others' token with MusicKit.getInstance().developerToken
on webpages using MusicKit. Please refrain from using this in production (such as packaging it in your own apps). See https://developer.apple.com/forums/thread/702228 for more discussion, and thanks for a user's email informing me about this.
This build by default still requires https://api.cider.sh/v1/ returning a working, valid token -- currently I could not help with this if it does not work :-(.
You could press "Ctrl+Shift+I" to open devtools, switch to "Console" tab, and see if there's any error message related to, for example, expired token.
This build supports TOKEN_API
env, which you could provide a custom API endpoint to fetch the token like this:
TOKEN_API=https://example.com/token flatpak run sh.cider.Cider # or ./cider, or anything you like
TOKEN_API
requires returning a JSON object with token
like this:
{
"token": "xxxx"
}
To persist this, you could edit the .desktop
file installed (Exec
line). If you're using Flatpak, use Flatseal to add this environment variable.
Currently, FIDO2 support with Flatpak is a bit messy -- FIDO2 requires USB accesses, and currently the only way to do that is to allow it to access all devices.
Portal support is still in development slowly:
- flatpak/xdg-desktop-portal#989
- https://alfioemanuele.io/dev/2024/01/31/a-vision-for-passkeys-on-the-linux-desktop.html
If you don't have a security key, you can change --device=all
to --device=dri
(GPU access is still required for hardware acceleration), with tools like Flatseal.
electron-builder
requires OpenSSL 1.1 for now.
For distros that using OpenSSL 3.x, you need to install OpenSSL 1.1 compatibility libraries. For example, on Arch Linux, you can install libxcrypt-compat
package.
Original README:
This application is now no longer being actively maintained.
No support will be given on Windows.
Thanks for your continued support.
A new cross-platform Apple Music experience based on Electron and Vue.js written from scratch with performance & visuals in mind. 🚀
This project is NOT affiliated with Apple in any way shape or form. The project is open source and free to use (with an Apple Music subscription) for any legal concerns contact me at cryptofyre@cryptofyre.org.