From 2b8e652b7e7f9bc5c60be80d64fbfb37264f42e5 Mon Sep 17 00:00:00 2001 From: Tobias Gesellchen Date: Mon, 11 May 2026 00:14:11 +0200 Subject: [PATCH] docs(web): "Migration Process at a Glance" no longer SSH-only MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The landing-tab overview still framed SSH as a hard prerequisite — "Migration requires SSH access." That was true under the original design, but the wizard now probes both SSH and Telnet:17000 automatically and uses whichever the device exposes. SSH-less speakers (USB-unlock-refusing firmware like SA-5, ST520, recent ST Portables) can migrate over telnet without ever opening a shell. Updates: - Prerequisite box retitled "Speaker shell access" with two sub-bullets that match the state card's Transports row: * SSH — richest option, required for XML / DNS / CA install, same USB-stick procedure as before * Telnet:17000 — SSH-less fallback, no setup, HTTP-only - Step 1 (Settings) now mentions that Target URL can be edited inline on the Migration tab with Save as default, since the Settings tab is no longer the only place to set it. - Step 4 (Migration) replaces "we recommend the XML Configuration method" with a description of the actual wizard: Apply Suggested Plan, Customize three-axis form, and the visible pre-flight check. Co-Authored-By: Claude Opus 4.7 (1M context) --- pkg/service/handlers/web/index.html | 59 +++++++++++++++++------------ 1 file changed, 34 insertions(+), 25 deletions(-) diff --git a/pkg/service/handlers/web/index.html b/pkg/service/handlers/web/index.html index a8e3c34..5c86b99 100644 --- a/pkg/service/handlers/web/index.html +++ b/pkg/service/handlers/web/index.html @@ -53,34 +53,36 @@

Migration Process at a Glance

- 🔌 Prerequisite: Enable SSH
- Migration requires SSH access. To enable it: -
    -
  1. - Create an empty file named - remote_services on a USB stick. -
  2. -
  3. - Insert it into the speaker's - SERVICE port and reboot the - speaker. -
  4. -
- Verify connection: + 🔌 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.
  • - Use the Migration tab to select - your device and verify that - SSH Connection shows ✅ Success. -
  • -
  • - Or 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. +
    @@ -90,7 +92,9 @@ 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). + 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.
  1. Discovery: Go to the @@ -107,10 +111,15 @@
  2. 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. + 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.
  3. Verification: After migration and