A lightweight, cross-platform desktop radio player built with F# and .NET 10.0. Discover and listen to thousands of internet radio stations, manage your favorites, and never lose track of what you're listening to.
- Global Radio Discovery: Search for radio stations by name, country, or tag using the integrated RadioBrowser API.
- Smart Favorites: Add stations to your personal favorites list for instant access.
- Now Playing: See the current track title (via Icecast metadata) for supported stations.
- Listening History: Automatically keeps a log of all stations you've played.
- Modern, Native UI: A clean and responsive user interface built with Blazor and Fluent UI, running in a lightweight native window via Photino.
- Lightweight & Fast: No heavy Electron shell. The app is a small, fast .NET executable.
- Cross-Platform: Runs on Windows and Linux (maybe on macOS too, but I haven't had a chance to test it).
- .NET 10.0: The core runtime and framework.
- F#: The primary programming language.
- Photino.Blazor: A lightweight native window to host the Blazor UI.
- Fun.Blazor: A famous F#-first DSL for building Blazor UI components.
- fluentui-blazor: Microsoft's official Fluent UI Blazor components for a modern design.
- LiteDB: A serverless, embedded .NET NoSQL database for storing favorites.
-
Download the latest release from the Releases page. If you don't have .NET 10.0 Runtime runtime installed, use self-contained version
-
Unpack and run it.
-
Clone the repository:
git clone https://github.com/poimenov/RadioBrowser.git cd RadioBrowser -
Restore dependencies:
dotnet restore
-
Build the project:
dotnet build --configuration Release
Enjoy the tunes! 🎵
