Aller au contenu principal
Kgaut's links

Navigation principale

  • Accueil
Menu du compte de l'utilisateur
  • Se connecter

Fil d'Ariane

  1. Accueil

GitHub - FoxxMD/multi-scrobbler: Scrobble plays from multiple sources to multiple clients

Par Anonyme (non vérifié) , 16 janvier 2026
URL
GitHub - FoxxMD/multi-scrobbler: Scrobble plays from multiple sources to multip…
body
FoxxMD / multi-scrobbler Public
  • Notifications You must be signed in to change notification settings
  • Fork 34
  • Star 872

Scrobble plays from multiple sources to multiple clients

foxxmd.github.io/multi-scrobbler

License

MIT license
872 stars 34 forks Branches Tags Activity
Star
Notifications You must be signed in to change notification settings
  • Code
  • Issues 22
  • Pull requests 8
  • Discussions
  • Actions
  • Projects 1
  • Security

    Uh oh!

    There was an error while loading. Please reload this page.

  • Insights
Additional navigation options
  • Code
  • Issues
  • Pull requests
  • Discussions
  • Actions
  • Projects
  • Security
  • Insights

FoxxMD/multi-scrobbler

BranchesTags
Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,670 Commits
.devcontainer
.devcontainer
 
 
.github
.github
 
 
.vscode
.vscode
 
 
assets
assets
 
 
config
config
 
 
docker/root/etc/s6-overlay/s6-rc.d
docker/root/etc/s6-overlay/s6-rc.d
 
 
docsite
docsite
 
 
flatpak
flatpak
 
 
patches
patches
 
 
public
public
 
 
src
src
 
 
.dockerignore
.dockerignore
 
 
.gitignore
.gitignore
 
 
.lnav.config.json
.lnav.config.json
 
 
.mocharc.json
.mocharc.json
 
 
.nvmrc
.nvmrc
 
 
.nycrc.json
.nycrc.json
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
Dockerfile
Dockerfile
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
alpine.Dockerfile
alpine.Dockerfile
 
 
cliff.toml
cliff.toml
 
 
docker-compose.dev.yml
docker-compose.dev.yml
 
 
docker-compose.yml
docker-compose.yml
 
 
eslint.config.js
eslint.config.js
 
 
index.html
index.html
 
 
package-lock.json
package-lock.json
 
 
package.json
package.json
 
 
tsconfig.json
tsconfig.json
 
 
vite.config.ts
vite.config.ts
 
 

Repository files navigation

  • README
  • Contributing
  • MIT license

multi-scrobbler

Latest Release License: MIT Docker Pulls Docs

multi-scrobbler logo

A javascript app to scrobble music you listen to, to Maloja, Last.fm, ListenBrainz, and other services.

  • Supports scrobbling from many Sources
    • Azuracast
    • Deezer
    • Google Cast (Chromecast)
    • Icecast
    • Jellyfin
    • JRiver
    • Kodi
    • Koito
    • Last.fm
    • Last.fm (Endpoint)
    • Libre.fm
    • ListenBrainz
    • ListenBrainz (Endpoint)
    • Maloja
    • Mopidy
    • MPD (Music Player Daemon)
    • MPRIS (Linux Desktop)
    • Musikcube
    • Plex
    • Rocksky
    • Spotify
    • Subsonic-compatible APIs (like Airsonic and Navidrome)
    • teal.fm
    • WebScrobbler
    • VLC
    • Yamaha MusicCast
    • Youtube Music
  • Supports scrobbling to many Clients
    • Koito
    • Last.fm
    • Libre.fm
    • ListenBrainz
    • Maloja
    • Rocksky
    • teal.fm
  • Monitor status of Sources and Clients using webhooks (Gotify, Ntfy, Apprise) or healthcheck endpoint
  • Supports Now Playing for scrobble Clients
  • Supports configuring for single or multiple users (scrobbling for your friends and family!)
  • Web server interface for stats, basic control, and detailed logs
  • Graceful network and client failure handling (queued scrobbles that auto-retry)
  • Smart handling of credentials (persistent, authorization through app)
  • Easy configuration through ENVs or JSON
  • Modify data before scrobbling with regular expression or search patterns
  • Install using Docker images for x86/ARM or locally with NodeJS

Quick Start Guide

Why should I use this over a browser extension and/or mobile app scrobbler?

  • Platform independent -- Because multi-scrobbler communicates directly with service APIs it will scrobble everything you play regardless of where you play it. No more need for apps on every platform you use!
  • Open-source -- Get peace of mind knowing exactly how your personal data is being handled.
  • Track your activity regardless of where you listen -- Scrobble from many Sources to one Client with ease and without duplicating tracks.
  • Manage scrobbling for others -- Scrobble for your friends and family without any setup on their part. Easily silo sources to specific clients to keep plays separate.

But I already scrobble my music to Last.fm/ListenBrainz, is multi-scrobbler for me?

Yes! You can use Last.fm as a Source or Listenbrainz as a Source to forward scrobbles from your profile to any other Client! That way you can keep your current scrobble setup as-is but still get the benefit of capturing your data to a self-hosted location.

How Does multi-scrobbler (MS) Work?

You set up configurations for one or more Sources and one or more Clients. MS monitors all of your configured Sources. When new tracks are played by a Source MS grabs that information and then sends it (scrobbles it) to all Clients that Source is configured to forward to.

Source

A Source is a data source that contains information about music you are playing or have listened to, like a desktop player, web music player, or cloud music service. Examples are Spotify, Jellyfin, Plex, Youtube Music, Navidrome, etc...

Source configurations consist of:

  • A friendly name.
  • Any data needed to communicate or authenticate with the Source.
  • An optional list of Client names that the Source should scrobble to. If omitted the Source also scrobbles to all configured Clients.

Client

A Client is an application that stores the historical information about what music you have played (scrobbles). Examples are Maloja, Last.fm, Listenbrainz...

Client configurations consist of:

  • A friendly name.
  • Any data needed to communicate or authenticate with the Client.

Quick Start

See the Quick Start Guide

Installation

See the Installation documentation

Configuration

See the Configuration documentation

Usage

A status page with statistics, recent logs, and some runtime configuration options can be found at

http://localhost:9078

Output is also provided to stdout/stderr as well as file if specified in configuration.

On first startup you may need to authorize Spotify and/or Last.fm by visiting the callback URL (which can also be accessed from the status page). Visit the status page above to find the applicable link to trigger this.

Help/FAQ

Having issues with connections or configuration? Check the FAQ before creating an issue!

Development

Detailed architecture and development guides for Sources/Clients

License

MIT

About

Scrobble plays from multiple sources to multiple clients

foxxmd.github.io/multi-scrobbler

Topics

music docker spotify scrobble plex lastfm kodi deezer self-hosted mopidy mpris subsonic youtube-music listenbrainz tautulli jellyfin maloja

Resources

Readme

License

MIT license

Contributing

Contributing

Uh oh!

There was an error while loading. Please reload this page.

Activity

Stars

872 stars

Watchers

2 watching

Forks

34 forks
Report repository

Releases 73

v0.11.0 Latest
Jan 15, 2026
+ 72 releases

Packages 0

 
 
 

Uh oh!

There was an error while loading. Please reload this page.

Uh oh!

There was an error while loading. Please reload this page.

Contributors 19

  • @FoxxMD
  • @github-actions[bot]
  • @christophernewton
  • @jackwilsdon
  • @dependabot[bot]
  • @northys
  • @wolffshots
  • @owendaprile
  • @gabeklavans
  • @msparkles
  • @CodeWithMa
  • @samdoshi
  • @Bujiraso
  • @Whhoesj
+ 5 contributors

Languages

  • TypeScript 81.7%
  • MDX 16.9%
  • SCSS 0.4%
  • Dockerfile 0.4%
  • CSS 0.3%
  • Shell 0.2%
  • Other 0.1%
Résumé
Scrobble plays from multiple sources to multiple clients - FoxxMD/multi-scrobbler

Mots clés

activitypubAndroidAnniversaireAppauvergnebaladebatchcacheCICultureDaronnadeddevdebiandockerDrupalfedorafirefoxgitgithubgitlabgitlab-cigooglehome-assistanthomeserverjardinagekoboLecturelinuxmigrate APIOrchestrationoutilphpphpunitplexrandonnéeselfhostingsportSpotifysymfonysécuritéTestswallpaper
Propulsé par Drupal