Speedtest CLI. Run speedtest on pfSense box
-
That version seems to work fine for me from the FW even w/o --secure. Maybe check out your FW logs. Maybe you're blocking yourself.
[22.05-RELEASE][root@fw.workgroup]/root: pkg-static install py38-speedtest-cli Updating pfSense-core repository catalogue... pfSense-core repository is up to date. Updating pfSense repository catalogue... pfSense repository is up to date. All repositories are up to date. pkg-static: warning: database version 36 is newer than libpkg(3) version 35, but still compatible The following 1 package(s) will be affected (of 0 checked): New packages to be INSTALLED: py38-speedtest-cli: 2.1.3 [pfSense] Number of packages to be installed: 1 38 KiB to be downloaded. Proceed with this action? [y/N]: y [1/1] Fetching py38-speedtest-cli-2.1.3.pkg: 100% 38 KiB 39.0kB/s 00:01 Checking integrity... done (0 conflicting) [1/1] Installing py38-speedtest-cli-2.1.3... [1/1] Extracting py38-speedtest-cli-2.1.3: 100% [22.05-RELEASE][root@fw.workgroup]/root: rehash [22.05-RELEASE][root@fw.workgroup]/root: speedtest Retrieving speedtest.net configuration... Testing from Comcast Cable (73.111.129.66)... Retrieving speedtest.net server list... Selecting best server based on ping... Hosted by Windstream (Chicago, IL) [69.50 km]: 14.881 ms Testing download speed............................................................................... .Download: 81.45 Mbit/s Testing upload speed...................................................................................................... Upload: 12.02 Mbit/s [22.05-RELEASE][root@fw.workgroup]/root:
-
But can you ping things from pfSense where the script is running?
However if it fails to pull a list of servers it's probably not a ping problem.
-
Ping result from pfSense :
PING speedtest.net (151.101.194.219): 56 data bytes 64 bytes from 151.101.194.219: icmp_seq=0 ttl=60 time=3.154 ms 64 bytes from 151.101.194.219: icmp_seq=1 ttl=60 time=3.471 ms 64 bytes from 151.101.194.219: icmp_seq=2 ttl=60 time=2.920 ms --- speedtest.net ping statistics --- 3 packets transmitted, 3 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 2.920/3.182/3.471/0.226 ms
-
I still STRONGLY NOT RECOMMEND testing uplink speed by speedtest - nowadays MOST ISP creating special ACLs and ruleset for speedtest servers BOTH on aggregate level and on core level to “looks better than counterpart that You compare to”.
By other words, all speedtest results would be looks really great (hi speed, low latency, low jitter..) BUT all Your REAL traffic would be not so good. ;)
And another one important factor: most ISP make a little shaping (frequently on aggregate level than on core) to pay a little less for traffic ;) Depend on state and ISP this may be -7-15% of total uplink bandwidth. As a result You have 85-93% of bandwidth You pay for.
But NO ONE of sysadmins told You this truth... No any conspiracy, just business.
And I RECOMMEND TO CONFIGURE FREEBSD TCP/IP STACK TO USING QUICK ALGORITHM, because most of nowadays ISPs use QUICK on both aggregate and core level.
(Please read posts about QUIC on this forum) -
Can You send-me the tutorial to create the speedtest_cli.js?
-
@patrick-pesegodinski
Hi,
that files will be created and is only a property bag that is loaded when the widget is called.
Cheers -
@marco42 I don't understand your respost.
In the .zip no is included the speedtest-cli.js
-
speettest_cli.js
is a temporary file that is created byspeedtest.sh
. It's not supposed to be in the file. -
Hi,
Great script, il works well for me, but I ghave a little problem with speedtest.
I don't check every day the speed, and sometime it "stop" to work.
The reason is that speedtest don't send result because it s waiting that I accept the licence.
So i must connect with putty on my pfsence, start speedtest and validate licence:speedtest ============================================================================== Ookla collects certain data through Speedtest that may be considered personally identifiable, such as your IP address, unique device identifiers or location. Ookla believes it has a legitimate interest to share this data with internet providers, hardware manufacturers and industry regulators to help them understand and create a better and faster internet. For further information including how the data may be shared, where the data may be transferred and Ookla's contact details, please see our Privacy Policy at: http://www.speedtest.net/privacy ============================================================================== Do you accept the license? [type YES to accept]: YES License acceptance recorded. Continuing.
Do you now a solution to stop to ask me to accept licence every month (or something like this)?
-
@carbonejf did you install it?
Like:pkg install py37-speedtest-cli-2.1.3
-
@marco42 Sorry I did it a long time ago and I don't rememberhow I install it :(
I installed a package yes, but maybe not this one -
@carbonejf Maybe you update or uninstall/reinstall to get the latest version? That could help.
-
@marco42 I don't use this version, my speedtest is: Speedtest by Ookla 1.0.0.2 (5ae238b) FreeBSD 12.3-STABLE amd64
-
@carbonejf Ok, that one I don't know, sorry.
-
@icewraithuk how you import the "urllib2" in the pfsense?
I don't search for install.
-
@icewraithuk said in Speedtest CLI. Run speedtest on pfSense box:
myAPI="<your api="" key="" goes="" here,="" in="" the="" quotes="">"
baseURL = 'https://api.thingspeak.com/update?api_key=%s' % myAPI
print baseURL</your>The command "your' doens't work
-
@patrick-pesegodinski said in Speedtest CLI. Run speedtest on pfSense box:
myAPI="<your api="" key="" goes="" here,="" in="" the="" quotes="">"
myAPI="put_key_here"
PS - That post was the only one that user ever made, and besides it was about 6 years ago.
-
@provels said in Speedtest CLI. Run speedtest on pfSense box:
@patrick-pesegodinski said in Speedtest CLI. Run speedtest on pfSense box:
myAPI="<your api="" key="" goes="" here,="" in="" the="" quotes="">"
myAPI="put_key_here"
PS - That post was the only one that user ever made, and besides it was about 6 years ago.
I think the command for python 3.8 was changed. I connect with this command:
import urllib.request
baseURL = 'https://api.thingspeak.com/update?api_key=MY_KEY=0'
-
@patrick-pesegodinski said in Speedtest CLI. Run speedtest on pfSense box:
how you import the "urllib2" in the pfsense?
Here :
/usr/local/lib/python3.9/urllib
/usr/local/lib/python3.11/urllibIt's already there.
If it isn't, mention your pfSense version.
Then I'll tell you to upgrade ;)Install FreeBSD packages (not from Netgate) yourself on pfSense : that's not a good idea.
-
For modern pfSense, I just did this. (new download link also)
fetch -o speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
chmod +x speedtest-cliThen edit first line of speedtest-cli to the following.
#!/usr/bin/env python3.8
Should run at this point, no need to install extra dependency packages.
As Jim said, it might be slower than from a fast client device as pfSense is optimised for routing.
I got about 600 down on the cli, but then immediately did a test on my PC which got 954mbit down (gigabit connection). But I think having this as an option to help diagnose issues can be useful hence I installed it.