BluAS BluAS
Player compatible with BluOS
Last update
Introduction
BluAS stands for BluOS Album Shuffle (formerly known as BluRP) 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.

About the Bluesound forum
Be careful on the Bluesound forum; don't refer to this BluAS solution, or you'll risk being banned. Unfortunately, that happened to me. I responded to several user questions about the web API's capabilities, but they were bluntly removed based on the Terms of Use. After inquiring about the specific violation, my forum account was blocked without any answer.

How to get it?
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. The current version is aligned with BluOS version 4.10.13 (released July, 14th, 2025).

Local web server
The BluAS page ('bluas.html') can't be used directly with your web browser for an important reason. Modern browsers implement now the Cross-Origin Resource Sharing (CORS) security policy. CORS ensures that the server response includes permission for your browser request, which Bluesound has implemented in BluOS (since release 4.10.13). You'll therefore need a local web server on which to copy the BluAS resources. However, you must disable CORS in your browser (see below how to)!

You can use the web server function of your NAS (like my WD NAS) by which BluAS can be browsed by any device connected to your local network (laptop, modile device). Otherwise, use the free IIS option on your Windows computer, or use the more general Apache webserver on Windows/Linux. For the Visual Code Studio developers among us, VSC offers an easy way to get it working on your Windows system. See here to implement it on a local web server managed by VSC.

The Apache webserver can be deployed on your computer in a few 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'. In case CORS is not disabled, an error will be shown.

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 a future release, Bluesound may think of a single inventory request, but for now, you'll have to create one yourself. A sample file (bluas-sample.csv) is part of the BluAS 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 BluAS zip file 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 BluAS zip file.

Disable CORS
When using a browser in the external world on the internet, it's unsafe to allow a web server to provide non-public data. Although one might wonder whether this is the case for BluOS. In general visiting a malicious webpage can lead to harmful activities. That's where CORS comes in; it configures the web server to provide data only to certain domains. It's a rigid way to autorise the browser in getting data from a server without authentication (logon).

In the external world, domains are registered by legal authorities so they can't be misused. But within the local network, you can use your own names without any registration! Therefore, it's not safe, and not even possible, to whitelist (by the BluOS API) your internal domain names, such as the commonly used 'localhost' or the IP addresses of your private space domain (192.168.*.*) Any browser requesting data from BluOS will therefore generate a CORS error (since v4.10.13). Therefore, you should disable CORS in your browser for use within your local network. But, most browsers support additional extensions or add-ons to achieve this. That's the downside of this webbrowser-based approach.

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 safer way may be to run Chrome without security, like explained here.

You can run make a simple batch script for Chrome, but you have to stop all Chrome sessions first:

"C:\Program Files\Google\Chrome\Application\chrome.exe" ^
--chrome-frame --window-size=440,860 ^
--window-position=40,40 ^
--disable-web-security ^
--user-data-dir=%LOCALAPPDATA%\Google\chromeTemp ^
--app="http://192.168.0.111/bluas.html"

Don't forget to adapt the address to your situation!

If you're using an Android browser, I recommend using Firefox (with the 'Disable CSP and CORS' add-on). Make sure you disable CORS when using it for sites other than BluAS or use it only for BluAS! I don't have any information about browsers on iOS, but I think any browser with a temporary CORS disable option should work.

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.19-07-2025Rebranded to BluAS, updated layout, fix playlist error
v.05-08-2025Add landscape version, progress bar for song and a lot more
v.15-08-2025Add display of volume level, some fixes and finetunings
v.16-08-2025Add display streaming format as well

Known issues

  • Diacritics in artist names and album titles are not supported by the BluAS webplayer.

Examples:

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

PhD Software - © 2025