ddo / fast Goto Github PK
View Code? Open in Web Editor NEWMinimal zero-dependency utility for testing your internet download speed from terminal
License: MIT License
Minimal zero-dependency utility for testing your internet download speed from terminal
License: MIT License
Seems like it should not be dividing by 1000 to convert K to M, etc. These should be using powers of 2 (1024 divisor), no? Perhaps use bit shifts, ie Mbps = Kbps >> 10
, etc
the initial Kbps value however is also wrong, it will need the go-fast library to use powers of 2 also, it has the same issue
./fast --silent still outputs the connecting and spinning indicator.
and the 0k -m -g option also dont change the output.
this is for the linux version am64 running in Ubuntu 23
It is possible to have some more options (in addition to download speed) like:
And maybe a "simple output" option removing the spinner?
I'm trying to save the results on a .log file but this is what I get:
`�[2K -
�[2K \
�[2K |
�[2K /
�[2K -
�[2K \
�[2K |
�[2K /
�[2K -
�[2K \
�[2K |
�[2K /
�[2K -
�[2K \
�[2K |
�[2K /
�[2K -
�[2K \
�[2K |
�[2K /
�[2K -
�[2K \
�[2K |
�[2K /
�[2K -
�[2K \
�[2K |
�[2K /
�[2K -
�[2K \
�[2K |
�[2K /
�[2K -
�[2K \
�[2K |
�[2K /
�[2K -
�[2K \
�[2K |
�[2K /
�[2K -
�[2K \
�[2K |
�[2K / connecting
�[2K - connecting
�[2K \ connecting
�[2K | connecting
�[2K / connecting
�[2K - connecting
�[2K \ connecting
�[2K | connecting
�[2K / connecting
�[2K - connecting
�[2K \ connecting
�[2K | connecting
�[2K / connecting
�[2K - connecting
�[2K \ connecting
�[2K | connecting
�[2K / connecting
�[2K - connecting
�[2K \ connecting
�[2K | connecting
�[2K / connecting
�[2K - connecting
�[2K \ connecting
�[2K | connecting
�[2K / connecting
�[2K - connecting
�[2K \ connecting
�[2K | connecting
�[2K / connecting
�[2K - connecting
�[2K \ connecting
�[2K | connecting
�[2K / connecting
�[2K - connecting
�[2K \ connecting
�[2K | connecting
�[2K / connecting
�[2K - connecting
�[2K \ connecting
�[2K | connecting
�[2K / connecting
�[2K - connecting
�[2K \ connecting
�[2K | loading
�[2K / loading
�[2K - loading
�[2K \ loading
�[2K | loading
�[2K / loading
�[2K - loading
�[2K \ loading
�[2K | loading
�[2K / loading
�[2K - 0 Kbps
�[2K \ 0 Kbps
�[2K | 0 Kbps
�[2K / 0 Kbps
�[2K - 0 Kbps
�[2K \ 0 Kbps
�[2K | 0 Kbps
�[2K / 0 Kbps
�[2K - 0 Kbps
�[2K \ 0 Kbps
�[2K | 0 Kbps
�[2K / 0 Kbps
�[2K - 0 Kbps
�[2K \ 0 Kbps
�[2K | 0 Kbps
�[2K / 0 Kbps
�[2K - 0 Kbps
�[2K \ 0 Kbps
�[2K | 0 Kbps
�[2K / 0 Kbps
�[2K - 0 Kbps
�[2K \ 0 Kbps
�[2K | 0 Kbps
�[2K / 0 Kbps
�[2K - 0 Kbps
�[2K \ 0 Kbps
�[2K | 0 Kbps
�[2K / 0 Kbps
�[2K - 0 Kbps
�[2K \ 0 Kbps
�[2K | 0 Kbps
�[2K / 0 Kbps
�[2K - 0 Kbps
�[2K \ 0 Kbps
�[2K | 0 Kbps
�[2K / 0 Kbps
�[2K - 0 Kbps
�[2K \ 0 Kbps
�[2K | 0 Kbps
�[2K / 0 Kbps
�[2K - 8.81 Mbps
�[2K \ 8.81 Mbps
�[2K | 8.81 Mbps
�[2K / 8.81 Mbps
�[2K - 8.81 Mbps
�[2K \ 8.81 Mbps
�[2K | 8.81 Mbps
�[2K / 8.81 Mbps
�[2K - 8.81 Mbps
�[2K \ 8.81 Mbps
�[2K | 16.92 Mbps
�[2K / 16.92 Mbps
�[2K - 16.92 Mbps
�[2K \ 16.92 Mbps
�[2K | 16.92 Mbps
�[2K / 16.92 Mbps
�[2K - 16.92 Mbps
�[2K \ 16.92 Mbps
�[2K | 16.92 Mbps
�[2K / 16.92 Mbps
�[2K - 22.45 Mbps
�[2K \ 22.45 Mbps
�[2K | 22.45 Mbps
�[2K / 22.45 Mbps
�[2K - 22.45 Mbps
�[2K \ 22.45 Mbps
�[2K | 22.45 Mbps
�[2K / 22.45 Mbps
�[2K - 22.45 Mbps
�[2K \ 22.45 Mbps
�[2K | 26.44 Mbps
�[2K / 26.44 Mbps
�[2K - 26.44 Mbps
�[2K \ 26.44 Mbps
�[2K | 26.44 Mbps
�[2K / 26.44 Mbps
�[2K - 26.44 Mbps
�[2K \ 26.44 Mbps
�[2K | 26.44 Mbps
�[2K / 26.44 Mbps
�[2K - 30.41 Mbps
�[2K \ 30.41 Mbps
�[2K | 30.41 Mbps
�[2K / 30.41 Mbps
�[2K - 30.41 Mbps
�[2K \ 30.41 Mbps
�[2K | 30.41 Mbps
�[2K / 30.41 Mbps
�[2K - 30.41 Mbps
�[2K \ 30.41 Mbps
�[2K | 32.99 Mbps
�[2K / 32.99 Mbps
�[2K - 32.99 Mbps
�[2K \ 32.99 Mbps
�[2K | 32.99 Mbps
�[2K / 32.99 Mbps
�[2K - 32.99 Mbps
�[2K \ 32.99 Mbps
�[2K | 32.99 Mbps
�[2K / 32.99 Mbps
�[2K - 35.43 Mbps
�[2K \ 35.43 Mbps
�[2K | 35.43 Mbps
�[2K / 35.43 Mbps
�[2K - 35.43 Mbps
�[2K \ 35.43 Mbps
�[2K | 35.43 Mbps
�[2K / 35.43 Mbps
�[2K - 35.43 Mbps
�[2K \ 35.43 Mbps
�[2K | 37.59 Mbps
�[2K / 37.59 Mbps
�[2K - 37.59 Mbps
�[2K \ 37.59 Mbps
�[2K | 37.59 Mbps
�[2K / 37.59 Mbps
�[2K - 37.59 Mbps
�[2K \ 37.59 Mbps
�[2K | 37.59 Mbps
�[2K / 37.59 Mbps
�[2K - 39.46 Mbps
�[2K \ 39.46 Mbps
�[2K | 39.46 Mbps
�[2K / 39.46 Mbps
�[2K - 39.46 Mbps
�[2K \ 39.46 Mbps
�[2K | 39.46 Mbps
�[2K / 39.46 Mbps
�[2K - 39.46 Mbps
�[2K \ 39.46 Mbps
�[2K | 40.75 Mbps
�[2K / 40.75 Mbps
�[2K - 40.75 Mbps
�[2K \ 40.75 Mbps
�[2K | 40.75 Mbps
�[2K -> 40.75 Mbps
`
Thanks!
Performing a test via command line with the 64bit client I get speeds a lot slower than the website reports.
For example the last 3 command line tests gave results of:
188.97Mbps
170.52Mbps
178.37Mbps
Testing on the website straight after each test above I got:
280Mbps
290Mbps
290Mbps
Looks like you are reading/writing to the status variable concurrently from two different goroutines
Read:
Line 24 in cd978a0
Write:
Line 56 in cd978a0
You can use the race detector to help:
https://golang.org/doc/articles/race_detector.html#Introduction
$ fast
-> loading
Internet error. Please try again later
I have internet connection i can connect to internet but fast can't connect it was working before but not now.
I'm assuming what you are showing now is only down-speed.
I have different interfaces mapped to different gateways - is there some way to run the test on a non-default gateway?
It would be great if you added the option to choose the interface (or IP) the test should run on. This is useful when you have a host with multiple interfaces (e.g. one wifi and one wired) and you want to test speed on a specific interface.
This is lest important, but recently fast.com started giving upload speed as well, so it would be great to either make that the default or give the option to the user to choose if they want the upload speed as well.
Currently the snap of fast is only built for amd64. This package could be built and released automatically with https://build.snapcraft.io/. This would have benefit of producing builds for s390x, ppc64el, arm64, armhf, amd64, and i386 automatically on every commit to master. I was able to test this and it built successfully for all architectures.
This snap is very useful in a headless environment which is more common on non-amd64 architectures (I want to run this on my raspberry pi :D).
For this to work, the snap
directory would have to be moved to the root of repo so it could be found and the source
in the snapcraft.yaml would have to be changed to .
instead of ../../
. I could create a pr for these changes if you would like.
Is there an issue with fast? I'm seeing errors from various clients.
# Ubuntu 16.04
$ fast
internet error. please try again
# macOS
⇒ fast
internet error. please try again
It would be great if you added the option to output bare number. It will be very useful in some automation cases :)
The README says brew support is coming soon, however this repo was last updated 2 years ago. Any chance we could get this moved over? :)
Using fast_darwin_386
:
./fast
-bash: ./fast: Bad CPU type in executable
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.