CasterClub.com Updates
π CasterClub.com β Modern Webcasting Infrastructure
Version: 3.0.0-alpha
Last Updated: May 7, 2025
Maintainer: David Andrew St John
π§ Project Overview
CasterClub.com is the central hub for a suite of modern webcasting technologies, open protocols, and community platforms including:
- The CasterClub Web Player (HTML5/JS player for Icecast-compatible streams)
- The YP Directory Service (Icecast/Shoutcast-compatible listing engine)
- The ICY 2.0 Protocol Spec (a proposed enhancement of the legacy ICY metadata headers)
- A growing set of desktop and web tools for broadcasters, podcast syndication, and listener engagement.
π¦ Primary Modules
1. index.php
β Homepage & Navigation
- Serves as the landing UI for all primary functions.
- Integrates tabbed interfaces, live weather info, and modular loading of subpages.
- Modern design with collapsible side navigation and active-tab persistence.
2. players.php
/ player-readme.php
- Hosts and documents the CasterClub Web Player.
- Features real-time VU meters, song title polling, mount control, and browser compatibility layers.
- README is auto-parsed from
PLAYER_README.md
.
3. release-notes.php
- Displays project-wide changelog and documentation from:
README.md
(main site)
PLAYER_README.md
(Web Player)
YP_README.md
(YP Directory backend)
4. downloads.php
- Centralized download interface for project tools.
- Each tab represents a supported tool with a title, description, and file link.
- Products include:
- Castit 2025
- CasterControl
- StreamSync
- TagStack
- CasterClub Desktop Radio
π‘ ICY 2.0 Protocol (Proposed)
ICY 2.0 is a modernized metadata header spec expanding on SHOUTcast and Icecast conventions.
π§Ύ Key Features
- Support for
ice-meta-hashtag-array
, icy-meta-emoji
, and icy-meta-social-*
headers
- Secure token licensing:
icy-auth-token-key
, icy-token-authkey-list
- Compatibility flags for
live365
, hardware encoders, and podcast metadata
For complete details, see protocol-spec.php
.
π Technologies Used
Layer |
Stack |
Frontend |
HTML5, CSS3, Vanilla JS |
Backend |
PHP 8.x, Parsedown Markdown |
Protocols |
ICY, HTTP(S), JSON |
Directory Service |
Custom YP CGI-compatible API |
Hosting |
OVH Cloud (Apache + SSL) |
π Directory Layout
/
βββ index.php # Homepage shell
βββ header.php # Navigation & weather
βββ footer.php # FastSSL footer + timer
βββ release-notes.php # Site changelogs
βββ player-readme.php # Web player documentation
βββ downloads.php # Tool download interface
βββ directory.php # Station listing UI
βββ Parsedown.php # Markdown parser
βββ README.md # Main site-wide changelog
βββ PLAYER_README.md # Player-specific changelog
βββ YP_README.md # YP-specific changelog
βββ css/ # Static styles
βββ downloads/ # Downloadable ZIP packages
β
To Do / Roadmap
- [ ] Auto-authenticated WebSocket updates for YP directory
- [ ] OAuth2 / Token auth for broadcasters
- [ ] UI skin/theme selector
- [ ] Plugin API for user-submitted stations
- [ ] GitHub Actions CI for ZIP builds & README parsing
π§βπ» Contributors
Name |
Role |
David Andrew St John |
Founder, Lead DevOps, Architect |
Emily Jackson |
UI Testing & Content |
Sarah Collins |
Music Curator & QA |
Joel Allen (DJ Rock God) |
Community Manager |
π License
This project is currently distributed under a private internal license for development preview only.
A public open-source license will be announced upon the beta release. Redistribution prohibited without express permission.
π¬ Contact
For questions, proposals, or to contribute:
π§ Email: davestj@casterclub.com
π Website: https://www.casterclub.com
π Secured by: FastSSL Site Seal
Thank you for supporting independent radio, protocol innovation, and the future of webcasting.
Web Player Release Notes
π§ CasterClub WebPlayer
Version: 2.0.2b
Release Date: TODAY :)
π§ͺ Browser Compatibility
For the best experience on yp.casterclub.com, we recommend using the latest version of Firefox.
- β
Firefox β Best performance on macOS, Linux, and Windows
- π‘ Brave, Chrome, Vivaldi β Functional, but may have media autoplay or cross-origin restrictions
- π₯ Safari and Edge β May require additional permissions or settings for audio playback
Firefox provides the most consistent support for Icecast streaming, embedded HTML5 audio, and CORS handling across all major platforms.
π― Overview
The CasterClub WebPlayer is a modern HTML5 audio interface purpose-built for Icecast-based radio stream playback. It supports real-time VU metering, mount point selection, and fully dynamic status polling with song history and status logging, offering users a seamless broadcast experience in the browser.
π οΈ What's New in 2.0.2b
π Player Interface Enhancements
- Increased "Now Playing" status font to 16px, and the song title to 14px for visibility
- Improved VU meter stability by fixing
.vu-rms-value
container width
- Static decibel readout area prevents visual jitter in the bars
πΆ Song Title Streaming Fixes
- Polling interval to
status-json.xsl
increased from 5s β 13s to reduce load
- Improved song title detection: now only updates when a true title change is confirmed
- Fixed issue where previous songs reappeared due to polling race conditions
- Updated window title to reflect the currently playing title without flicker
π Song History Improvements
- Song history expanded to 15 songs per session
- Entries now show:
- Full timestamp in
d/m/Y - h:i:s AM/PM
format
- Bold timestamp, regular station + song
- Numbered list for readability
π§ Mount Selector Enhancements
- Each dropdown entry now shows:
- π’/π΄ Online/offline dot
- AutoDJ or Live
- Mount number + exact filename
- Format, bitrate, listener stats
- All entries reflect current mount accurately with no HTML-in-
<option>
issues
π Event Log Console
- Event Log tab now receives:
- Tab change logs
- Play/Pause/Stop/Volume/Reload events
- Song title change events
- Mount switch messages
- Unified timestamp format on all events
- One log tab per mount index (scoped correctly)
π§ Tab System Overhaul
- Fully tabbed layout below player:
- Status
- Server Information
- Station Details
- Song History
- Event Log
- Clean separation between data panes for clarity
π Compatibility & Proxy Issues
- SSL Certificate Issues: Some Icecast servers still use self-signed or expired SSL certs, causing playback failures or blocking in Chrome-based browsers. Firefox handles these more gracefully.
- CORS Problems: Older Icecast versions do not send proper
Access-Control-Allow-Origin
headers, which may prevent status polling, title updates, or mount switching from working in modern browsers.
- Cache Expiry Bypass: New updates ensure that polling requests include cache-busting parameters to bypass stale results, especially on long uptime servers.
- Proxy Requirements: To support strict HTTPS clients, backend NGINX or Apache servers should implement
proxy_pass
with rewritten headers and proxy_set_header
directives for Origin
, Host
, and Referer
.
- Forward Compatibility: Player is being prepped for integration with secure reverse proxies and certificate pinning methods to ensure reliable streaming even on Chrome, Safari, and Edge.
π Session Integration
- Stream metadata and song history are session-persistent
- PHP sessions initialized cleanly at top of script
- IcecastParser now supports session caching of parsed data
π Known Issues
- No full mobile responsiveness yet (planned in 2.0.3b)
- Mount detection via basename may fail for complex URL schemes
- Lyrics and album art support not yet implemented
π License
Private build under internal review. Not for public redistribution or embedding until production release.
YP Directory Release Notes
π‘ CasterClub YP Directory
Version: 1.1.1-alpha
Release Date: May 1, 2025
π§ Overview
CasterClub's YP Directory is a modern, community-driven streaming radio directory built to showcase thousands of live internet radio stations from around the world. Inspired by the legacy of SHOUTcast and Icecast directories, this project provides webcasters with a fast, customizable, and feature-rich platform for station discovery, promotion, and real-time stream insights.
This is the Alpha release of the projectβs frontend UI and search infrastructure, representing a major leap from basic stream listings to an immersive web interface.
π― What It Does
- π Aggregates and displays 13,000+ Icecast-compatible radio stations.
- π Offers dynamic search, genre filtering, bitrate & format sorting.
- π Real-time listener metrics, online/offline detection, and station reliability indicators.
- π§ Intuitive sorting by listeners, format, bitrate, uptime, and more.
- β‘ Interactive popup web players with real-time song updates.
- π‘ Live VU meters, stream stats, and station info modals per mount.
- π± Responsive and mobile-optimized (in-progress).
π οΈ Tech Stack
- PHP 8.x + modern object-oriented parsing for Icecast JSON
- AJAX polling of
/status-json.xsl
for dynamic song updates
- Session-based song history tracking
- Vanilla JavaScript for live DOM updates and event logs
- Pure CSS3 for responsive layout and styled UI (no frameworks)
- No external dependencies for max speed and security
β
Whatβs New in v1.1.1-alpha
π Unified Updates Across directory.php
and index.php
-
ποΈ Dynamic Sort Controls:
- Replaced legacy text links with fully styled
<button>
-based sort bar
- Interactive arrows (β²βΌ) for ascending/descending toggling
- Fields: Listeners, Bitrate, Name, Peak, Online, Reliability, Quality
-
π Pagination Styling:
- Button-style navigation with highlight on active page
- Jump-to-page inline form
- Unified visual language across top and bottom sections
-
π Enhanced Filter Controls:
- Dropdowns for genre, format, bitrate using consistent styling
- Auto-sync of recommended bitrate/format pairs
-
βοΈ Cache Busting:
- Web player popup URLs include cache-busting timestamps for freshness
-
π§ Directional Sort Logic:
- Server-side validation for
sort
and direction
params
- Fixed bug with undefined
$direction
in early sort rendering
-
π Filter Tips + Generation Stats:
- Pro tip block added above listings
- Gray-text styling matches lower player UI
- Page load generation timer display
-
π¨ Styling Enhancements:
- Improved button aesthetics (rounded, hover states)
- Consistent visual spacing and mobile padding
- Custom color palette: deep cyan + neon green + yellow accents
π Security and Performance
To protect integrity and performance:
- Input parameters are fully sanitized (
$_GET
inputs)
- No user-submitted content stored in this phase
- Session-based song tracking uses
$_SESSION
to avoid localStorage exposure
- Popup blocker detection + fallback handling
π§ͺ Upcoming Features
- Full station profile pages under
/wp.casterclub.com
- User accounts and favorites
- Dark mode toggle
- Optional WebSocket streaming updates
- Standalone JSON API for embeddable widgets
- Station embed preview + player customization tools
π License
This release is part of the CasterClub ecosystem. For now, this is an internal preview build under private license. Public license details will be provided in the beta release.
π Want to Contribute?
Feature requests, bug reports, and feedback are welcome via the upcoming CasterClub GitHub organization.