Speedtest.net im Terminal /alternativ Download mit wget

Honk

Member
Speedtest.net im Terminal

speedtest.net gibt’s auch für die Kommandozeile und kann über Paketmanager installiert werden

speedtest-cli

und bietet folgende Argumente:

--bytes Display values in bytes instead of bits. Does not affect the image generated by --share
--share Generate and provide a URL to the speedtest.net share results image
--simple Suppress verbose output, only show basic information
--list Display a list of speedtest.net servers sorted by distance
--server SERVER Specify a server ID to test against
--mini MINI URL of the Speedtest Mini server
--source SOURCE Source IP address to bind to
--timeout TIMEOUT HTTP timeout in seconds. Default 10
--secure Use HTTPS instead of HTTP when communicating with speedtest.net operated servers


Nun gibt’s hier im Forum eine Anleitung für Speedtest im Browser die vorschlägt, einen bestimmten Server zu nutzen.
https://board.perfect-privacy.com/posts/18333

Nehmen wir aus der (aktuellen) Liste der Server speedtest-cli --list (dauert einige Sekunden) z.B. einen aus Frankfurt mit der ID 10010
speedtest-cli --server 10010

Nun kann man den Speedtest auch mit einem PP-IP-Check verbinden und das ganze in eine Datei schreiben, um später die Ergebisse vergleichen zu können.

curl https://checkip.perfect-privacy.com/csv >> ~/speed.log ; cat ~/linebreak >> ~/speed.log ; speedtest-cli --server 10010 >> ~/speed.log ; date +'%Y%m%d-%H%M%S' >> ~/speed.log ; echo --- >> ~/speed.log ; clear ; cat ~/speed.log


Der curl zeigt die IP des Exit-Nodes, das Ergebnis wandert in eine Logdatei (wird angelegt,wenn nicht vorhanden), fügt einen Zeilenumbruch in die Log ein, dann prüft Speedtest gegen den Frankfurter Server und schreibt die Ergebnisse ins Log, noch ein Zeitstempel und ein Trennstrich dazu, Terminalfenster leeren und Log anzeigen.
Die Datei „linebreak“ ist eine leere Plaintextdatei mit einmal Entertaste und das abspeichern.
Will man den Kram nicht auf alle Ewigkeit speichern, kann man die speed.log auch ins tmp-Verzeichnis schreiben, die dann beim nächsten Rechnerstart gelöscht wird, also statt ~/speed.log nimmt man /tmp/speed.log
SSH: Leider ist mir keine Möglichkeit bekannt, wir man mit Speedtest den SSH-Tunnel messen kann, ein Proxy-Schalter wäre fein.


Wenn nur die Downloadgeschwindigkeit interessant ist, kann man mit einem wget eine Datei runterladen. Dafür nutze ich den Frankfurter Server von Digitalocean (hostet auch für Youtube) http://speedtest-fra1.digitalocean.com/ , Test files: 5GB, 1GB, 100MB, 10MB, z.B.:

mit oder ohne VPN:
wget speedtest-fra1.digitalocean.com/10mb.test -O /tmp/10mb.test-vpn

im SSH-Tunnel:
wget -e use_proxy=yes -e https_proxy=http://127.0.0.1:5080 -e http_proxy=http://127.0.0.1:5080 -e ftp_proxy=http://127.0.0.1:5080 --show-progress speedtest-fra1.digitalocean.com/10mb.test -O /tmp/10mb.test-ssh
(Da nur eine http-Verbindung benötigt wird, kann man den https_proxy sowie den ftp_proxy auch weglassen).


Will man nur einen IP-Check [(W)Lan oder TAP] durchführen, dann mit
echo VPN exit node >> ~/ip.log ; curl https://checkip.perfect-privacy.com/csv >> ~/ip.log ; cat ~/linebreak >> ~/ip.log ; date +'%Y%m%d-%H%M%S' >> ~/ip.log ; echo --- >> ~/ip.log ; clear ; cat ~/ip.log

oder für SSH mit
echo SSH-IP >> ~/ip.log ; curl --proxy https://127.0.0.1:5080 https://checkip.perfect-privacy.com/csv >> ~/ip.log ; cat ~/linebreak >> ~/ip.log ; date +'%Y%m%d-%H%M%S' >> ~/ip.log ; echo --- >> ~/ip.log ; clear ; cat ~/ip.log

Und wie immer in solchen Fällen ruft die .bashrc Hallo. Hier nun einen Auszug aus meiner Datei.
Hinweis: die verwendeten „Kurzbefehle“ funktionieren auf meinem Rechner (Mint 18.3, Mate-Terminal).
Man sollte zuerst an der Konsole prüfen, ob der Wunsch- bzw. Kurzbefehl nicht bereits belegt ist:
$ leberwurst
leberwurst: command not found

Lautet die Antwort anders als command not found, wäre ein anderer Kurzbefehl zu wählen.

In die .bashrc (IPv4 bevorzugt):

Code:
alias wg='wget -4 --show-progress'
alias wgs='wget -4 -e use_proxy=yes -e https_proxy=http://127.0.0.1:5080 -e http_proxy=http://127.0.0.1:5080 -e ftp_proxy=http://127.0.0.1:5080 -–show-progress'
echo wg = wget / wgs = wget via SSH proxy

alias speed='curl -4 https://checkip.perfect-privacy.com/csv >> ~/speed.log ; cat ~/linebreak >> ~/speed.log ; speedtest-cli --server 10010 >> ~/speed.log ; date +'%Y%m%d-%H%M%S' >> ~/speed.log ; echo --- >> ~/speed.log ; clear ; cat ~/speed.log'
echo speed = Speedtest (W)LAN and TAP

alias ip='echo VPN exit node >> ~/ip.log ; curl -4 https://checkip.perfect-privacy.com/csv >> ~/ip.log ; cat ~/linebreak >> ~/ip.log ; date +'%Y%m%d-%H%M%S' >> ~/ip.log ; echo --- >> ~/ip.log ; clear ; cat ~/ip.log'
alias ipp='echo SSH-IP >> ~/ip.log ; curl -4 --proxy https://127.0.0.1:5080 https://checkip.perfect-privacy.com/csv >> ~/ip.log ; cat ~/linebreak >> ~/ip.log ; date +'%Y%m%d-%H%M%S' >> ~/ip.log ; echo --- >> ~/ip.log ; clear ; cat ~/ip.log
echo ip = IP address VPN exit node / ipp = IP address SSH tunnel

alias 10='wg speedtest-fra1.digitalocean.com/10mb.test -O /tmp/10mb.test-vpn'
alias 100='wg speedtest-fra1.digitalocean.com/100mb.test -O /tmp/100mb.test-vpn'
alias 1000='wg speedtest-fra1.digitalocean.com/1gb.test -O /tmp/1gb.test-vpn'
alias 10s='wgs speedtest-fra1.digitalocean.com/10mb.test -O /tmp/10mb.test-ssh'
alias 100s='wgs speedtest-fra1.digitalocean.com/100mb.test -O /tmp/100mb.test-ssh'
alias 1000s='wgs speedtest-fra1.digitalocean.com/1gb.test -O /tmp/1gb.test-ssh'
echo 10 100 1000 = download digitalocean VPN exit node / 10s 100s 1000s = download digitalocean via SSH
 
Last edited:
Top