mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-18 08:36:13 +00:00
Speakers connect to Bose hostnames over implicit HTTPS (:443) while AfterTouch's listener defaults to :8443. Without iptables / setcap / reverse-proxy in front, the speaker side sees Curl 7 / connection refused and AfterTouch's HTTP log stays silent — a recurring source of confusion (see #214, #269). Add a server-side probe (Check443Reachability) that dials both localhost:443 and the DNS-resolved LAN IP on :443. Run it once at service startup with a 2s timeout and emit a [WARN] log with the exact iptables/setcap commands keyed to the configured listener port. Expose the result via GET /setup/settings (with a shorter inline timeout) so the web UI renders a ✅/❌ line next to Target Domain and a complementary browser-side fetch probe — the browser sits on the LAN exactly where speakers do, and timing-to-error distinguishes TCP refused from TLS handshake started even with an untrusted CA. Both the startup WARN and the UI row are gated on dns_enabled, since :443 only matters for the DNS migration path; SDK-override migration uses the port from the configured URL. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>