| Crates.io | wait-for-internet |
| lib.rs | wait-for-internet |
| version | 0.1.10 |
| created_at | 2022-12-17 04:28:17.758056+00 |
| updated_at | 2024-11-28 21:26:02.770917+00 |
| description | Command line utility that waits till you have an internet connection. |
| homepage | https://github.com/purarue/wait-for-internet |
| repository | https://github.com/purarue/wait-for-internet |
| max_upload_size | |
| id | 739648 |
| size | 14,289 |
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. it makes some request to some API, or sshes onto my server and runs 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)