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.
Migration Process at a Glance
🔌 Speaker shell access
The wizard talks to the speaker over one of two transports.
The Migration tab probes both automatically
and uses whichever your device exposes — you don't have to
choose manually.
SSH (richest option — required for
the XML migration, the /etc/resolv.conf
DNS hook, and installing the local CA). Enable it by
creating an empty remote_services file
on a USB stick, inserting it into the speaker's
SERVICE port, and rebooting. Verify
on the Migration tab — SSH in the state
card's Transports row should show ✅
Reachable. Manual check:
ssh -oHostKeyAlgorithms=+ssh-rsa
root@<SPEAKER-IP>
(no password).
Telnet (Port 17000) — the SSH-less
fallback. Most SoundTouch firmware exposes a
diagnostic shell on TCP/17000 automatically, no
USB-stick setup required. Limited to HTTP migrations
(no CA install possible without SSH). The state card
surfaces this in the same Transports row.
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). You can
also edit the Target URL directly from the Migration tab
with a Save as default button.
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 the wizard offers a
one-click Apply Suggested Plan that
picks the right recipe for your speaker (XML over SSH
when SSH is available, telnet URL flip otherwise). For
mix-and-match across the three independent axes — URL
flip transport, DNS interception, CA install — expand
Customize this migration. A visible pre-flight
check runs before any backend operation touches the
speaker.
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)
Device Discovery:
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...
Amazon Music Integration:
Checking configuration...
Proxy Logging:
Requests matching these patterns will be
excluded from recording. Use one pattern per
line.
Root CA Certificate:
Import this certificate into your OS or browser trust store to
trust HTTPS connections to this AfterTouch server from other
clients (e.g. curl, Python scripts, browsers).
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.
HTTPS Connection Test: Verify the device can reach the server over
HTTPS.
URL:
Preliminary DNS Test: Verify the device can resolve domains via the
AfterTouch DNS server.
Domain: aftertouch.test
Plan
Capabilities
This speaker exposes:
AfterTouch can offer:
Service URLs
Pre-filled from the target URL above. Edit any field for advanced setups (e.g. soundcork users
append /marge to margeServerUrl). These overrides apply to both XML
and Telnet migrations.
Field
Current on Device
Target URL
margeServerUrl
—
statsServerUrl
—
swUpdateUrl
—
bmxRegistryUrl
—
Account pairing
—
Suggested plan
Customize this migration
Pick any combination of the three axes — the wizard runs
the matching backend operations in order. Disabled options
require a transport this speaker doesn't expose.
Telnet Migration (Port 17000)
Drives the speaker's diagnostic shell over TCP/17000.
Requires no SSH access. Works on most ST 10/20/300 and
Wave III/IV firmware (27.0.6.x).
Limitation: HTTP-only redirection — telnet has no way to
install a custom CA. If you need end-to-end TLS, use the
XML or DNS method instead.
Current Config (on Speaker)
Planned Config (AfterTouch)
⚠️ Hostname resolution warning:
The planned IP shown above may be incorrect.
Migration methods that write IPs to the device
(hosts, resolv.conf) will refuse to proceed until
the hostname can be resolved from the device itself.
Learn more →
Current /etc/resolv.conf
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.
Local Response (AfterTouch)
Upstream Response (Bose)
Local Account Details
Account Overview
Loading...
Spotify Integration
Register a new Spotify source for this local account. This mimics the official SoundTouch app flow:
Exchange OAuth code for a Bose-mediated token.
Register the source in the local Marge cloud profile.
Amazon Music Integration
Register a new Amazon Music source for this local account. This mimics the official SoundTouch app flow:
Exchange OAuth code for an Amazon LWA token.
Register the source in the local Marge cloud profile.