Scrubbler 2 is a plugin-based desktop app for fixing missing music scrobbles.
If a player, service, or import workflow failed to submit your listens, Scrubbler gives you a place to authenticate your scrobble account, install the plugins you need, review what will be sent, and submit those scrobbles manually or automatically.
- Sends scrobbles through account plugins you install and log into
- Supports manual scrobble workflows and auto-scrobble workflows through separate plugins
- Lets you enable multiple destination accounts at once
- Downloads and updates plugins from an online plugin catalog
- Checks GitHub Releases for app updates and can restart into the updated version for you
Scrubbler itself is the host app. The actual scrobbling features come from plugins.
There are three main plugin types:
Accountplugins connect Scrubbler to a scrobble destination such as Last.fm-style servicesScrobbleplugins help you create/import scrobbles manuallyAuto-Scrobbleplugins detect or prepare scrobbles automatically from supported sources
When you first open the app, it may look mostly empty until you install plugins.
- Download the latest release for your platform from the GitHub Releases page:
https://github.com/SHOEGAZEssb/Scrubbler-2/releases - Extract the zip to a normal writable folder.
Avoid running it directly from the zip, and avoid protected locations such as
Program Filesif you want plugin installs and in-app updates to work smoothly. - Launch the app:
- Windows:
Scrubbler.Host.exe - Linux/macOS:
Scrubbler.Host
- Windows:
- Open
Plugin Manager->Available. - Install at least:
- one
Accountplugin - one
ScrobbleorAuto-Scrobbleplugin
- one
- Open
Accounts, log into your account plugin, and enableScrobble. - Open the installed plugin under
Pluginsin the sidebar and use it to prepare/send scrobbles.
Scrubbler fetches available plugins from a plugin repository. The built-in default repository is:
https://raw.githubusercontent.com/shoegazessb/scrubbler-plugins/main/plugins.json
Inside the app you can:
- browse available plugins
- filter to compatible plugins
- install and uninstall plugins
- update installed plugins when newer versions are available
- choose which authenticated account provides account functions when multiple account plugins support them
Installed plugins are stored in a Plugins folder next to the app.
The app includes built-in update checks in Settings -> About.
- You can check for updates manually
- You can enable update checks on startup
- Updates are delivered as portable zip packages from GitHub Releases
Current release packaging targets:
win-x64linux-x64osx-x64
- .NET 10 SDK
- Git with submodule support
- A desktop environment supported by Uno Platform for local runs
git clone --recurse-submodules https://github.com/SHOEGAZEssb/Scrubbler-2.git
cd Scrubbler-2If you already cloned without submodules:
git submodule update --init --recursivecd Scrubbler
dotnet build -c Releasecd Scrubbler
dotnet test -c Release --no-buildYou can open Scrubbler/Scrubbler.sln in Visual Studio, or run the desktop target from the command line:
cd Scrubbler
dotnet run --project Scrubbler.Host/Scrubbler.Host.csproj -f net10.0-desktopScrubbler/Scrubbler.Host- main desktop appScrubbler/Scrubbler.Updater- external updater used during in-place app updatesScrubbler/Scrubbler.Test- automated testsScrubbler/deps- submodule with shared dependencies and package version definitions
This project is licensed under the GPL v3. See LICENSE.