Crates.io | wait-for-internet |
lib.rs | wait-for-internet |
version | 0.1.9 |
source | src |
created_at | 2022-12-17 04:28:17.758056 |
updated_at | 2023-03-07 02:57:00.568201 |
description | Command line utility that waits till you have an internet connection. |
homepage | https://github.com/seanbreckenridge/wait-for-internet |
repository | https://github.com/seanbreckenridge/wait-for-internet |
max_upload_size | |
id | 739648 |
size | 16,717 |
So that I don't mash Refresh on a web page while I'm waiting for my laptop to have a remote connection.
Command line utility that waits till you have an internet connection.
Usage: wait-for-internet [OPTIONS]
Options:
-t, --timeout <TIMEOUT> Exits if a successful connection is not made within <timeout> seconds
-q, --quiet Don't print any warning/log messages
-w, --wait-time <WAIT_TIME> Time to wait between failed requests [default: 1]
--text <TEXT> Text to display while waiting [default: ]
-h, --help Print help (see more with '--help')
-V, --version Print version
Exits successfully once it makes a successful request, see the online crate for which URLs/fullbacks it uses to check for a remote connection.
Install cargo, then:
cargo install wait-for-internet
In bash/shell scripts, I litter wait-for-internet
wherever I'm paranoid about not having an internet connection. If I have some script that runs in the background that needs an internet connection (e.g. to ssh
into my server and run some task), I run wait-for-internet
and the top, just to be safe.
On the command line:
On Mac, one can do something like:
wait-for-internet && afplay /System/Library/Sounds/Funk.aiff
... or:
wait-for-internet --text "(waiting for internet)" && say "You have internet"
I have an alias setup on my machine that plays the default 'message' sound and sends a notification:
alias wfi='wait-for-internet && notify-send "INTERNET" && mpv /usr/share/sounds/freedesktop/stereo/message.oga > /dev/null 2>&1'
Can also be used in situations to verify you have internet before calling some other command:
wait-for-internet && xdotool search --class "Firefox" key --window %@ "ctrl+r"
(refresh firefox after you have internet)
wait-for-internet && sudo apt update && sudo apt upgrade
wait-for-internet && speedtest-cli
wait-for-internet && ssh <somewhere>
wait-for-internet && fg
(resume some suspended task that requires internet)