An Electron based linux app for controlling your sonos system.

Build Status dependencies Status devDependencies Status

Unofficial Sonos Controller for Linux

First I was tinkering with chrome apps and sonos, but chrome apps are a dying platform, so I've moved over to Electron. The project is written in mostly ES6 and utilizes Preact and Redux to manage the UI


I use Ubuntu as my main OS, and there's no decent controller app. So I am aiming to at some point provide a usable sonos controller that can run on Linux also, installed via deb file. Maybe it won't have all the functions of the real sonos player, but if I can browse the library and manage the queue, I'll be pretty damn happy. Previously this was a chrome app, and I had a good 70k users on the chrome store.

Install via .deb file

You can find the latest .deb on the release page. You can doubleclick it on Ubuntu to install it via the Software Center, alternatively run

sudo dpkg -i sonos-controller-unofficial-amd64.deb

and Run locally

You will need node.js for this.

First, initialize the project:

npm install

Second, start the electron app in develop mode:

npm run develop

Building a deb:

npm run dist

This might require some additional binaries, like graphicsMagick and icnsutils, which you can install via apt

Snap Install

You can install with snap. Currently you need to pass the --dangerous. Once you have downloaded the snap run:

snap install sonos-controller-unofficial_0.1.3_amd64.snap --dangerous

Firewall settings

You will need to whitelist these if you run Ubuntu firewall for example:

  • TCP 1400 outgoing
  • TCP 3400 incoming
  • UDP 1900 outgoing
  • UDP 1905 incoming

Thanks to other projects

Please refer to the above projects' licenses (MIT), where they apply.