BluAS BluAS
Player compatible with BluOS
Last update
Introduction
BluAS stands for BluOS Album Shuffle and is a dedicated web player that allows you to control your BluOS player at home. Its main function is to select and play complete albums randomly selected from your local NAS. Examples are at the end of this page or click here for a short demo.

The official BluOS Controller app (check on Google Play) doesn't yet offer such an "album shuffle" function, while users with large music collections on their NAS (like me) would like this (see here).

Background
My first stupid idea was to let a software program (that had access to my NAS) feed the BluOS app. A little later I discovered that there was an actual API for the BluOS system: here you will find the latest specification (v1.7) of the BluOS Custom Integration API.

The implementation was initially developed as a Python script as a proof of concept. The next step was to develop a more flexible or mobile solution. While a mobile (Android/iOS) app seems like the best approach, it has some drawbacks. The main reason is that the Controller app might get such a feature in the future (making my attempt somewhat pointless), while the Controller app is of course the best app to manage your BluOS player.

A better and easier idea was to create an html page (with some javascript), because most NAS systems also offer a web server? And aren't they up 7x24 at your home? The idea (or challenge) of a webplayer was born, and the development and design of the basic version took some days in June-July 2025.

Download
The BluAS resources can currently only be obtained as a zip file by an e-mail request to info@phdsoftware.nl and contains 4 html pages, their stylesheets and a subfolder with necessary images files.

Note BluOS release v4.10.13
This release (available since July 15, 2025) necessitated some unexpected changes to BluAS. First, the updated CORS implementation in BluOS makes it inevitable to disable CORS in your browser (see below)! Second, some BluOS requests had to be modified. My conclusion is that BlueSound, despite offering an API, is not very happy with this web-based approach.

Local web server
The BluAS page ('bluas.html') can't be used directly with your web browser for one important reason. Modern browsers implement now the Cross-Origin Resource Sharing (CORS) security policy. CORS ensures that the server response includes permission for your request, which BluOS unfortunately doesn't return (since release 4.10.13). You'll therefore need a local web server on which to install the BluAS resources. You can use the web server function of your NAS (like my WD NAS). Alternatively, use the free IIS option on Windows, but a more general solution is to use Apache (see below).

Csv file (with artists)
The BluAS webplayer requires a csv file with your artists on your NAS. Importing a file will give you a better and faster response (and it doesn't need to be updated often if you have already a large collection). Another advantage is that you can also make just a selection of your artists and play random albums from them. And in case the csv load fails, a single artist is used (from the song in your current playlist or - if empty - 'Beatles'). However, you may also provide a text file with only artist names.

Hint: To create a list of all your (unique) artists from your NAS, you can use the export function of the well-known utility mp3tag. With a simple script you can make a csv file in the right format ('genre;artist'). Just send me an email for if you want more information.

Perhaps in future it can be replaced with a single API request (if shared by Bluesound), but for now, you'll have to create one yourself. A sample file (bluas-sample.csv) is part of the installation-zip (just rename it to 'bluas.csv').

Configuring it
To communicate with your BluOS-player three technical parameters are important:

  • IP address of your BluOS player within your local network (you can find the address by choosing diagnostic info in your Controller app)
  • Portnumber to which the API of BluOS-player listens to (default 11000)
  • Servicename of your music library on your NAS (default LocalMusic)
In the html-source (javascript-part) edit these variables when appropiate (with notepad):

let bluosAddr = "192.168.0.111";
const bluosPort = "11000";
const musicService = "LocalMusic";

Furthermore, you can customize the layout of the BluAS page to your liking, by simply editing the CSS file (if you dare). You can even modify the javascript code, no problem! Please note, however, that using BluAS is at your own risk. PhD Software is not liable for any damage resulting from its use.

Parameters
You can call the BluAS page with some parameters:

  • ip overrules the hard-coded IP address of your BluOS player
  • exclude filters artist names out for picking by their category name
  • include filters artist names only for picking by their category name
  • artist overrules loaded names by a single artist name*1 (use '+' as space in names)
  • css supports an alternate CSS definition*2
*1 You can also use the hidden or label-less input field at the right hand side of the version date.
*2 The download of BluAS contains 2 CSS files: 'light.css' and 'dark.css'.

Examples (address of web-server dependant of your local situation):

http://192.168.0.108/bluas.html?ip=192.168.0.113&include=World
http://192.168.0.108/bluas.html?exclude=Jazz,Classical
http://192.168.0.108/bluas.html?artist=Rolling+Stones
http://192.168.0.108/bluas.html?css=dark.css

Buttons
Clicking the Info(rmation)-button shows the current state of your player. Clicking the Artist-button randomly selects a new artist, and clicking the Album-button randomly selects another album by that artist. The combination of the following buttons determines how BluAS continues after the current album ends.


When BluAS is active! *1
Player will stop Player will play random album of random artist
Player will continue to replay current album Player will play random album of current artist

*1 To keep BluAS active on your device, you need to increase probably the screen timeout.

Playlist
To show the current playlist of the album, you can check the little checkbox next to the Song label. The duration of the album is shown as info value, preceded by the (assumed) year of release, which is inferred from the album track file path (if applied by you). The playlist gets updated when the Info-button is clicked.

Progress bars
Both the progress of the album playing and song are visualized by horizontal bars. Every time the Info-button is clicked, it is updated (including the song title) but also continuously by using the playlist and monitoring the elapsed time. This is the main reason why shuffle mode should not be enabled while using the BluAS webplayer.

Pubquiz mode
A fun feature of the BluAS webplayer is perhaps the pubquiz mode. If you start the page with 'pubquiz' as the parameter, the randomly selected artist and album are only displayed after you click the Info-button. As a teaser, the background is already filled with the album cover. So, can you guess which artist and album you're hearing?

Landscape version (v4+)
If you prefer a landscape view on your device, the default BluAS page won't work well. It's designed for mobile phones. However, a landscape version is also available, with its own CSS definition. This consists of a web page named 'bluas-ls.html' (with specific CCS files: 'light-ls.css' or the darker version 'dark-ls.css'). All necessary files are included in the download.

Apache web server
By installing Apache as local web server the BluAS webplayer can be run from any Windows computer in a simple steps. Download first Apache from the apachelounge-site) and unzip it to the default 'c:\Apache24' folder. Next, unzip the bluas zip-file in the 'c:\Apache24\htdocs' folder. Then, you can start the webserver (open CMD-application, enter command 'httpd.exe' from the 'c:\Apache24\bin' folder). Open your favorite browser and select the BluAS-page by its address 'http://localhost/bluas.html'.

CORS workaround
Cross-Origin Resource Sharing is a mechanism to safely bypass the same-origin policy; that is, it allows a web page to access restricted resources from a server on a domain different than the domain that served the web page.

Because the BluOS device doesn't allow reading resources by browsers, CORS must be disabled. Most browsers support additional extensions or add-ons to achieve this.

For Firefox (on Windows), you can use the CORS Everywhere extension. You can configure this to apply only to your BluAS page address. The example below uses my current address of my BluAS page on my local network ('192.168.0.108'). Right-click the image to enlarge it in another tab!

For Google Chrome (on Windows), you can use this Allow CORS extension to run it without CORS. Another way may be to run Chrome without security, like explained here.

When using with Android or iOS, it is safer to use an alternative browser for BluAS in addition to your default browser. This is definitely recommended if you are using the 'Disable CSP and CORS' add-on for Firefox (which offers no white-listing).

After some research, I've discovered that disabling CORS on Android and iOS devices isn't straightforward. My advice, therefore, is to use the Firefox solution (with the aforementioned extension) and hope that Bluesound will restore browser usability of its API in a future release.

Contact
Any questions or suggestions? Send me an email at info@phdsoftware.nl. And if you're happy with it, please share it with others and let me know if I can add your feedback as a testimonial.

Donate
You may support my work by donating via paypal.me. If you have specific wishes, I may be able to help you.

Version history
DateComments
v.18-06-1025First basic version
v.30-06-2025Add picking of albums for picked artist
v.09-07-2025Add album info (when playlist enabled), update icons
v.13-07-2025Add checkbox for playlist, change default style, fix errors
v.16-07-2025Updated for aligning with BluOS release 4.10.13
v.19-07-2025Rebranded to BluAS, updated layout, fix playlist error
v.21-07-2025Fix lookup of artist name and improve optional artist search
v.25-07-2025Add progress bar (of album!), fix a few things
v.05-08-2025Add landscape version, progress bar for song and a lot more

In the next release, the current volume level will be displayed and a fix is added to not stop any current playing when activating BluAS (occurs when the Repeat-button is disabled).

Known issues

  • Diacritics in artist names and album titles are not supported by the BluAS webplayer.
  • Unfortunately, disabling CORS in the browser is necessary (because BluOS enables it).

Examples:

BluAS example1: Janis Joplin BluAS example2: Yes BluAS example3: Supertramp

PhD Software - © 2025