Live terminal + voice broadcast player.
Combines asciinema live terminal streams with Icecast audio into a unified broadcast experience.
- On load, fetches
/api/liveto discover the currently live asciinema stream - Connects to the stream's WebSocket for real-time terminal output
- If the stream has an
audio_url(or a default is configured), shows audio controls for the Icecast voice stream - No hardcoded stream tokens — everything is discovered dynamically
IICast reads window.IICAST_CONFIG from a companion config.js:
window.IICAST_CONFIG = {
asciinemaHost: "asciinema.example.com",
icecastUrl: "https://icecast.example.com/live.mp3",
icecastStatusUrl: "https://icecast.example.com/status-json.xsl"
};Deployed via Nix module at:
The deployment includes a small Python backend that queries the asciinema PostgreSQL database:
GET /api/live— Returns currently live stream(s) with public tokens, titles, and audio URLsGET /api/streams— Returns all streams
MIT