Skip to content

Instantly share code, notes, and snippets.

@mbierman
Last active February 8, 2026 20:02
Show Gist options
  • Select an option

  • Save mbierman/9ac6a35622ee5a0c631ed6f6ad74b722 to your computer and use it in GitHub Desktop.

Select an option

Save mbierman/9ac6a35622ee5a0c631ed6f6ad74b722 to your computer and use it in GitHub Desktop.
Install Speedtest for firewalla
!/bin/bash
# 3.0
# https://gist.github.com/mbierman/9ac6a35622ee5a0c631ed6f6ad74b722
# Put this script in ~/.firewalla/config/post_main.d in order to resinstall after upgrades
dir=/data
log=/data/logs/fw_reboot.txt
if ! [ -w $log ] ; then
sudo touch $log
sudo chmod a+w $log
fi
app=speedtest
applocation=/usr/bin/$app
edate=$(date +'%a %b %d %H:%M:%S %Z %Y')
install () {
unalias apt-get 2>/dev/null || true
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash
sudo apt-get install -yq $app
echo -e "$edate $app instaleld!" | tee -a $log
}
install
@mbierman
Copy link
Author

mbierman commented Mar 27, 2021

Want to have speedtest cli on Firewalla Gold or Firewalla Purple? This will tell you how fast your internet connection is right on Firewalla (no wifi or Ethernet involved) see this for additional info on Firewalla installation.

see also this script if you want to run speedtest and log results.

Firewalla will remove anything installed after upgrades so you can install a script to reinstall for you after firewalla upgrades and possibly reboots.

Log in to firewalla with ssh. Then type:
cd ~/.firewalla/config/post_main.d/

if no directory is found

mkdir ~/.firewalla/config/post_main.d/
cd ~/.firewalla/config/post_main.d/

Then save this script and make it executable using vi or nano. For example
sudo vi install_speedtest.sh

Copy/Paste this script at https://gist.githubusercontent.com/mbierman/9ac6a35622ee5a0c631ed6f6ad74b722/raw/9beb6324ea23d7f8e0393cfaa6ded79427c60eea/install_speedtest.sh and save and close.

This should give you a file at ~/.firewalla/config/post_main.d/install_speedtest.sh

Then change permissions and run it.

sudo chmod a+x install_speedtest.sh
~/.firewalla/config/post_main.d/install_speedtest.sh

I adapted this to run on my Firewalla Gold because anything that gets installed may get wiped on reboot. So this checks if speedtest is installed and installs it if it isn’t found.

This will now run every time firewalla boots or upgrades. If speedtest isn’t found, it will be installed.

Then you can run speedtest.

speedtest --interface=eth0

Or

speedtest --interface=eth1

if you have dual WAN and want to test on Port 2

See also this script which will log your speedtests to a Google Sheet, a log file, or both.

@cstrat
Copy link

cstrat commented Mar 28, 2021

image

@cstrat
Copy link

cstrat commented Mar 29, 2021

Thanks for this script, I just installed it. Exactly what I needed, just hope they build it into the firewalla interface at some point 👍

@mbierman
Copy link
Author

You’re welcome! Glad you found it useful.

@mbierman
Copy link
Author

@chezdude2010
Copy link

Michael - I made some edits to the gist to add in automatic architecture detection and some cleanup on the unpacking portion. Let me know if you are interested in the edits and I can see about uploading them to the gist.

@mbierman
Copy link
Author

@chezdude2010 sure, great.

@mbierman
Copy link
Author

mbierman commented May 18, 2023

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment