Radio Live Lyrics – Standalone Free
Version 1.0.0

WHAT IT DOES
A self-contained PHP live-radio lyrics page for RadioBOSS. It provides Now Playing, Coming Up Next, playback progress, stream controls, synced/plain lyrics, local caching, local LRC/TXT uploads, configurable branding and a password-protected setup/admin page.

INSTALLATION
1. Upload the complete radio-live-lyrics-free folder to a PHP-enabled web server.
2. Ensure the data/ directory is writable by PHP.
3. Open /admin.php in your browser.
4. Complete first setup: station name, RadioBOSS API URL/password, public stream URL and an admin password.
5. Open /index.php for the public player.

SERVER REQUIREMENTS
- PHP 8.0+ recommended
- PHP SimpleXML
- PHP cURL strongly recommended
- HTTPS recommended for the public site
- Outbound HTTPS access to LRCLIB
- RadioBOSS HTTP API reachable from the web server

DATA DIRECTORY & SECURITY
The RadioBOSS password is stored server-side in data/config.php and is never sent to the visitor browser.

For Apache, the included data/.htaccess denies direct web access to the data directory.
For Nginx, add a server rule that denies /data/, or preferably set the environment variable RLL_DATA_DIR to a writable directory outside the public web root.

Example Nginx protection:
  location ^~ /radio-live-lyrics-free/data/ { deny all; }

If RLL_DATA_DIR is set, Radio Live Lyrics stores config, cache, diagnostics and local lyrics there instead of the included data/ directory.

LYRICS
- Local .lrc and .txt uploads have first priority.
- LRCLIB synced lyrics are preferred automatically.
- Plain lyrics can be used as fallback.
- Successful automatic results stay cached until you clear the cache.
- Negative results expire after the configured time.

RADIOBOSS
Use the RadioBOSS HTTP API base address and port. Do not append action=playbackinfo or the API password; the application adds these server-side.

TEASERS / SCHEDULER ITEMS
For non-music RadioBOSS items, the application can use CASTTITLE for the public display. This lets a configured scheduler task name such as COMING UP NEXT appear instead of an internal technical teaser payload.

COPYRIGHT NOTE
Lyrics are copyrighted works. Availability through an API or local file does not by itself grant public-display rights. The station/operator is responsible for checking the licensing and rights requirements that apply to its use and jurisdiction.

LICENSE
GPL-2.0-or-later for the application code. Third-party services and lyric content remain subject to their own terms and rights.
