Skip to content

ruslanlap/PowerToysRun-SpeedTest

Repository files navigation

PowerToys Run: SpeedTest Plugin

SpeedTest Icon

⚡ Run internet speed tests directly from PowerToys Run ⚡

Build Status Latest Release Maintenance C# .NET Version PRs Welcome GitHub stars GitHub issues GitHub all releases Made with Love Awesome Latest Release PowerToys Compatible Platform License Mentioned in Awesome PowerToys Run Plugins

📊 Download Statistics

Total Downloads Latest Release Downloads

📝 Overview

SpeedTest is a PowerToys Run plugin that lets you check your internet speed instantly from your keyboard. Just type spt in PowerToys Run and launch a test—no browser required!

  • Plugin ID: 5A0F7ED1D3F24B0A900732839D0E43DB
  • Action Keyword: spt or change to speedtest
  • Platform: Windows 10/11 (x64, ARM64)
  • Tech: C#/.NET, WPF, PowerToys Run API

✨ Features

  • ⚡ One-command internet speed test from PowerToys Run
  • 📊 Shows download, upload, ping, server info, and shareable result URL
  • 🖼️ Beautiful modern WPF UI with animated loading and real-time progress
  • 🎨 Classic "running dots" loading animation like Speedtest.net
  • 🎨 Theme-aware (dark/light icons, adapts to system theme)
  • 📋 Optional clipboard integration (configurable in settings)
  • 🎯 Enhanced UI with modern button styling
  • 🛡️ Improved stability and error handling
  • 🔧 Persistent user settings
  • 📝 Copy/share results instantly (optional)
  • 🛠️ Robust error handling and informative messages

🎬 Demo

SpeedTest Plugin Demo Presentation GIF

⚡ Installation

Prerequisites

  • Windows 10/11
  • PowerToys installed and running

Steps

  1. Download the appropriate ZIP file for your platform:

  2. Extract the ZIP file to your PowerToys plugins directory:

    %LOCALAPPDATA%\Microsoft\PowerToys\PowerToys Run\Plugins\
    
  3. Restart PowerToys completely:

    • Right-click PowerToys in system tray → Exit
    • Start PowerToys again
  4. Test the plugin:

    • Press Alt+Space to open PowerToys Run
    • Type spt and hit Enter
    • Configure clipboard settings in PowerToys settings if needed

🚀 Usage

  • Open PowerToys Run (Alt+Space)
  • Type spt and select Run Speed Test
  • Enjoy the beautiful loading animation and view real-time progress
  • Results window will flash when complete to get your attention
  • Configure clipboard settings in PowerToys settings
  • Click the result URL to view/share your result online

📢 What's New in v1.0.6

  • 🎨 Beautiful New Loading Animation - Classic "running dots" spinner like Speedtest.net
  • 📱 Enhanced User Interface - Improved window positioning and better text layout
  • ⚡ Window Flash Notification - Results window now flashes to grab attention when complete

🛠️ Building from Source

  • Requires .NET 6+ SDK and Windows 10/11
  • Clone the repo and open Templates.sln in Visual Studio
  • Build the SpeedTest project (x64 or ARM64)
  • Output: SpeedTest-x64.zip or SpeedTest-ARM64.zip in the root directory

📊 Project Structure

SpeedTest/
├── Community.PowerToys.Run.Plugin.SpeedTest/    # Plugin source code
├── data/                                       # Demo assets and icons
├── tests/                                      # Unit & integration tests
├── Publish/                                    # Build output
├── CHANGELOG.md                                # Version history
├── CONTRIBUTE.md                               # Contributing guidelines
├── RELEASE.md                                  # Release notes

❓ FAQ

How do I change the plugin's theme?

Theme adapts automatically to your system. Dark and light icons are included.

Where are my results stored?

Results are not stored persistently; you can copy or share them after each test.

How do I enable/disable clipboard copying?

Go to PowerToys settings, find the SpeedTest plugin section, and toggle the clipboard option.

Does it work offline?

No, an internet connection is required to run speed tests.

Can I choose a specific server?

Not yet, but server selection support is planned for future releases.

🛠️ Troubleshooting

  • Plugin does not appear in PowerToys Run
    Make sure you extracted the plugin to the correct folder and restarted PowerToys.
  • Icons do not update
    Try deleting the old plugin folder before copying the new version.
  • Speed test does not run
    Ensure you have an active internet connection and permission to run speedtest.exe.
  • Clipboard copying not working
    Check if clipboard copying is enabled in PowerToys settings.

🔒 Security & Privacy

  • The plugin does not store your test history
  • All tests are performed locally using the official speedtest CLI
  • No third-party APIs or data collection
  • Optional clipboard integration (disabled by default)

🧑‍💻 Tech Stack

  • C# / .NET 9.0
  • WPF (UI)
  • PowerToys Run API
  • GitHub Actions (CI/CD)
  • JSON for settings storage

🤝 Contributing

Contributions are welcome! Please read our Contributing Guide before submitting a pull request.

Contributors

📸 Screenshots

Demo: Running Speed Test Demo: Results Window Demo: Copy/Share Results

☕ Support

Enjoying SpeedTest? ☕ Buy me a coffee to support development:

Buy me a coffee

📄 License

MIT License. See LICENSE.

🙏 Acknowledgements


Made with ❤️ by ruslanlap