Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

274 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Extension Icon Discord Music RPC

🎡 Show what you're listening to on Discord β€” from ANY music website 🎡

GitHub Stars Total Downloads Latest Release

Discord Music RPC is an open-source project that combines a browser extension with a lightweight desktop application to display what you’re listening to on websites directly in your Discord Rich Presence. What makes it unique is its fully customizable selector system, which allows anyone to add support for almost any music site without coding, along with an advanced userscript engine for more complex integrations.

Download

You must install both the browser extension and the desktop application for the app to work.

Browser Extension

Required to detect music on supported websites and send playback data to the desktop app.

Get it on Chrome Web Store Get it on Firefox Add-ons

Desktop App

Required to communicate with Discord and display your music status.

Windows Installer (x64) Windows ZIP (x64)
Linux AppImage x86_64 Linux DEB x64 Linux RPM x64 Linux Pacman x64
macOS DMG (Universal)

πŸ“š Table of Contents

πŸš€ Features

  • No login required, works entirely locally
  • Discord Web support
  • Over 20 community-supported music, video, and radio integrations via the Activity Library.
  • Easy to extend - add support for almost any music and video site using the built-in selector system or userscripts
  • Filter system - block or replace songs by artist/title, per-site or globally
  • Both listening and watching activity support
  • Live activity output - WebNowPlaying (Rainmeter & OBS), and plain text/JSON files on disk
  • Cross-platform Electron desktop app (Windows / Linux / macOS)
  • Automatic updates for both the browser extension and the desktop app
  • Fully customizable Discord status per site - control artist, source, cover art, buttons, timestamps, and more
  • Open-source and community-driven

🎡 Supported Websites

These are the integrations available in the activity library. Additional sites can be easily added using the built-in selector system or the UserScript manager - see the How to Add a New Music Site section.

YouTube YouTube Music SoundCloud Deezer Tidal
Pandora Apple Music Amazon Music VK TuneIn
OnlineRadioBox iHeartRadio Radio.net Radio Garden Listen.moe
Gensokyo Radio accuRadio anison.fm Asia Dream Radio Plaza One
Bilibili TV Kick Twitch r/a/dio Sasalele Music Station

πŸ”§ Setup

  1. Install the Extension
    Install the browser extension and complete the initial setup.

  2. Install the Desktop App
    Install and run the app - it will appear in your system tray.

    Important: If Discord runs as administrator, Discord Music RPC must also run as administrator.

  3. Play Music
    Go to a supported music site (YouTube Music, Deezer, SoundCloud, etc.) and start playing.

  4. Check Your Discord Status
    Open Discord and look at your status - it should now show what you're listening to!

  5. Disable on Specific Pages
    To disable detection on certain websites:

    • Click the extension icon (top-right of browser)
    • Toggle the switch to turn off detection for that page

πŸ’» Compatibility

Browser Extension

Chrome, Firefox, and Chromium-based browsers (Opera, Brave, Edge, etc.)

Desktop App

Platform Support Notes
Windows 10/11 Full support -
macOS 11+ Full support Drag app to /Applications before first launch
Linux AppImage/DEB/RPM/Pacman See Linux-specific notes below
Nix/NixOS Nix package nix profile add or flake input
Linux Installation Notes

GNOME Users:
Enable the AppIndicator / KStatusNotifierItem extension.

Required packages on some distributions:

sudo apt install libayatana-appindicator3-1  # Debian/Ubuntu

If tray icon doesn't appear:

  • Install AppImageLauncher or run from terminal once
  • On GNOME + Wayland: Switch to X11 session or enable AppIndicator support

Auto-start note:
Moving the AppImage after first launch requires re-enabling "Run at Startup" in tray menu.

Arch Linux:
Install via the one-shot installer script:

curl -fsSL https://raw.githubusercontent.com/KanashiiDev/discord-music-rpc/main/scripts/install-arch.sh | bash

Or install the .pkg.tar.zst package directly from GitHub Releases:

sudo pacman -U discord-music-rpc-<version>-x64.pkg.tar.zst

NixOS / Nix:
Quick install without modifying your configuration:

nix profile add github:KanashiiDev/discord-music-rpc

Or add as a flake input for NixOS module / home-manager support:

inputs.discord-music-rpc.url = "github:KanashiiDev/discord-music-rpc";

🐞 Troubleshooting

Having issues? Check the Troubleshooting Guide on the Wiki.


🧩 How to Add a New Music Site

Want to add support for a new site? See the Adding a New Music Site guide on the Wiki.


πŸ“š Filter Management

Learn how to block or replace songs in the Filter Management guide on the Wiki.


πŸ“€ Live Activity Output

Rainmeter, OBS, and file output setup is covered in the Live Activity Output guide on the Wiki.


πŸ’» Developer Setup

For build instructions and NPM scripts, see the Developer Setup guide on the Wiki.


🧱 Built With

Core Framework

  • Electron - Cross-platform desktop application framework
  • Electron Builder - Complete solution for packaging and distributing Electron applications

System & Services

  • Node.js - JavaScript runtime powering the backend services and build tooling
  • Express - Lightweight web server used for local RPC and extension communication
  • cors - Middleware for enabling Cross-Origin Resource Sharing
  • electron-updater - Auto-update solution for Electron applications
  • electron-log - Persistent logging for Electron applications
  • simple-json-db - Lightweight JSON-based local storage for configuration and state

Discord Integration

UI Components

  • CodeMirror - In-browser code editor for advanced scripting
  • SimpleBar - Custom, cross-browser scrollbars
  • Flatpickr - Lightweight date and time picker

Build & Packaging


🀝 Contributing

You can contribute in several ways:

  • Create new Activities - Activity Library
  • Help translate the project on Crowdin
  • Report bugs or request features via GitHub Issues
  • Support the project by sharing it and helping others discover it

πŸ“„ License

This project is licensed under the MIT License. See the LICENSE file for details.