Internet Speed Test

A very simple macro that displays the up- and download speed of your Internet connection.

It runs a script and parses the output to a notification, showing…

  • Download speed
  • Upload speed
  • Current IP address
  • The used speedtest.net server
  • Ping time

So, it does the same thing as running a speed test in the web browser, but without any visual clutter.

Dependencies

The work is done by the speedtest-cli script. You can comfortably install it via Homebrew:

brew install speedtest-cli 

(Make sure Homebrew’s bin folder —usually /usr/local/bin— is in KM’s ENV_PATH variable.)

Internet Speed Test.kmmacros (2.8 KB)

2 Likes

I’ve used speedtest.net for years, and long ago learned how to filter out the clutter.
They provide a very nice service for free, and I suspect they depend (at least somewhat) on the ads that are displayed. So, if I have to put with a little noise to help fund them, I’m good with that.

I’m not speaking of ads. Compared to a tiny notification in the upper right corner of my screen, the sheer presence of a rendered web page is visual clutter.

Thanks for sharing this macro. It works great. I amended the Execute Shell Script to read:

/usr/local/bin/speedtest-cli

Is there a more efficient way to set the path so I don't have to add that with every script I run? Do I just create a variable named ENV_PATH in Preferences > Variables? How do I make sure the ENV_PATH is used?

SpeedTest.net also has a free Mac app that you can download from the Mac App Store. Works great, keeps a record of your tests, all with no clutter.

Exactly.

How do I make sure the ENV_PATH is used?

If it is spelled correctly ( ENV_PATH ) it will be used. Important thing is that the directory where the speedtest-cli program lives is included.

If installed via Homebrew, it should be in /usr/local/bin, but this is not obligatory.

To give an example, my ENV_PATH is like this:

~/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin

The directory paths are separated by a colon. The path that comes first has precedence. (In case you have it installed in multiple locations.)

1 Like