bsncubed 7bbda0a1e8 Step 7.5a: Spotify client credentials in config/UI, write-only secrets
- Core config: cfg_mark_secret(group, key). GET /api/config returns ""
  for secret keys; a POST with "" keeps the stored value, null clears it;
  cfg_get() returns the real value. Documented in aes67-core-base.md.
- source.spotify_client_id / spotify_client_secret (secret write-only):
  each user's own Spotify developer app, needed by the maintained cspot
  fork (philippe44/cspot) since Spotify's 2025 API restrictions.
- UI: client ID field, password field for the secret ("leave empty to
  keep"), link to developer.spotify.com; enabled for spotify/auto modes.
- status.spotify_state: "no client credentials" while either is missing.
- Verified: secret never appears in GET; UI-style re-save keeps it;
  survives reboot; null clears it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 15:16:42 +10:00
2026-09-23 21:51:44 +10:00

aes67-ESP32-P4

AES67 sender for the Waveshare ESP32-P4-ETH (PoE): Spotify Connect and HLS/m3u8 streams out as an AES67 multicast stream, PTP-locked, with a simple web UI for settings and SDP export.

  • docs/aes67-core-base.md — reusable AES67 core design (PTP, RTP, SDP/SAP, VLAN, syslog, web UI contract)
  • docs/hardware-and-design-notes.md — board details and project-specific design
  • web/index.html — web UI (served by the device)
  • CLAUDE.md — working rules and build order

Status: design complete, firmware not started. See the build order in CLAUDE.md.

S
Description
No description provided
Readme GPL-3.0 1.1 MiB
Languages
C 74.9%
HTML 11.9%
C++ 7.7%
Python 3.3%
CMake 2.2%