docs: Update HISTORY.md with v0.26.0 release notes
Added entries 58-61: - WebRadio LuCI & Lyrion Bridge UI - TURN Server LuCI Dashboard - WebRadio HTTPS Stream via HAProxy - Release v0.26.0 summary Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
6db547f7f8
commit
2ccc3ace25
@ -1,6 +1,6 @@
|
|||||||
# SecuBox UI & Theme History
|
# SecuBox UI & Theme History
|
||||||
|
|
||||||
_Last updated: 2026-02-20_
|
_Last updated: 2026-02-21_
|
||||||
|
|
||||||
1. **Unified Dashboard Refresh (2025-12-20)**
|
1. **Unified Dashboard Refresh (2025-12-20)**
|
||||||
- Dashboard received the "sh-page-header" layout, hero stats, and SecuNav top tabs.
|
- Dashboard received the "sh-page-header" layout, hero stats, and SecuNav top tabs.
|
||||||
@ -2847,3 +2847,84 @@ git checkout HEAD -- index.html
|
|||||||
- `secubox-app-turn/files/usr/sbin/turnctl`
|
- `secubox-app-turn/files/usr/sbin/turnctl`
|
||||||
- Modified:
|
- Modified:
|
||||||
- `secubox-app-jitsi/files/usr/sbin/jitsctl` — Added `setup-turn` command
|
- `secubox-app-jitsi/files/usr/sbin/jitsctl` — Added `setup-turn` command
|
||||||
|
|
||||||
|
58. **WebRadio LuCI & Lyrion Bridge UI (2026-02-21)**
|
||||||
|
- New `luci-app-webradio/view/webradio/lyrion.js` — Lyrion Stream Bridge dashboard.
|
||||||
|
- **Lyrion Bridge Tab Features**:
|
||||||
|
- Architecture diagram: Lyrion → Squeezelite → FIFO → FFmpeg → Icecast
|
||||||
|
- Live status cards: Lyrion online, Squeezelite running, FFmpeg encoding, Mount active
|
||||||
|
- Now Playing display with artist/title from Icecast metadata
|
||||||
|
- Listener count from Icecast stats
|
||||||
|
- Quick Setup: One-click pipeline configuration with Lyrion IP input
|
||||||
|
- Bridge Control: Start/Stop buttons for the streaming pipeline
|
||||||
|
- Stream URL: Direct link + embedded HTML5 audio player
|
||||||
|
- **RPCD Methods Added** (luci.webradio):
|
||||||
|
- `bridge_status` — Get Lyrion/Squeezelite/FFmpeg/Mount status
|
||||||
|
- `bridge_start` — Start streaming pipeline
|
||||||
|
- `bridge_stop` — Stop streaming pipeline
|
||||||
|
- `bridge_setup [lyrion_server]` — Configure full pipeline
|
||||||
|
- ACL updated: `luci-app-webradio.json` with bridge methods
|
||||||
|
- Menu updated: Added "Lyrion Bridge" tab (order 80)
|
||||||
|
- Files:
|
||||||
|
- `luci-app-webradio/htdocs/luci-static/resources/view/webradio/lyrion.js` (196 lines)
|
||||||
|
- Modified: `luci.webradio` RPCD handler, ACL, menu
|
||||||
|
|
||||||
|
59. **TURN Server LuCI Dashboard (2026-02-21)**
|
||||||
|
- New `luci-app-turn` package — Full TURN server management UI.
|
||||||
|
- **Overview Tab Features**:
|
||||||
|
- Status chips: Running/Stopped, Realm, Port
|
||||||
|
- Service Control: Start, Stop, Enable/Disable Autostart
|
||||||
|
- Port Status: UDP 3478, TCP 5349 with listening indicators
|
||||||
|
- External IP detection for STUN responses
|
||||||
|
- Jitsi Integration: One-click setup with domain inputs
|
||||||
|
- SSL & Expose: Certificate generation and DNS/firewall configuration
|
||||||
|
- Credential Generator: Time-limited TURN credentials (JSON output)
|
||||||
|
- Logs viewer: Real-time server logs
|
||||||
|
- **RPCD Handler** (luci.turn):
|
||||||
|
- `status` — Service and port status
|
||||||
|
- `start/stop/enable/disable` — Service control
|
||||||
|
- `setup_jitsi [jitsi_domain] [turn_domain]` — Jitsi configuration
|
||||||
|
- `ssl [domain]` — SSL certificate setup
|
||||||
|
- `expose [domain]` — DNS and firewall configuration
|
||||||
|
- `credentials [username] [ttl]` — Generate WebRTC credentials
|
||||||
|
- `logs [lines]` — Fetch server logs
|
||||||
|
- KISS UI pattern with inline CSS and dark mode support
|
||||||
|
- Files:
|
||||||
|
- `luci-app-turn/Makefile`
|
||||||
|
- `luci-app-turn/htdocs/luci-static/resources/view/turn/overview.js` (229 lines)
|
||||||
|
- `luci-app-turn/root/usr/libexec/rpcd/luci.turn` (shell RPCD handler)
|
||||||
|
- `luci-app-turn/root/usr/share/luci/menu.d/luci-app-turn.json`
|
||||||
|
- `luci-app-turn/root/usr/share/rpcd/acl.d/luci-app-turn.json`
|
||||||
|
|
||||||
|
60. **WebRadio HTTPS Stream via HAProxy (2026-02-21)**
|
||||||
|
- Configured `stream.gk2.secubox.in` for HTTPS audio streaming.
|
||||||
|
- **Problem Solved**: Mixed content blocking — HTTPS player cannot load HTTP audio.
|
||||||
|
- **HAProxy Configuration**:
|
||||||
|
- New backend `icecast_lyrion` with HTTP/1.1 forced (`proto=h1`, `http_reuse=never`)
|
||||||
|
- Vhost `stream.gk2.secubox.in` → Icecast port 8000 with WAF bypass
|
||||||
|
- Let's Encrypt SSL certificate via ACME webroot mode
|
||||||
|
- **Web Player Updated** (`/srv/webradio/player/index.html`):
|
||||||
|
- Stream URL: `https://stream.gk2.secubox.in/lyrion`
|
||||||
|
- Status JSON: `https://stream.gk2.secubox.in/status-json.xsl`
|
||||||
|
- Removes mixed content errors in browser
|
||||||
|
- **Portal Integration**: WebRadio added to SecuBox portal (Cloud & Media section)
|
||||||
|
- **Endpoints**:
|
||||||
|
- `https://radio.gk2.secubox.in/` — Web player interface
|
||||||
|
- `https://stream.gk2.secubox.in/lyrion` — HTTPS audio stream
|
||||||
|
- `https://stream.gk2.secubox.in/status-json.xsl` — Icecast metadata
|
||||||
|
|
||||||
|
61. **Release v0.26.0 (2026-02-21)**
|
||||||
|
- Tagged and pushed v0.26.0 with all WebRadio/TURN/Lyrion features.
|
||||||
|
- **New Packages**:
|
||||||
|
- `luci-app-webradio` — Web radio management + Lyrion bridge tab
|
||||||
|
- `luci-app-turn` — TURN/STUN server UI for WebRTC
|
||||||
|
- `secubox-app-lyrion-bridge` — Lyrion → Icecast streaming pipeline
|
||||||
|
- `secubox-app-squeezelite` — Virtual Squeezebox audio player
|
||||||
|
- `secubox-app-turn` — TURN server with Jitsi integration
|
||||||
|
- `secubox-app-webradio` — Icecast web radio server
|
||||||
|
- **Highlights**:
|
||||||
|
- HTTPS streaming via HAProxy (stream.gk2.secubox.in)
|
||||||
|
- Schedule-based programming with jingles
|
||||||
|
- CrowdSec security integration
|
||||||
|
- Time-limited TURN credentials for WebRTC
|
||||||
|
- 31 files changed, 3542 insertions
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user