This toolkit helps you keep your Bose SoundTouch speakers
functional even after the Bose Cloud shutdown in May 2026.
It emulates the necessary cloud services locally on your
network.
Create an empty file named
remote_services on a USB stick.
Insert it into the speaker's
SERVICE port and reboot the
speaker.
Verify connection:
Use the Migration tab to select
your device and verify that
SSH Connection shows ✅ Success.
Or manually:
ssh -oHostKeyAlgorithms=+ssh-rsa
root@<SPEAKER-IP>
(no password).
Settings: Review the
Settings tab. Ensure the "Target
Domain" and "Proxy Domain" use an IP address or domain
name that is
accessible from your speakers (usually
the IP of this server on your local network).
Discovery: Go to the
Devices tab to find your speakers on
the network. Ensure your speakers are powered on and
connected to the same network.
Data Sync: In the
Data Sync tab, fetch your current
presets, recents, and sources. This step is critical to
ensure your local service has all your personalized data
before you disconnect from the Bose cloud.
Migration: In the
Migration tab, redirect your speaker to
this local service. We recommend the
XML Configuration method as it is
surgical and easily reversible.
Verification: After migration and
reboot, your speaker will communicate with this toolkit
instead of Bose servers.
⚠️ Safety First: Before starting any
migration, please read our
Professional
Migration & Safety Guide. The toolkit automatically creates backups, but understanding the process
is key to a smooth transition.
Note: These URLs must be
accessible from your SoundTouch devices.
Use the IP address of this server on your local network
(e.g., http://192.168.1.100:8000) rather than
localhost.
Standard services URL
DNS Discovery:
ⓘ
Optional: comma-separated list of DNS servers
(e.g., 1.1.1.1, 8.8.8.8).
If empty, AfterTouch defaults to the system
nameservers (e.g. from
/etc/resolv.conf).
(e.g., :53 or 0.0.0.0:53.
Port 53 is required for actual
migration)
Endpoint Mirroring:
Note: Mirroring sends matching
requests (including full headers) to the
official Bose servers for parity comparison. If
Redact Sensitive Data is enabled in
Proxy Settings, credentials will be masked in
logs and recordings, but full
headers are always sent to Bose to ensure
service compatibility.
Spotify Integration:
Checking configuration...
Proxy Logging:
Requests matching these patterns will be
excluded from recording. Use one pattern per
line.
Known Devices
🔍 Scanning...
Spotify:
Not Linked
Loading devices...
Initial Data Sync
Before migrating, fetch your presets, recents, and
configured sources from the device to ensure they are
available locally.
Sync Results
Device Migration
Command Output
Migration Summary for
Migration Status:
SSH Connection:
Backup: ✅ Found .original config at
/opt/Bose/etc/SoundTouchSdkPrivateCfg.xml.original
Backup: ❌ Not found
Remote Services Enabled:
AfterTouch Local Root CA Trusted:
HTTPS Connection Test:Verify the device can reach the server over HTTPS.
URL:
Preliminary /etc/hosts Test:Verify the device's /etc/hosts mechanism before full migration.
Domain: custom-test-api.bose.fake
Preliminary DNS Test:Verify the device can resolve domains via the AfterTouch DNS server.
Domain: aftertouch.test
Current /etc/resolv.conf
Original Config (Backup)
Service Implementations
Service
Original URL
Implementation
Marge (Streaming)
loading...
Stats
loading...
Software Update
loading...
BMX (Registry)
loading...
Current Config (on Speaker)
Planned Config (AfterTouch)
Planned /etc/hosts Entries
Note: This method also injects the AfterTouch Local Root CA into /etc/pki/tls/certs/ca-bundle.crt to enable secure HTTPS communication.
Planned /etc/resolv.conf Hook
Note: This method injects a persistent DNS priority hook into the DHCP logic (/etc/udhcpc.d/50default). It preserves your router's search domain and secondary DNS servers. It also injects the Local Root CA.
Recorded Interactions & Device Events
Analysis of traffic handled by this service (self), proxied
to Bose (upstream), and internal device events (telemetry).
Total Requests:
0
Keeps only the 10 most recent sessions
By Service
Sessions
Browse Recordings
#
Time
Method
Path
Status
Category
Event Details
Action
No interactions found.
DNS Discoveries
Hosts discovered via the AfterTouch DNS server. "Self" means the domain was intercepted and redirected to this service.
Hostname
Last Seen
Queries
Bose?
Category
Last Client IP
No DNS discoveries found.
Recording Viewer:
App & Device Events
Time
Type
Data
Select a device to view events.
Parity Analysis
Detection of discrepancies between AfterTouch local
responses and official Bose Cloud responses for mirrored
endpoints.
Parity Mismatches
Time
Method
Path
Reasons
Action
Loading mismatches...
Mismatch Detail:
Detection Reasons:
⚠️ Large Payload: Rich diff highlighting is disabled to prevent a browser freeze. Showing raw comparison instead.