Forked from Leon Straathof (repo doesn't seem to be maintained anymore)
- added option to select interface for speed test (@bastio84)
- added fix breaking pfsense js (@NetworkShark)
- added filter to only show WAN interfaces in interface selection
- added additional VPN interfaces (tun/tap/ovpn) as speedtest sources

- added easier way to download speedtest.widget.php via Releases (just need to klick on it for starting download)
- Speed test results moved to a separate file:
- added option to enter server-id manually

This new widget is made to replace a similar widget created in the past by Alon Noy. That widget however used the not official speedtest-cli that is no longer supported. The no longer supported version of speedtest-cli has a limitation that it can only list and connect 10 geographic choosen test servers which are in most cases never the best server for your tests. And also the test results are not the best when compared with the original speedtest-cli from speedtest.net.
-
Scroll down, click under "Install Options" on FreeBSD and find the URL of newest version
(for pfSense with FreeBSD 14/15 use the FreeBSD 13 version of cli) -
pfSense-main-menu-->Diagnotics-->Command Prompt-->Execute Shell Command:
(Use the URL found on the speedtest.net website and the FreeBSD version number in env ABI must match the version number in the URL)
There is a know conflict between the not offical speedtest-cli and the offical version from speedtest.net. You can not have both installed at the same time. See this reported issue: LeonStraathof#2
1.: env IGNORE_OSVERSION=yes pkg add --force "https://install.speedtest.net/app/cli/ookla-speedtest-1.2.0-freebsd13-x86_64.pkg"
2.: rehash
(Thanks to @ZeroDot1 for the instructions above)
- pfSense-main-menu-->Diagnotics-->Command Prompt-->Execute Shell Command:
speedtest --accept-license
- pfSense-main-menu-->Diagnotics-->Command Prompt-->Execute Shell Command:
speedtest --accept-gdpr
-
Download latest Release of the widget
-
pfSense-main-menu-->Diagnotics-->Command Prompt-->Upload File: speedtest.widget.php
-
pfSense-main-menu-->Diagnotics-->Command Prompt-->Execute Shell Command:
mv -f /tmp/speedtest.widget.php /usr/local/www/widgets/widgets/
- pfSense-main-menu:
Click on "+" right from "Available Widgets" and add the speedtest widget.

(don't forget to click "save" after that)
It is enough to remove the widget from the dashboard. After that, neither the widget nor the speedtest-cli will be triggered anymore.
If you want to delete the associated files completely from pfSense:
- pfSense-main-menu-->Diagnotics-->Command Prompt-->Execute Shell Command:
pkg info | grep speedtest
- pfSense-main-menu-->Diagnotics-->Command Prompt-->Execute Shell Command:
(use the package name found in the first step)
pkg delete -y speedtest-1.2.0.84-1.ea6b6773cf
-
pfSense-main-menu-->Status-->Dashboard:
Remove the speedtest widget. -
pfSense-main-menu-->Diagnotics-->Command Prompt-->Execute Shell Command:
rm -f /usr/local/www/widgets/widgets/speedtest.widget.php
Try to implement VPN interfaces as speedtest gateways

