Skip to content

ruslanlap/PowerToysRun-Radio

Repository files navigation

πŸ“» Radio Plugin for PowerToys Run

Radio Plugin Icon

Instant access to 30,000+ radio stations from around the world

Stop switching to your browser to find radio streams. Search and play radio stations directly from PowerToys Run β†’ Alt+Space β†’ radio london β†’ Done! ✨

Latest Release Total Downloads GitHub Stars Awesome PowerToys


🎯 Why You'll Love It

"Listen to your favorite radio stations without opening a browser"

❌ Before βœ… With Radio Plugin
Open browser β†’ Google β†’ Find radio β†’ Copy link β†’ Open player Alt+Space β†’ radio bbc β†’ Enter
30+ seconds, lost focus 2 seconds, no context switching

πŸš€ Quick Demo - Try it now

Alt+Space β†’ radio lviv              # πŸ‡ΊπŸ‡¦ Ukrainian stations
Alt+Space β†’ radio bbc               # 🌍 BBC Radio
Alt+Space β†’ radio jazz              # 🎡 Jazz stations
Alt+Space β†’ radio france            # πŸ‡«πŸ‡· French stations

πŸ“Έ How it looks

Radio Plugin Demo - Search Results

Search results with bitrate, codec, country, and tags


⬇️ Ready to boost your productivity?

Download x64 Download ARM64

🎨 Plugin Icons

The plugin automatically adapts to your PowerToys theme:

Light Theme Icon
β˜€οΈ Light Theme
Dark Theme Icon
πŸŒ™ Dark Theme

🧭 Table of Contents

πŸ“ Overview

Radio Plugin provides instant access to over 30,000 radio stations from around the world directly from PowerToys Run. Search stations by name, city, country, or genre without opening your browser. Get instant results with detailed informationβ€” all from Alt+Space β†’ radio your query.

  • Plugin ID: 0CF5D160821B4F01A24D08E459AF3DC8
  • Action Keyword: radio (customizable)
  • Platform: Windows 10/11 (x64, ARM64)
  • Tech: C#/.NET 9.0, Radio Browser API
  • Database: 30,000+ radio stations worldwide

⚑ Key Features


πŸ” Smart Search
Search by name, city,
country, or genre

🌍 30,000+ Stations
Radio stations from
all over the world

🎡 Multi-Format
Support for MP3, AAC, OGG,
FLAC and more

⚑ Lightning Fast
Automatic retry with
multiple API mirrors

πŸ“Š Rich Metadata
Bitrate, codec, country,
tags, and language

πŸ”’ Privacy First
No tracking, no data collection,
fully open source

πŸ“œ Changelog

v1.1.0

  • Code Refactoring: Improved code structure by separating query handling and context menu creation into dedicated classes (QueryHandler and ContextMenuFactory). This enhances maintainability and separation of concerns.
  • Build Process: Updated the release script (newtag.sh) to streamline the process of creating and rebuilding tags, making releases more reliable.
  • API Change: Made FavoriteService public to support the new refactored architecture.

v1.0.0

  • Initial release of the Radio plugin.
  • Core features include searching for radio stations, displaying results with metadata, and playing stations in the default media player.

Support Development β˜•

Buy me a coffee

πŸ“₯ Installation

Requirements

  • OS: Windows 10/11 (version 10.0.22621.0 or higher)
  • PowerToys: Version 0.93.0 or higher
  • Architecture: x64 or ARM64
  • Internet Connection: Required for searching stations
  • Media Player: Any player that supports streaming (VLC, Windows Media Player, etc.)

Installation Steps

  1. Download the plugin

    • Visit the latest release
    • Download the appropriate ZIP file for your system:
      • Radio-1.1.0-x64.zip for 64-bit Windows
      • Radio-1.1.0-ARM64.zip for ARM64 Windows
  2. Extract to PowerToys Run plugins directory

    Navigate to:

    %LOCALAPPDATA%\Microsoft\PowerToys\PowerToys Run\Plugins\
    

    Full path example:

    C:\Users\YourName\AppData\Local\Microsoft\PowerToys\PowerToys Run\Plugins\
    

    Extract the downloaded ZIP file here. You should have:

    Plugins\Radio\plugin.json
    Plugins\Radio\Community.PowerToys.Run.Plugin.Radio.dll
    Plugins\Radio\Images\...
    
  3. Restart PowerToys

    • Right-click on PowerToys icon in system tray
    • Select "Exit PowerToys"
    • Launch PowerToys again from Start menu
  4. Verify installation

    • Press Alt+Space to open PowerToys Run
    • Type radio test and press Enter
    • You should see the plugin prompt to search for radio stations

Uninstallation

To remove the plugin:

  1. Navigate to %LOCALAPPDATA%\Microsoft\PowerToys\PowerToys Run\Plugins\
  2. Delete the Radio folder
  3. Restart PowerToys

πŸƒβ€β™‚οΈ Quick Start in 60 Seconds

1️⃣ Download (15 seconds)

Choose your architecture from Latest Releases:

  • Radio-1.1.0-x64.zip
  • Radio-1.1.0-ARM64.zip

2️⃣ Extract to plugins directory (30 seconds)

%LOCALAPPDATA%\Microsoft\PowerToys\PowerToys Run\Plugins\Radio

Example:

C:\Users\YourName\AppData\Local\Microsoft\PowerToys\PowerToys Run\Plugins\Radio\

3️⃣ Restart PowerToys (15 seconds)

Right-click PowerToys icon β†’ Exit β†’ Launch from Start menu


πŸ’‘ Usage Examples

🎯 Search Like a Pro


🌍 By Country
radio ukraine
radio germany
radio france

πŸ™οΈ By City
radio london
radio paris
radio new york

πŸ“» By Station
radio bbc
radio npr
radio europa

🎡 By Genre
radio jazz
radio rock
radio classical

Full Examples:

# πŸ‡ΊπŸ‡¦ Ukrainian Radio Stations
radio lviv
radio kyiv
radio ukraine

# 🌍 By City
radio london
radio paris
radio new york
radio tokyo

# 🌐 By Country
radio germany
radio france
radio usa
radio poland

# πŸ“» By Station Name
radio bbc
radio npr
radio europa
radio classic fm

# 🎡 By Genre (in name)
radio jazz
radio rock
radio classical
radio news
radio folk

What makes a good query?

βœ… Good queries:

radio bbc world service
radio jazz stations
radio ukrainian music

❌ Avoid:

radio                # Too general (min 2 characters)
radio [very long text over 200 characters...]  # Too long

Actions on Results

  • Enter - Open station in default media player
  • Ctrl+C - Copy stream URL to clipboard
  • Right-click - Show context menu with options

πŸ§ͺ Tech Stack

  • Runtime: .NET 9.0 for Windows 10.0.22621.0+
  • API: Radio Browser API with multiple mirror support
  • Architecture: Service-oriented with Models/Services/Core separation
  • Logging: Comprehensive logging for diagnostics

πŸ“ Project Structure

Radio/
β”œβ”€β”€ Community.PowerToys.Run.Plugin.Radio/
β”‚   β”œβ”€β”€ Main.cs              # Plugin entry point
β”‚   β”œβ”€β”€ Core/
β”‚   β”‚   β”œβ”€β”€ Models/          # Data models (RadioStation, SearchQuery, etc.)
β”‚   β”‚   └── Services/        # API client, services
β”‚   β”œβ”€β”€ Logging/             # Logging infrastructure
β”‚   └── Images/              # Plugin icons
β”œβ”€β”€ Community.PowerToys.Run.Plugin.Radio.UnitTests/
β”‚   └── ...                  # Unit tests
└── plugin.json              # Plugin metadata

Want to contribute?

Contribute Issues


🌟 Community & Support

Support the Project ❀️

If this plugin saves you time, star the repository and share with other developers!

Star this repo Tweet about it


πŸ†˜ Troubleshooting

Plugin not showing up?
  • βœ… Check path: %LOCALAPPDATA%\Microsoft\PowerToys\PowerToys Run\Plugins\Radio
  • βœ… Check files: Ensure plugin.json and DLL files exist
  • βœ… Restart: Fully exit and restart PowerToys (don't just minimize)
  • βœ… Windows version: Requires Windows 10.0.22621.0 or higher
  • βœ… Enable plugin: PowerToys Settings β†’ PowerToys Run β†’ Plugins β†’ Radio (enabled)
No search results?
  • βœ… Internet: Check connection (required for API requests)
  • βœ… Query length: Ensure query is 2-200 characters
  • βœ… Keyword: Ensure you're using the radio prefix (or your custom one)
  • βœ… Wait: First search takes 2-3 seconds for API response
  • βœ… Try other terms: Use English city/country names
"All Mirrors Failed" error?
  • βœ… Check internet: Ensure connection is working
  • βœ… VPN: Temporarily disable VPN
  • βœ… Firewall: Check Windows Firewall settings
  • βœ… Wait: Servers might be temporarily unavailable
  • βœ… Logs: Check %LOCALAPPDATA%\Microsoft\PowerToys\PowerToys Run\Plugins\Radio\log.txt
Stations not playing?
  • βœ… Install media player: VLC, Windows Media Player, or other
  • βœ… Try different stations: Some might be offline
  • βœ… Copy URL: Right-click β†’ Copy URL β†’ Test in browser
  • βœ… Check format: Your player should support streaming audio

❓ FAQ

Does it work offline? No, an internet connection is required to search for stations since the plugin uses the Radio Browser API for network requests.
Can I change the activation keyword? Yes! PowerToys Settings β†’ PowerToys Run β†’ Plugins β†’ Radio β†’ Change "radio" to your preference (e.g., "r", "fm")
How many stations are available? Over 30,000 radio stations from around the world via Radio Browser API - a free, community-maintained database.
Can I copy the station URL? Yes! Press Ctrl+C or right-click on a result and select "Copy URL".
What audio formats are supported? MP3, AAC, OGG, FLAC, and more - depends on your media player's capabilities.
Does it support other languages? Yes! The plugin shows stations from around the world in various languages. The interface supports UTF-8.

πŸ”’ Security & Privacy

  • βœ… 100% local: All data stored on your machine
  • βœ… No tracking: Zero analytics or telemetry
  • βœ… Open source: Full code transparency
  • βœ… API only: Access only Radio Browser API
  • βœ… MIT License: Free to use for any purpose

Your data stays yours. No cloud sync, local logging only, complete privacy.


πŸ“„ License

Released under MIT License. Free to use for personal and commercial purposes.


πŸ™ Credits

Powered by amazing open-source projects:

Special thanks:

  • Radio Browser community for maintaining the station database
  • PowerToys team for the excellent plugin architecture
  • All contributors and users who help improve this plugin

πŸ“Š Statistics


30,000+
Radio Stations

200+
Countries

500+
Genres

100+
Languages

99.9%+
API Uptime

πŸš€ Ready to listen to radio with PowerToys?

Download Now

See also: πŸ“ Troubleshooting β€’ πŸ› Bug Reports

Made with ❀️ for the global community