Bose Cloud Shutdown: Survival Guide for SoundTouch
With Bose’s announcement of discontinuing cloud support for SoundTouch devices in May 2026, this project provides the necessary tools to keep your speakers fully functional using a local emulation service.
This guide explains how to set up the soundtouch-service to run your devices independently of Bose’s servers.
Supported Use Cases
- Local Service Emulation: The service emulates Bose’s BMX (Bose Media eXchange) and Marge services, which handle content registries, presets, recents, and software update checks.
- Traffic Redirection: Tools are provided to redirect your speakers to this local service instead of
*.bose.com.
- Offline Operation: Once redirected, the speakers function without needing to reach Bose’s servers.
- Preset & Recent Management: Captures and stores presets and “recently played” items locally.
Setup Steps
To set up your SoundTouch system for local-only operation, follow these steps:
1. Install and Start the Service
Run the soundtouch-service on a machine that is always on (like a Raspberry Pi or a NAS) within your local network.
# Install the service
go install github.com/gesellix/bose-soundtouch/cmd/soundtouch-service@latest
# Start the service (defaults to http://localhost:8000)
soundtouch-service
2. Access the Management UI
Open your web browser and navigate to the service’s web interface:
http://<your-server-ip>:8000/, e.g. http://localhost:8000/
Note: The service also supports a /web/ path for management.
3. Enable SSH on Your Speakers
To migrate your speakers, the service needs SSH access. You can enable it by:
- Creating an empty file named
remote_services on a USB stick.
- Inserting the USB stick into the SoundTouch speaker’s service port.
- Rebooting the speaker (unplug/replug).
Verify SSH Access:
- Confirm the device responds to SSH without a password:
ssh -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedAlgorithms=+ssh-rsa root@<IP>
- Or use the Migration tab in the Web UI to see if the device shows a “✅ Success” status for SSH.
Once enabled, you can log in as
root (no password).
4. Setup Through the Web UI
The web interface handles the entire process in a guided flow. Before proceeding, we strongly recommend reviewing the Migration & Safety Guide.
- Step 1: Settings: Configure your server’s IP or domain. This ensures the speakers know where to find the local services.
- Step 2: Devices: The service automatically scans for SoundTouch devices on your network. If a device is not found, you can manually add its IP address.
- Step 3: Data Sync: Select your device and click “Start Sync”. This will automatically fetch your presets, recents, and configured sources from the speaker and store them in the local
data/ directory.
- Step 4: Migration: Choose your redirection method (XML Recommended) and click “Confirm Migration”. After the migration, reboot your speaker to apply the changes.
5. Verify Your Local Data
Once migrated, your speaker will use the data captured during the Sync step.
- The service stores data in the
data/ directory, organized by device serial number (e.g., data/default/devices/<SERIAL>/).
- Automatic Capture: As you use the device (changing presets, playing new music), the service continues to “learn” and update your local files.
Comparison with other implementations (soundcork)
Our implementation (soundtouch-service) is largely compatible with the Python-based soundcork project but offers several advantages:
- Web UI: Integrated management interface for discovery and migration.
- Surgical Migration: Uses XML-based redirection by default, which is less invasive than
/etc/hosts.
- Automated SSL: Handles Root CA injection automatically for secure communication.
- Proxy Support: Can proxy requests to original Bose servers while “learning” your configuration.
Alternative: DNS Redirection (No SSH)
If you prefer not to modify your speakers via SSH, you can use a local DNS server (like Pi-hole, AdGuard Home, or Unbound) to point the following domains to your local server’s IP:
bmx.bose.com
streaming.bose.com
updates.bose.com
stats.bose.com
content.api.bose.io
Note: DNS redirection for HTTPS services requires the speakers to trust your local service’s SSL certificate. The SSH-based migration handles this automatically by injecting the CA.