Guide on how to change the port the client frontend listens on.
Cider defaults to using port 9000
for the client frontend. If you need to change this port, you can do so by setting the PORT
environment variable.
Note: This only works on Electron Clients. Setting the port on Sabiiro is currently not supported.
When running Cider from the CLI you can set the ports as follows:
This will start the client frontend on port 1111
.
etc/environment
FileIn linux you can set the port in a etc/environment
file. This file is read by the system on startup and sets the environment variables for all processes. MacOS users can use the ~/.bash_profile
file.
The disclaimer for what support we can provide through GitHub or Discord. Please note this before proceeding to ask for help.
Support is fully provided to all releases made on GitHub. Please open an issue, and we will try and fix the issue ASAP. Upon issues being fixed, you will need to wait until the next release if you wish to experience the fixed version in a stable state.
In early access releases the same applies as with normal releases: Support is fully provided and feel free to open an Issue on GitHub if you have problems. However, with these types of releases, you need to remember that they are non-stable releases and you may encounter issues. These builds of the application do not reflect the complete state of the app in any way.
This website contains all the resources required to compile, create plugins and theme Cider!
All of the endpoints are paths that point to http://localhost:10769
, we've observed that sometimes using 127.0.0.1
when IPv4 is disabled (don't do that btw) tends to break and not connect. We're not fixing this as it's user error for turning off IPv4, but if you cannot do anything about it, try using [::1]:10769
.
/active
This will respond as quickly as possible with an empty 204: No Content
response, it can be used to quickly check that the RPC is still active.
/currentPlayingSong
This will respond with an Apple Music API Response for the currently playing song, the following is an example response.
/addToLibrary
This will save the currently playing track to the user's library. If no music is playing, this will do nothing.
/isPlaying
This will return a JSON string stating if the player is currently actively playing a song or not.
These are the only 2 potential responses to this request, if it is anything else, it's safe to assume something broke.
{/*
*/}
/toggleAutoplay
This will change the autoplay setting to its opposite value and return the updated value in a JSON string.
These are the only 2 potential responses to this request, if it is anything else, it's safe to assume something broke.
/playPause
This is functionally equivalent to clicking the play/pause button within the application.
/play
This is functionally equivalent to clicking the play button within the application, if music is already playing, this will do nothing.
/pause
This is functionally equivalent to clicking the pause button within the application, if music is already paused, this will do nothing.
/stop
This is functionally equivalent to clicking the STOP button within the application, if nothing is happening, this will do nothing
/next
This will skip to the next song, behaviour is identical to clicking the button within the application.
/previous
This will skip to the previous song, behaviour is identical to clicking the button within the application.
/seekto/{t}
Where
t
is the time you'd like to skip to in seconds
Set the playhead to this time in the song, you can use /currentPlayingSong
to get the time, (using the durationInMillis
property divided by 1,000 to get the duration in seconds).
This will always return 204
and if the call fails or the song is too long, it will silently fail, it is recommended that you check the song's actual length before running this function.
/show
Will show the window and demand user attention on the screen
/hide
Will hide the window, if enabled this will minise it to the system tray as well.
/album/{id}
Where
id
is the ID of the album you'd like to lookup
This will run a query of the Apple Music API using the signed in user's account and will pipe the response back to here.
This will always return a 200 but with a different JSON Structure
For More information on the structure of this response, consult the Apple Music API Docs
/rating/{type}/{id}/{rating}
Since Cider version 2.1.3
Where
type
is the type of content you're submitting a rating for, this can be song
, music-video
, album
, or playlist
id
is the ID of the content in question, you can get it from /currentPlayingSong
rating
is the rating you'd like to push
-1
is a dislike
0
resets the rating
1
is a like
/audio
Get the current volume, this will return plain-text as a floating point number between 0 and 1 inclusive
/audio/{volume}
Set the volume slider, will set the in-app volume, not the system volume.
requires a floating point value between 0 and 1, (e.g. /audio/0.8
).
/rating/{type}/{id}
Since Cider version 2.1.3
Where
type
is the type of content you're submitting a rating for, this can be song
, music-video
, album
, or playlist
id
is the ID of the content in question, you can get it from /currentPlayingSong
The main Frequently Asked Questions for Cider application support.
::alert{type="note"} This is essential knowledge for the debugging process, please read these before creating an issue. ::
The location of your application data varies depending on your operating system, see your platforms path below:
MS Store: %localappdata%\packages\27554FireDevElijahKlauman.CiderEA_270bejk4xgzqp\LocalCache\Roaming\C2Windows
Windows (non-MS Store): %appdata%\C2Windows
Linux: $HOME/.config/sh.cider.genten
MacOS: /Library/Application Support/sh.cider.genten
Try the following if Discord Rich Presence is not appearing on Discord.
Make sure that Music is set to Explicit.
::alert{type="note"} It could potentially be a case where explicit playback is restricted in your country, in this case you may need to change your Apple Account region to resolve this. ::
This is a fairly rare case and can be resolved fairly easily. Follow the steps below and it should resolve your issue:
Disable any Antivirus and/or Firewall present on your device. These can conflict with the WebSocket API in the client and will cause this error. (ESET is a known offender for this.)
Ensure you do not have a VPN on or any policies enabled on your device that can affect network traffic. Company managed devices may also have policies blocking this.
Check that you do not have Cider running already - and that nothing is running on the same port that Cider operates under - 10767
.
If you are experiencing this issue, your account might have content restrictions set to "Clean". Login to , go to Profile Picture > Settings, then login again and check the "Content Restrictions" under "Parent Controls".
Outside of this advice, there is an for it, unfortunately we are stuck with it as one of the key components in Cider uses it as a dependency. We cannot help further on this issue.