Blame | Last modification | View Log | Download
.\" generated with Ronn/v0.7.3.\" http://github.com/rtomayko/ronn/tree/0.7.3..TH "SPEEDTEST" "5" "July 2022" "Ookla" " Speedtest 1.2.0.84"..SH "NAME"\fBspeedtest\fR \- Speedtest CLI by Ookla is the official command line client for testing the speed and performance of your internet connection\...SH "SYNOPSIS"\fBspeedtest\fR [\fBhelp\fR] [\fB\-aAbBfhiIpPsv\fR] [\fB\-\-ca\-certificate=path\fR] [\fB\-\-format=\fR\fIformat\-type\fR] [\fB\-\-interface=interface\fR] [\fB\-\-ip=ip_address\fR] [\fB\-\-output\-header\fR] [\fB\-\-precision\fR=\fInum_decimal_places\fR] [\fB\-\-progress\fR=\fIyes|no\fR] [\fB\-\-selection\-details\fR] [\fB\-\-server\-id\fR=\fIid\fR] [\fB\-\-servers\fR] [\fB\-\-unit\fR=\fIunit\-of\-measure\fR] [\fB\-\-version\fR]..SH "DESCRIPTION"\fBspeedtest\fR is an application that measures the latency, jitter, packet loss, download bandwidth, and upload bandwidth of the network connection between the client and a nearby Speedtest Server\...SH "OPTIONS"..TP\fB\-h, \-\-help\fRPrint usage information..TP\fB\-v\fRLogging verbosity, specify multiple times for higher verbosity (e\.g\. \fB\-vvv\fR)..TP\fB\-V, \-\-version\fRPrint version number..TP\fB\-L, \-\-servers\fRList nearest servers..TP\fB\-\-selection\-details\fRShow server selection details..TP\fB\-s\fR \fIid\fR, \fB\-\-server\-id\fR=\fIid\fRSpecify a server from the server list using its id..TP\fB\-o\fR \fIhostname\fR, \fB\-\-host\fR=\fIhostname\fRSpecify a server from the server list using its hostname..TP\fB\-f\fR \fIformat_type\fR, \fB\-\-format\fR=\fIformat_type\fROutput format (default is \fIhuman\-readable\fR)\. See \fIOUTPUT FORMATS\fR below for details\...TP\fB\-\-progress\-update\-interval\fR=\fIinterval\fRProgress update interval (100\-1000 milliseconds)..TP\fB\-\-output\-header\fRShow output header for CSV and TSV formats..TP\fB\-u\fR \fIunit_of_measure\fR, \fB\-\-unit\fR=\fIunit_of_measure\fROutput unit for displaying speeds when using the \fIhuman\-readable\fR output format\. The default unit is Mbps\. See \fIUNITS OF MEASURE\fR for more details\...TP\fB\-a\fRShortcut for [\fB\-u\fR \fIauto\-decimal\-bits\fR]..TP\fB\-A\fRShortcut for [\fB\-u\fR \fIauto\-decimal\-bytes\fR]..TP\fB\-b\fRShortcut for [\fB\-u\fR \fIauto\-binary\-bits\fR]..TP\fB\-B\fRShortcut for [\fB\-u\fR \fIauto\-binary\-bytes\fR]..TP\fB\-P\fR \fIdecimal_places\fR, \fB\-\-precision\fR=\fIdecimal_places\fRNumber of decimal places to use (default = 2, valid = 0\-8)\. Only applicable to the \fIhuman\-readable\fR output format\...TP\fB\-p\fR \fIyes\fR|\fIno\fR, \fB\-\-progress\fR=\fIyes\fR|\fIno\fREnable or disable progress bar (default is \fIyes\fR when interactive)..TP\fB\-I\fR \fIinterface\fR, \fB\-\-interface\fR=\fIinterface\fRAttempt to bind to the specified interface when connecting to servers..TP\fB\-i\fR \fIip_address\fR, \fB\-\-ip\fR=\fIip_address\fRAttempt to bind to the specified IP address when connecting to servers..TP\fB\-\-ca\-certificate\fR=\fIpath\fRPath to CA Certificate bundle, see \fISSL CERTIFICATE LOCATIONS\fR below\...SH "OUTPUT FORMATS"These are the available output formats for Speedtest CLI specified with the \fB\-f\fR or \fB\-\-format\fR flags\. All machine readable formats (csv, tsv, json, jsonl, json\-pretty) use bytes for data sizes, bytes per seconds for speeds and milliseconds for durations\. They also always use maximum precision output\...TP\fBhuman\-readable\fRhuman readable output..TP\fBcsv\fRcomma separated values..TP\fBtsv\fRtab separated values..TP\fBjson\fRjavascript object notation (compact)..TP\fBjsonl\fRjavascript object notation (lines)..TP\fBjson\-pretty\fRjavascript object notation (pretty)..SH "UNITS OF MEASURE"For the human\-readable output format, you can specify the unit of measure to use\. The default unit is \fIMbps\fR\. The supported units are listed below\...PThese units do not apply to machine readable output formats (json, jsonl, csv and tsv)\...SS "Decimal options (multipliers of 1000)"..TP\fBbps\fRbits per second..TP\fBkbps\fRkilobits per second..TP\fBMbps\fRmegabits per second..TP\fBGbps\fRgigabits per second..TP\fBB/s\fRbytes per second..TP\fBkB/s\fRkilobytes per second..TP\fBMB/s\fRmegabytes per second..TP\fBGB/s\fRgigabytes per second..SS "Binary options (multipliers of 1024)"..TP\fBkibps\fRkibibits per second..TP\fBMibps\fRmebibits per second..TP\fBGibps\fRgibibits per second..TP\fBkiB/s\fRkibibytes per second..TP\fBMiB/s\fRmebibytes per second..TP\fBGiB/s\fRgibibytes per second..SS "Auto\-scaling options"Automatic units will scale the prefix depending on the measured speed\...TP\fBauto\-decimal\-bits\fRautomatic in decimal bits..TP\fBauto\-decimal\-bytes\fRautomatic in decimal bytes..TP\fBauto\-binary\-bits\fRautomatic in binary bits..TP\fBauto\-binary\-bytes\fRautomatic in binary bytes..SH "TERMS OF USE AND PRIVACY POLICY NOTICES"You may only use this Speedtest software and information generated from it for personal, non\-commercial use, through a command line interface on a personal computer\. Your use of this software is subject to the End User License Agreement, Terms of Use and Privacy Policy at these URLs:..IP "\(bu" 4\fIhttps://www\.speedtest\.net/about/eula\fR..IP "\(bu" 4\fIhttps://www\.speedtest\.net/about/terms\fR..IP "\(bu" 4\fIhttps://www\.speedtest\.net/about/privacy\fR..IP "" 0..SH "OUTPUT"Upon successful execution, the application will exit with an exit code of 0\. The result will include latency, jitter, download, upload, packet loss (where available), and a result URL\...PLatency and jitter will be represented in milliseconds\. Download and upload units will depend on the output format as well as if a unit was specified\. The human\-readable format defaults to Mbps and any machine\-readable formats (csv, tsv, json, jsonl, json\-pretty) use bytes as the unit of measure with max precision\. Packet loss is represented as a percentage, or \fBNot available\fR when packet loss is unavailable in the executing network environment\...PThe bytes per second measurements can be transformed into the human\-readable output format default unit of megabits (Mbps) by dividing the bytes per second value by 125,000\. For example:..P38404104 bytes per second = 38404104 / 125 = 307232\.832 kilobits per second = 307232\.832 / 1000 = 307\.232832 megabits per second..PThe value 125 is derived from 1000 / 8 as follows:..P1 byte = 8 bits 1 kilobit = 1000 bits..P38404104 bytes per second = 38404104 * 8 bits per byte = 307232832 bits per second = 307232832 / 1000 bits per kilobit = 307232\.832 kilobits per second..PThe Result URL is available to share your result, appending \fB\.png\fR to the Result URL will create a shareable result image\...P\fIExample human\-readable result:\fR..IP "" 4..nf$ speedtestSpeedtest by OoklaServer: SUNET \- Stockholm (id: 26852)ISP: Bahnhof ABIdle Latency: 5\.04 ms (jitter: 0\.04ms, low: 5\.01ms, high: 5\.07ms)Download: 968\.73 Mbps (data used: 117\.5 MB)12\.10 ms (jitter: 1\.71ms, low: 6\.71ms, high: 18\.82ms)Upload: 942\.13 Mbps (data used: 114\.8 MB)9\.94 ms (jitter: 1\.10ms, low: 5\.30ms, high: 12\.72ms)Packet Loss: 0\.0%Result URL: https://www\.speedtest\.net/result/c/d1c46724\-50a3\-4a59\-87ca\-ffc09ea014b2..fi..IP "" 0..SH "NETWORK TIMEOUT VALUES"By default, network requests set a timeout of \fB10\fR seconds\. The only exception to this is latency testing, which sets a timeout of \fB15\fR seconds\...SH "FATAL ERRORS"Upon fatal errors, the application will exit with a non\-zero exit code\...P\fBInitialization Fatal Error Examples:\fR..P\fIConfiguration \- Couldn\'t connect to server (Network is unreachable)\fR..P\fIConfiguration \- Could not retrieve or read configuration (ConfigurationError)\fR..P\fBStage Execution Fatal Error Example:\fR..P\fI[error] Error: [1] Latency test failed for HTTP\fR..P\fI[error] Error: [36] Cannot open socket: Operation now in progress\fR..P\fI[error] Failed to resolve host name\. Cancelling test suite\.\fR..P\fI[error] Host resolve failed: Exec format error\fR..P\fI[error] Cannot open socket: No route to host\fR..P\fI[error] Server Selection \- Failed to find a working test server\. (NoServers)\fR..SH "SSL CERTIFICATE LOCATIONS"By default the following paths are checked for CA certificate bundles on linux machines:..IP "" 4..nf/etc/ssl/certs/ca\-certificates\.crt/etc/pki/tls/certs/ca\-bundle\.crt/usr/share/ssl/certs/ca\-bundle\.crt/usr/local/share/certs/ca\-root\-nss\.crt/etc/ssl/cert\.pem..fi..IP "" 0..PIf the device under test does \fInot\fR have one of the above mentioned files, then the canonical and up to date CA certificate bundle provided by the curl project can be manually downloaded into a specific location\. This specific location can be provided as a parameter per the following example:..IP "" 4..nfwget https://curl\.se/ca/cacert\.pem\./ookla \-\-ca\-certificate=\./cacert\.pem..fi..IP "" 0..SH "RELEASE NOTES"..SS "1\.2\.0 (2022\-07\-27)"..IP "\(bu" 4Cleaned up formatting in human\-readable output for additional data within parenthesis (now using \fBlabel: value\fR consistently)..IP "\(bu" 4Compressed result upload data to reduce data usage..IP "\(bu" 4Added support for measuring responsiveness (latency during load)..IP "\(bu" 4Added experimental support for multi\-server testing..IP "\(bu" 4Updated third\-party dependencies: cURL 7\.83\.1, mbed TLS 3\.1\.0, Boost 1\.79\.0..IP "\(bu" 4Added stability improvements..IP "" 0..SS "1\.1\.1 (2021\-11\-15)"..IP "\(bu" 4Fixed issue with reported client version in uploaded results..IP "" 0..SS "1\.1\.0 (2021\-10\-27)"..IP "\(bu" 4Use server\-side upload measurements..IP "\(bu" 4Performance enhancement on upload tests for CPU constrained devices..IP "\(bu" 4Security enhancements..IP "\(bu" 4Fix for deadlock bug..IP "\(bu" 4Fix crash due to race condition..IP "\(bu" 4Fix crash in hostname resolution during test initialization..IP "\(bu" 4Fix potential buffer overflow..IP "\(bu" 4Update Boost to 1\.77\.0..IP "\(bu" 4Update mbed TLS to 2\.27\.0..IP "\(bu" 4Update cURL to 7\.78\.0..IP "" 0..SS "1\.0\.0 (2019\-10\-29)"..IP "\(bu" 4Initial release..IP "" 0..SH "COPYRIGHT NOTICES FOR THIRD\-PARTY PRODUCTS/LIBRARIES"This software incorporates free and open source third\-party libraries, including:..IP "\(bu" 4boost \fIhttps://www\.boost\.org/\fR..IP "\(bu" 4libcurl \fIhttps://curl\.haxx\.se/libcurl/\fR..IP "\(bu" 4petopt \fIhttps://www\.lysator\.liu\.se/~pen/petopt/\fR..IP "\(bu" 4mbed TLS \fIhttps://tls\.mbed\.org/\fR..IP "\(bu" 4ca\-certificates extract \fIhttps://curl\.haxx\.se/docs/caextract\.html\fR..IP "\(bu" 4L\. Peter Deutsch’s md5 \fIhttps://sourceforge\.net/projects/libmd5\-rfc/files/\fR..IP "\(bu" 4getopt\.h \fIin%20Windows%20version%20of%20this%20software\fR..IP "\(bu" 4tiny\-aes \fIhttps://github\.com/kokke/tiny\-AES\-c\fR..IP "\(bu" 4PicoSHA2 \fIhttps://github\.com/okdshin/PicoSHA2\fR..IP "\(bu" 4musl \fIhttps://www\.musl\-libc\.org/\fR..IP "" 0..PInclusion of mbed TLS is subject to presentation of the following license terms to recipients of this software: \fIhttp://www\.apache\.org/licenses/LICENSE\-2\.0\fR (a copy of which is included with the documentation of this software)..SS "Inclusion of libcurl is subject to distribution of the software with the following notice:"..nfCopyright (c) 1996 \- 2019, Daniel Stenberg, daniel@haxx\.se, and many contributors,see the THANKS file\. All rights reserved\. Permission to use, copy, modify, and distributethis software for any purpose with or without fee is hereby granted, provided thatthe above copyright notice and this permission notice appear in all copies\...fi..SS "Inclusion of getopt\.h is subject to distribution of the software with the following notice:"..nfDISCLAIMERThis file is part of the mingw\-w64 runtime package\.The mingw\-w64 runtime package and its code is distributed in the hope that itwill be useful but WITHOUT ANY WARRANTY\. ALL WARRANTIES, EXPRESSED ORIMPLIED ARE HEREBY DISCLAIMED\. This includes but is not limited towarranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\.Copyright (c) 2002 Todd C\. Miller <Todd\.Miller@courtesan\.com>Permission to use, copy, modify, and distribute this software for anypurpose with or without fee is hereby granted, provided that the abovecopyright notice and this permission notice appear in all copies\.Copyright (c) 2000 The NetBSD Foundation, Inc\.All rights reserved\.This code is derived from software contributed to The NetBSD Foundationby Dieter Baron and Thomas Klausner\.Redistribution and use in source and binary forms, with or withoutmodification, are permitted provided that the following conditionsare met:1\. Redistributions of source code must retain the above copyrightnotice, this list of conditions and the following disclaimer\.2\. Redistributions in binary form must reproduce the above copyrightnotice, this list of conditions and the following disclaimer in thedocumentation and/or other materials provided with the distribution\...fi..SS "Inclusion of PicoSHA2 is subject to distribution of the software with the following notice:"..nfCopyright (c) 2017 okdshinPermission is hereby granted, free of charge, to any person obtaining a copyof this software and associated documentation files (the "Software"), to dealin the Software without restriction, including without limitation the rightsto use, copy, modify, merge, publish, distribute, sublicense, and/or sellcopies of the Software, and to permit persons to whom the Software isfurnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included in allcopies or substantial portions of the Software\...fi..SS "Inclusion of musl is subject to distribution of the software with the following notice:"..nfCopyright © 2005\-2019 Rich Felker, et al\.Permission is hereby granted, free of charge, to any person obtaininga copy of this software and associated documentation files (the"Software"), to deal in the Software without restriction, includingwithout limitation the rights to use, copy, modify, merge, publish,distribute, sublicense, and/or sell copies of the Software, and topermit persons to whom the Software is furnished to do so, subject tothe following conditions:The above copyright notice and this permission notice shall beincluded in all copies or substantial portions of the Software\...fi