smf-service to bring AirPlay to Sonos-speakers

Discussion in 'Solaris, Nexenta, OpenIndiana, and napp-it' started by zos, Mar 3, 2017.

  1. zos

    zos Member

    Oct 27, 2013
    Likes Received:
    I think I'm not the only one who's unhappy with the fact, that Sonos-speakers aren't able to be used as AirPlay-devices. After a few web-searches I found a node.js-solution written by Stephen Wan (who really did a great job, congratulation for this!) .

    I was playing around for a while before I got it working as a smf-service on my OmniOS-SOHO-Server. It was very bitchy because of some nice bugs and very specific requirements. I put all this together in an installer-script which you can download here or install with

    wget -O - | perl

    gea also has listed the script on his website, but menawhile it's outdated (@gea: feel free to update).

    What the script does:
    - install git
    - install gnu-make
    - set symlink /usr/bin/cc to /usr/bin/gcc
    - create AirSonos daemon user and group 'airsonos' (no shell login, homedir /opt/airsonos)
    - install node.js v0.10.28 to /opt/airsonos
    - install airsonos to /opt/airsonos/lib/node_modules/airsonos
    - set symlink /usr/bin/node-v0.10.28 to /opt/airsonos/bin/node
    - patch 2 airsonos js-files to fix reported bugs (here and here)
    - patch 1 airsonos js-file to make this version of node.js able to be used beside other node.js-version
    - create a smf-service manifest for airsonos
    - enable smf-services multicast and airsonos

    So if anybody is going to install it, ignore lots of warnings during installation, the application should work after finishing the script. There will be a delay of roundabout 3 seconds after sending audio from an iOS / OS X device to the Sonos-speakers, but for e. g. playlists this fact can be ignored (only switching a lot between songs could be annoying :)

    EDIT: Not to forget a Boot Environment will be created at the beginning of the script....
    Last edited: Mar 3, 2017
    gea and whitey like this.
  2. gea

    gea Well-Known Member

    Dec 31, 2010
    Likes Received:

Share This Page