Directories
¶
| Path | Synopsis |
|---|---|
|
Package anonymise strips personal data out of text that leaves a machine: diagnostic bundles, copyable failure reports, and the speaker's own debug state when a phone asks for it.
|
Package anonymise strips personal data out of text that leaves a machine: diagnostic bundles, copyable failure reports, and the speaker's own debug state when a phone asks for it. |
|
cmd
|
|
|
agent
command
Command streborn is the agent that runs directly on the Bose SoundTouch box and emulates the Bose cloud endpoints locally.
|
Command streborn is the agent that runs directly on the Bose SoundTouch box and emulates the Bose cloud endpoints locally. |
|
margelab
command
Command margelab runs STR's marge cloud stub on a DEVELOPER MACHINE so a real speaker can be pointed at it and response shapes can be swept from the console, without rebuilding and redeploying the on-box agent for every try.
|
Command margelab runs STR's marge cloud stub on a DEVELOPER MACHINE so a real speaker can be pointed at it and response shapes can be swept from the console, without rebuilding and redeploying the on-box agent for every try. |
|
mdns-probe
command
mdns-probe directly browses _streborn._tcp.local using the same zeroconf library the desktop app uses, prints every entry it sees.
|
mdns-probe directly browses _streborn._tcp.local using the same zeroconf library the desktop app uses, prints every entry it sees. |
|
relnotes
command
Command relnotes generates human-facing release notes from the Conventional Commit subjects between two git refs.
|
Command relnotes generates human-facing release notes from the Conventional Commit subjects between two git refs. |
|
updatesign
command
Command updatesign writes and signs the release index a speaker reads when it updates itself (see internal/updatesig).
|
Command updatesign writes and signs the release index a speaker reads when it updates itself (see internal/updatesig). |
|
winformat
command
|
|
|
Package discovery announces the stick agent via mDNS / DNS-SD on the local network so the desktop app and other clients find it without the user having to enter an IP.
|
Package discovery announces the stick agent via mDNS / DNS-SD on the local network so the desktop app and other clients find it without the user having to enter an IP. |
|
Package dlna is a minimal DLNA / UPnP MediaServer client.
|
Package dlna is a minimal DLNA / UPnP MediaServer client. |
|
internal
|
|
|
alarm
Package alarm is the alarm clock: a preset, but timed.
|
Package alarm is the alarm clock: a preset, but timed. |
|
atomicfile
Package atomicfile writes a file durably, so an unclean shutdown cannot leave it empty or torn.
|
Package atomicfile writes a file durably, so an unclean shutdown cannot leave it empty or torn. |
|
autopair
Package autopair makes sure the Bose box is always paired with the stick.
|
Package autopair makes sure the Bose box is always paired with the stick. |
|
bmx
Package bmx emulates the Bose BMX broker server (content.api.bose.io).
|
Package bmx emulates the Bose BMX broker server (content.api.bose.io). |
|
boxapi
Package boxapi is a thin client for the Bose BoseApp REST API on port 8090.
|
Package boxapi is a thin client for the Bose BoseApp REST API on port 8090. |
|
boxcli
Package boxcli sends commands to Bose's local CLI server on port 17000.
|
Package boxcli sends commands to Bose's local CLI server on port 17000. |
|
boxlog
Package boxlog reads the speaker's own trace out of the firmware's syslog ring buffer and turns the lines that matter into typed events.
|
Package boxlog reads the speaker's own trace out of the firmware's syslog ring buffer and turns the lines that matter into typed events. |
|
boxsnapshot
Package boxsnapshot captures the box's own preset list and source list once, as early as possible after STR starts, and persists it to NAND.
|
Package boxsnapshot captures the box's own preset list and source list once, as early as possible after STR starts, and persists it to NAND. |
|
boxstate
Package boxstate classifies the operating state of a Bose box from its REST endpoints (:8090).
|
Package boxstate classifies the operating state of a Bose box from its REST endpoints (:8090). |
|
boxurl
Package boxurl centralizes the agent-loopback URLs that the box's UPnP renderer fetches preset and stream audio from.
|
Package boxurl centralizes the agent-loopback URLs that the box's UPnP renderer fetches preset and stream audio from. |
|
boxwrites
Package boxwrites is the box-write ledger: a tiny counter of every write STR performs against the speaker's own firmware (AddPreset/RemovePreset key registrations, setMargeAccount re-onboardings, autonomous UPnP pushes), keyed by the box's playback source at write time.
|
Package boxwrites is the box-write ledger: a tiny counter of every write STR performs against the speaker's own firmware (AddPreset/RemovePreset key registrations, setMargeAccount re-onboardings, autonomous UPnP pushes), keyed by the box's playback source at write time. |
|
boxws
Package boxws connects to the Bose WebSocket notification stream on port 8080 (subprotocol "gabbo") and reacts to incoming events.
|
Package boxws connects to the Bose WebSocket notification stream on port 8080 (subprotocol "gabbo") and reacts to incoming events. |
|
clocksync
Package clocksync corrects an implausibly old system clock from a network HTTP Date header.
|
Package clocksync corrects an implausibly old system clock from a network HTTP Date header. |
|
dnsboot
Package dnsboot repairs a speaker that has no usable DNS resolver.
|
Package dnsboot repairs a speaker that has no usable DNS resolver. |
|
groupkeys
Package groupkeys puts a saved multiroom group on a thumbs key of the remote (#863): one press forms the group, the next press dissolves it.
|
Package groupkeys puts a saved multiroom group on a thumbs key of the remote (#863): one press forms the group, the next press dissolves it. |
|
hosts
Package hosts manipulates /etc/hosts at start and cleans it up again at stop.
|
Package hosts manipulates /etc/hosts at start and cleans it up again at stop. |
|
internet
Package internet keeps a small, passive verdict on whether this speaker can reach the public internet.
|
Package internet keeps a small, passive verdict on whether this speaker can reach the public internet. |
|
marge
Package marge emulates the Bose Marge server (streaming.bose.com).
|
Package marge emulates the Bose Marge server (streaming.bose.com). |
|
mdnshost
Package mdnshost answers mDNS address queries for exactly one name: the label STR gives this speaker.
|
Package mdnshost answers mDNS address queries for exactly one name: the label STR gives this speaker. |
|
mediaservers
Package mediaservers remembers which DLNA/UPnP media servers the user turned into native music sources on this box, so they are still there after a reboot.
|
Package mediaservers remembers which DLNA/UPnP media servers the user turned into native music sources on this box, so they are still there after a reboot. |
|
netutil
Package netutil provides shared low-level networking helpers for the STR agent.
|
Package netutil provides shared low-level networking helpers for the STR agent. |
|
oled
Package oled draws STR's own splash animation on the SoundTouch Portable's OLED panel: after a fresh install, after an update, on a box boot, and while an agent update is being received.
|
Package oled draws STR's own splash animation on the SoundTouch Portable's OLED panel: after a fresh install, after an update, on a box boot, and while an agent update is being received. |
|
presets
Package presets reads and writes the preset configuration on the USB stick.
|
Package presets reads and writes the preset configuration on the USB stick. |
|
recent
Package recent keeps a small, capped "recently played" history on the box for the desktop app's Recently-played view (#135), a cloud-free replacement for the SoundTouch app's Recently Played list.
|
Package recent keeps a small, capped "recently played" history on the box for the desktop app's Recently-played view (#135), a cloud-free replacement for the SoundTouch app's Recently Played list. |
|
region
Package region decides which country a speaker is in, for the features that depend on it: the US music services the firmware still carries (Pandora, iHeartRadio, docs/streaming/us-services.md).
|
Package region decides which country a speaker is in, for the features that depend on it: the US music services the firmware still carries (Pandora, iHeartRadio, docs/streaming/us-services.md). |
|
shepherd
Package shepherd integrates the STR agent into the Bose shepherdd watchdog on the SoundTouch box.
|
Package shepherd integrates the STR agent into the Bose shepherdd watchdog on the SoundTouch box. |
|
spotify
Package spotify runs go-librespot as a persistent Spotify Connect receiver on the speaker and exposes its audio so the box can play it over UPnP, the audio plane of the Spotify-preset feature (#78, P1).
|
Package spotify runs go-librespot as a persistent Spotify Connect receiver on the speaker and exposes its audio so the box can play it over UPnP, the audio plane of the Spotify-preset feature (#78, P1). |
|
streamproxy
Package streamproxy wraps third-party radio streams in a stable URL that Bose's UPnP player can no longer let go of.
|
Package streamproxy wraps third-party radio streams in a stable URL that Bose's UPnP player can no longer let go of. |
|
syscheck
Package syscheck logs a one-shot "STR system check" at agent startup: the box's kernel, CPU, memory, NAND headroom and whether the optional go-librespot Spotify sidecar is actually deployed.
|
Package syscheck logs a one-shot "STR system check" at agent startup: the box's kernel, CPU, memory, NAND headroom and whether the optional go-librespot Spotify sidecar is actually deployed. |
|
sysinfo
Package sysinfo reads system information from the running Linux kernel, in particular the network interfaces.
|
Package sysinfo reads system information from the running Linux kernel, in particular the network interfaces. |
|
tlsgen
Package tlsgen creates and manages the self-signed certificates for the TLS termination of the Bose cloud domains.
|
Package tlsgen creates and manages the self-signed certificates for the TLS termination of the Bose cloud domains. |
|
updatesig
Package updatesig signs and verifies the release index a speaker reads when it updates itself (no desktop app involved, idea #1091).
|
Package updatesig signs and verifies the release index a speaker reads when it updates itself (no desktop app involved, idea #1091). |
|
upnp
Package upnp is a minimal UPnP AVTransport control point.
|
Package upnp is a minimal UPnP AVTransport control point. |
|
webhooks
Package webhooks holds user-configured HTTP requests that STR fires when a box trigger occurs.
|
Package webhooks holds user-configured HTTP requests that STR fires when a box trigger occurs. |
|
webui
Package webui provides the config web interface on port 8888.
|
Package webui provides the config web interface on port 8888. |
|
wlanlive
Package wlanlive reads the live Wi-Fi association from the OS on wlan0/wlan1 (wpa_supplicant) boxes.
|
Package wlanlive reads the live Wi-Fi association from the OS on wlan0/wlan1 (wpa_supplicant) boxes. |
|
zones
Package zones persists this box's multiroom membership on NAND so a zone auto-reforms after a reboot, standby cycle or Wi-Fi outage, without the user re-grouping every day (the historical Bose SoundTouch pain point, #70).
|
Package zones persists this box's multiroom membership on NAND so a zone auto-reforms after a reboot, standby cycle or Wi-Fi outage, without the user re-grouping every day (the historical Bose SoundTouch pain point, #70). |
|
Package radiobrowser is a thin client for https://radio-browser.info, a community internet radio station database without an API key.
|
Package radiobrowser is a thin client for https://radio-browser.info, a community internet radio station database without an API key. |
|
Package sticksetup contains the Windows/Mac logic for provisioning a fresh SD stick: drive discovery, file copy, optional eject.
|
Package sticksetup contains the Windows/Mac logic for provisioning a fresh SD stick: drive discovery, file copy, optional eject. |
|
Package usbstick embeds the SD stick template files via go:embed.
|
Package usbstick embeds the SD stick template files via go:embed. |
|
Package wifiprofiles reads WLAN profiles from the host operating system so the desktop app can show a list of known SSIDs.
|
Package wifiprofiles reads WLAN profiles from the host operating system so the desktop app can show a list of known SSIDs. |
Click to show internal directories.
Click to hide internal directories.




