Self-Hosted Local Radio Stream PHP App (Single File)

Summary:

Let me present to you, Local Radio Stream is a single-file PHP music streaming application for personal use. It stores song metadata in a MySQL database and media files in the /uploads directory. It provides playlist management, file uploads, playback controls, and real-time audio visualization—all within one index.php. The name “Local Radio Stream” is just a name and does not imply a continuously running FM-style broadcast.

Demo-Screenshot

:sparkles:Visit Dummy Demo

Description:

  • Single-file index.php implements PHP/MySQL backend and HTML5/JavaScript frontend.
  • MySQL database stores song metadata; /uploads/ holds cover art and audio files.
  • Dynamic playlist management, upload form, playback controls, and audio visualization integrated in one page.
  • No external dependencies; deploy by uploading index.php, creating the required MySQL database, and configuring the /uploads/ directory.
  • Known vulnerabilities include hardcoded credentials, minimal file validation, potential SQL injection, and XSS risks.
  • Ideal for personal testing on free PHP hosting (InfinityFree) and rapid prototyping.
  • Repository: https://github.com/druvx13/local-radio-stream

Forum Compliance: This post is placed in the appropriate Informal category and contributes constructive, on-topic content in accordance with InfinityFree’s community guidelines. All code and media shared are my original work and respect the “Post Only Your Own Stuff” policy. No infringing audio files or unauthorized downloads are promoted; all multimedia is strictly streamed per the Terms of Service.

Ownership Disclaimer: I confirm that the entire project at github.com/druvx13/local-radio-stream belongs to me and is released under the MIT license for personal, non-commercial use.

Thats an amazing project, and I’m going to have a proper look at it, because I’d really like to make my own “Local Radio” for my workshop.

The only thing I would say, is that you can’t host streaming services on Infinity Free (at least not with local files, you can embed streams from like youtube)

But for personal projects, not on Infinity Free, this is amazing

4 Likes

Sure , Go ahead analyse all you want. I also added demo in docs/demo.html , it doesn’t use any MySQL database but you have to add songs manually.

3 Likes

This is a really well written and documented project :slight_smile:

3 Likes

nice.

1 Like