Speedtest+ is an enhanced internet speed-testing plugin for StreamController that uses the official Speedtest® CLI by Ookla®. It puts a complete result on a StreamController key, runs tests on demand or automatically, remembers server choices, keeps an optional CSV history, and opens the latest shareable result in your browser.
Disclaimer: This plugin is an independent, non-commercial open-source project. It is not affiliated with, maintained, authorized, sponsored, or endorsed by Ookla, LLC. Speedtest® and Ookla® are registered trademarks of Ookla, LLC.
Speedtest+ is an enhanced GPL-3.0 fork of the original StreamController Speedtest plugin by Core447.
- Official Speedtest® CLI by Ookla® measurement engine
- Ping, download speed, upload speed, and test time on one key
- Download and upload results displayed in decimal Mbps; ping displayed in ms
- Nearby server choices loaded through the official Ookla CLI, with filtering by location, provider, or server ID
- Automatic best-server selection or a remembered server for each action
- Manual tests with a short key press
- Latest Speedtest.net result opened with a long key hold
- Automatic tests every 5, 10, 15, 30, or 60 minutes
- An initial test after Linux starts when automatic testing is enabled
- Additional tests wait safely when another Speedtest+ action is already running
- Optional CSV history saved to a destination you choose
- Background testing that keeps StreamController responsive
- Colour-coded, automatically fitted key labels
- Linux
- StreamController 1.5.0-beta.16 or newer
- An internet connection
- Acceptance of Ookla's EULA, Terms of Use and Privacy Policy for personal, non-commercial use
The built-in installer supports x86_64/AMD64, ARM64/AArch64, ARMv7, ARMv6, and 32-bit x86 Linux systems.
Use these instructions to test Speedtest+ before it is available in the StreamController Store.
- Open the Speedtest+ GitHub repository.
- Select Code, then Download ZIP.
- Extract the downloaded ZIP file.
- Rename the extracted
StreamController-SpeedtestPlus-mainfolder tocom_larkum_SpeedtestPlus. - Copy that entire folder into StreamController's plugin directory.
For the Flatpak version of StreamController, the finished location must be:
~/.var/app/com.core447.StreamController/data/plugins/com_larkum_SpeedtestPlus
Make sure manifest.json is directly inside com_larkum_SpeedtestPlus; an extra nested folder will prevent StreamController from finding the plugin. Completely close and reopen StreamController after copying it, then add Speedtest+ → Speedtest+ to a key.
Alternatively, close StreamController and run:
git clone https://github.com/larkum/StreamController-SpeedtestPlus.git \
~/.var/app/com.core447.StreamController/data/plugins/com_larkum_SpeedtestPlusReopen StreamController when the download finishes. To update this Git installation later, close StreamController and run git pull inside the com_larkum_SpeedtestPlus folder.
If a previous manual copy is already installed, close StreamController and replace that plugin folder with the newly downloaded version. Your key settings are stored by StreamController and are separate from the plugin files.
- Open Settings → Plugins → Speedtest+ → Open Settings.
- Open the EULA, Terms, and Privacy links and read all three Ookla policies.
- If you agree and your use is personal and non-commercial, enable the policy-acceptance switch.
- Select Install beside Ookla CLI not installed.
- Add Speedtest+ → Speedtest+ to a key.
- Leave the server set to Auto-select the best server, choose a nearby server, or enter a known server ID.
- Briefly press the key to run your first test.
The policy choice and CLI installation are global and shared by every Speedtest+ action. Each action starts with a setup-status row and a Global Settings button, so incomplete setup is clearly identified and can be opened directly from the action panel.
Users upgrading from an earlier preview must review the expanded policy links and confirm the new acceptance switch once.
The installer downloads the official Speedtest CLI directly from Ookla, verifies the download, and keeps a private copy in your user data. It does not need an administrator password and does not modify the operating system. If the official CLI is already installed on the system, Speedtest+ can use it.
Automatic selection lets Ookla choose a suitable server. To choose from the nearby servers exposed by the official CLI:
- Optionally enter a location, provider, or server ID in Filter Ookla's nearby servers.
- Select the refresh button to load and filter Ookla's nearby-server list.
- Choose a server from Speedtest.net server.
The selection is remembered for that action. Choose Auto-select the best server to return to automatic selection. If you already know a Speedtest.net server ID, you can enter it in the advanced Specific server ID field.
Only the nearby choices supplied by Ookla are shown, so a distant location may not appear. If you know another valid Speedtest.net server ID, enter it directly in Specific server ID.
- Short press: run a new speed test.
- Long hold: open the latest shareable result on Speedtest.net in the default browser.
The key shows the test time, ping, download speed, and upload speed. Time and ping use light blue, download uses yellow, and upload uses red. Text automatically becomes smaller when needed to fit the key.
Before the first successful test, the key displays the Speedtest+ logo with Press to Run at the bottom.
Download and upload are always measured in Mbps. The unit is omitted from the key to leave more room for the result.
Use Automatic testing to select 5, 10, 15, 30, or 60 minutes. When enabled, Speedtest+ runs one initial test after each Linux system boot and then continues at the chosen interval.
Select Manual only to disable scheduled tests. A short press still starts a test at any time.
Automatic speed tests can use significant bandwidth, particularly on fast connections or short schedules. Choose an interval that suits your connection and data allowance.
Only one test runs at a time. If another manual or automatic test is requested while Ookla is busy, its key continues to show Testing… and the test starts automatically when the preceding test finishes.
You can change deck pages while a test is running. Speedtest+ saves the completed result without repainting an inactive page and displays it when you return.
Open Settings → Plugins → Speedtest+ → Open Settings, enable Save results to CSV, and choose the CSV file location folder. Speedtest+ creates files there when successful tests finish and appends each later result.
Enable Save each action to an individual CSV file to use each action's Action name as its filename. Location-based names make each file easy to identify—for example London.csv, Texas.csv, Paris.csv, Automated.csv, or London-automated.csv. When the option is disabled, every action appends to speedtest-results.csv in the selected folder. Each file can be imported into LibreOffice Calc, Google Sheets, or another spreadsheet application.
The CSV contains:
| Column | Description |
|---|---|
timestamp |
Date and time reported by the test |
ping_ms |
Ping latency in milliseconds |
download_mbps |
Download speed in decimal megabits per second |
upload_mbps |
Upload speed in decimal megabits per second |
server_id |
Speedtest.net server ID |
server_name |
Server provider or sponsor |
server_location |
Server city and country |
result_url |
Shareable Speedtest.net result link, when available |
engine |
Measurement engine used for the test |
Tests connect to Speedtest.net and the selected test server. Loading nearby servers uses the official Speedtest CLI. Ookla may collect data including IP address, device identifiers, and location as described in its Privacy Policy. If CSV logging is enabled, results are stored only in the local folder you select; Speedtest+ does not upload the CSV file.
- The key asks me to accept the policies: open Settings → Plugins → Speedtest+ → Open Settings, or use Global Settings at the top of the action panel.
- The CLI will not install: confirm the internet connection and that the processor is listed under Requirements, then try Install or Reinstall again.
- A server filter returns no results: clear the filter and refresh to see all nearby choices, or enter a known server ID manually.
- A remembered server stops working: select automatic server choice or search for another server; individual Speedtest.net servers can become unavailable.
- No CSV file appears: choose a writable CSV file location and make sure Save results to CSV is enabled in global plugin settings. Only successful tests are saved.
- A long hold does nothing: run a successful test first. Only valid HTTPS result links on Speedtest.net are opened.
Speedtest+ is licensed under GPL-3.0. The original StreamController Speedtest plugin was created by Core447; Speedtest+ enhancements and maintenance are by Larkum.
This plugin is an independent, non-commercial open-source project. It is not affiliated with, maintained, authorized, sponsored, or endorsed by Ookla, LLC. Speedtest® and Ookla® are registered trademarks of Ookla, LLC.
The plugin's original gauge-and-plus artwork does not copy Ookla's logo, and the plugin does not redistribute Ookla's proprietary executable.