This is a Python app that displays the currently playing song from Feishin on your discord profile.
It's designed to use minimal resources, while still being as fast (and accurate) as possible.
This app supports both Navidrome and Jellyfin (and should work with any Feishin-compatible version).
Feishin RPC depends on the fact that some modded clients use arRPC instead of the normal discord RPC.
Not using a client like Vesktop?
If you aren't using a client like Vesktop, you need to disable arRPC Features in the Feishin RPC Configuration.
Example of the difference between arRPC support on and off:
arRPC (vesktop) | Non-arRPC (unmodded) |
---|---|
Additionally, you should use mpv over web player for the most painless experience due to some lasting bugs in Feishin's MPRIS implementation.
Ensure you have Python 3.11+ and git before proceeding.
Recommended installation
# Create a folder for the RPC
mkdir ~/.feishin-rpc && cd ~/.feishin-rpc
# Handle venv creation for package isolation
uv venv --system-site-packages
source .venv/bin/activate
# Install latest version from git
uv pip install git+https://github.com/iiPythonx/feishin-rpc
Last resort installation option
pip install --break-system-packages git+https://github.com/iiPythonx/feishin-rpc
If you're on a distribution like Arch Linux, you might also need to:
sudo pacman -S python-gobject
Configuration will go in a centralized location depending on your OS:
- Linux:
~/.config/feishin-rpc/config.json
- Windows:
%LocalAppData%\feishin-rpc\config.json
To create the config file for you, run feishin-rpc-config
.
Afterwards, you can launch the RPC by running feishin-rpc
.
[Unit]
Description=Feishin RPC Service
After=network.target
[Service]
Type=simple
# If you installed Feishin RPC locally:
ExecStart=%h/.feishin-rpc/.venv/bin/feishin-rpc
# Otherwise, uncomment the following:
# ExecStart=python3 -m feishin-rpc
[Install]
WantedBy=default.target